
ElectricEye एक मल्टी-क्लाउड, मल्टी-सास Python CLI उपकरण है जो एसेट मैनेजमेंट, सुरक्षा आसन प्रबंधन और हमले की सतह की निगरानी के लिए है, जो सैकड़ों सेवाओं और मूल्यांकनों का समर्थन करता है ताकि आपके CSP और SaaS वातावरण को मजबूत किया जा सके, जिसमें 20 से अधिक उद्योग, नियामक और सर्वोत्तम अभ्यास नियंत्रण ढाँचों के साथ मैप किए गए नियंत्रण शामिल हैं।
ElectricEye एक मल्टी-क्लाउड, मल्टी-SaaS Python CLI टूल है जो एसेट मैनेजमेंट, सुरक्षा मुद्रा प्रबंधन (Security Posture Management) और अटैक सरफेस मॉनिटरिंग (Attack Surface Monitoring) के लिए है, जो 100 से अधिक सेवाओं और मूल्यांकनों का समर्थन करता है ताकि आपके CSP और SaaS वातावरण को मजबूत किया जा सके, जिसमें नियंत्रणों को 20 से अधिक उद्योग, नियामक और सर्वोत्तम अभ्यास नियंत्रण ढाँचों (frameworks) में मैप किया गया है।
यहाँ ऊपर अंतरिक्ष में
मैं तुम्हें नीचे देख रहा हूँ
मेरे लेज़र ट्रेस करते हैं
वह सब जो तुम करते हो
जुडास प्रीस्ट, 1982

ElectricEye एक Python CLI टूल है जो क्रॉस-अकाउंट, क्रॉस-रीजन, मल्टी-क्लाउड और SaaS एसेट मैनेजमेंट, सुरक्षा मुद्रा प्रबंधन, और अटैक सरफेस मॉनिटरिंग क्षमताएँ प्रदान करता है AWS, सभी पार्टीशन समर्थित!, GCP, Oracle Cloud Infrastructure (OCI), ServiceNow, Microsoft 365 Enterprise (M365), Salesforce (SFDC), और Azure पर।
ElectricEye 1000 से अधिक जाँचें प्रदान करता है जो सुरक्षा, लचीलापन, प्रदर्शन और वित्तीय सर्वोत्तम प्रथाओं के विरुद्ध 100 से अधिक CSP और SaaS सेवाओं में फैली हुई हैं, जिसमें वे सेवाएँ शामिल हैं जो CSP/SaaS-देशी एसेट प्रबंधन उपकरणों/दृश्यों या मुख्यधारा के CSPM और CNAPP उपकरणों द्वारा समर्थित नहीं हैं।
प्रत्येक जाँच को 20 से अधिक नियंत्रण ढाँचों में मैप किया गया है जो सामान्य सर्वोत्तम प्रथाओं, नियामक, उद्योग-विशिष्ट और कानूनी ढाँचों जैसे NIST CSF, AICPA TSCs (SOC 2 के लिए), HIPAA सुरक्षा नियम, NIST 800-171 Rev. 2, CMMC V2.0, यूरोपीय सेंट्रल बैंक का CROE अनुभाग 2, PCI-DSS V4.0, CIS फाउंडेशन बेंचमार्क, और अधिक को कवर करता है!
बहुआयामी अटैक सरफेस मॉनिटरिंग VirusTotal, Nmap, Shodan.io, Detect-Secrets, और CISA की KEV जैसे उपकरणों का उपयोग करती है ताकि इंटरनेट पर अनुक्रमित संपत्तियों का पता लगाया जा सके, खुली सेवाएँ खोजी जा सकें, शोषण योग्य कमज़ोरियाँ और आर्टिफैक्ट रिपॉजिटरी में दुर्भावनापूर्ण पैकेज ढूँढे जा सकें।
आउटपुट AWS Security Hub, Open Cyber Security Framework (OCSF) V1.1.0 JSON में, AWS DocumentDB, JSON, CSV, HTML रिपोर्ट, MongoDB, Amazon SQS, PostgreSQL, Slack (Slack App Bots के माध्यम से), और FireMon Cloud Defense में होते हैं।
ElectricEye की मुख्य अवधारणा ऑडिटर (Auditor) है, जो Python स्क्रिप्ट के सेट होते हैं जो प्रति सेवा जाँच (Checks) चलाते हैं, जो किसी विशिष्ट SaaS विक्रेता या पब्लिक क्लाउड सेवा प्रदाता के लिए समर्पित होता है जिसे आकलन लक्ष्य (Assessment Target) कहा जाता है। आप संपूर्ण आकलन लक्ष्य, एक विशिष्ट ऑडिटर, या ऑडिटर के अंतर्गत एक विशिष्ट जाँच चला सकते हैं। ElectricEye द्वारा मूल्यांकन पूरा करने के बाद, यह एक दर्जन से अधिक प्रकार के आउटपुट का समर्थन करता है, जो HTML कार्यकारी रिपोर्ट से लेकर AWS DocumentDB क्लस्टर तक हो सकते हैं—आप अपनी आवश्यकता के अनुसार एकाधिक आउटपुट चला सकते हैं।
ElectricEye अन्य उपकरणों का भी उपयोग करता है जैसे Shodan.io, Yelp का detect-secrets, VirusTotal, संयुक्त राज्य साइबर और बुनियादी ढाँचा सुरक्षा एजेंसी (CISA) का ज्ञात शोषित कमज़ोरियाँ (KEV) कैटलॉग, और NMAP अपनी जाँचों को पूरा करने और उनके निष्कर्षों को समृद्ध करने के लिए।
पहले, इस रिपॉजिटरी को क्लोन करें और pip3 का उपयोग करके आवश्यकताओं को स्थापित करें: pip3 install -r requirements.txt।
यदि आप अपने स्थानीय AWS खाते के अलावा किसी अन्य चीज़ का मूल्यांकन कर रहे हैं, तो ElectricEye/eeauditor/external_providers.toml में स्थित TOML कॉन्फ़िगरेशन को संशोधित करें, या --toml-path के साथ अपने स्वयं के पथ प्रदान करें। TOML फ़ाइल मल्टी-अकाउंट, मल्टी-रीजन, क्रेडेंशियल और आउटपुट विशिष्टताओं को निर्दिष्ट करती है।
अंत में, विभिन्न जाँचों, ऑडिटरों, आकलन लक्ष्यों और आउटपुटों के बारे में जानने के लिए कंट्रोलर चलाएँ।``` python3 eeauditor/controller.py --help Usage: controller.py [OPTIONS]
Options: -t, --target-provider [AWS|Azure|OCI|GCP|Servicenow|M365|Salesforce|Snowflake] Public cloud or SaaS assessment target, ensure that any -a or -c arg maps to your target provider to avoid any errors. e.g., -t AWS -a Amazon_APGIW_Auditor -a, --auditor-name TEXT Specify which Auditor you want to run by using its name NOT INCLUDING .py. . Use the --list-checks arg to receive a list. Defaults to ALL Auditors -c, --check-name TEXT A specific Check in a specific Auditor you want to run, this correlates to the function name. Use the --list-checks arg to receive a list. Defaults to ALL Checks -d, --delay INTEGER Time in seconds to sleep between Auditors being ran, defaults to 0. Use this argument to avoid rate limiting -o, --outputs TEXT A list of Outputs (files, APIs, databases, ChatOps) to send ElectricEye Findings, specify multiple with additional arguments: -o csv -o postgresql -o slack [default: ocsf_stdout] -of, --output-file TEXT For file outputs such as JSON and CSV, the name of the file, DO NOT SPECIFY .file_type [default: output] -lo, --list-options Lists all valid Output options -lch, --list-checks Prints a table of Auditors, Checks, and Check descriptions to stdout - use this command for help with populating -a (Auditor selection) or -c (Check selection) args -lco, --list-controls Lists all ElectricEye controls - that is to say: the Check Titles - for an Assessment Target -tp, --toml-path TEXT The full path to the TOML file used for configure e.g., ~/path/to/mydir/external_providers.toml. If this value is not provided the default path of ElectricEye/eeauditor/external_providers. toml is used. --help Show this message and exit.
अधिक जानकारी के लिए [यहाँ](#configuring-electriceye) देखें, आप [FAQ यहाँ](https://github.com/jonrau1/electriceye/blob/HEAD/docs/faq/FAQ.md) पढ़ सकते हैं, [आउटपुट की जानकारी यहाँ](https://github.com/jonrau1/electriceye/blob/HEAD/docs/outputs/OUTPUTS.md) है, या यदि आप नियंत्रण प्रवाह और अवधारणाओं का गहन विश्लेषण चाहते हैं तो [डेवलपर गाइड](https://github.com/jonrau1/electriceye/blob/HEAD/docs/new_checks/DEVELOPER_GUIDE.md) देखें।
## ElectricEye को कॉन्फ़िगर करना
प्रति-CSP या प्रति-SaaS सेटअप निर्देशों के लिए उप-शीर्षक देखें। आउटपुट और उदाहरणों के बारे में जानने के लिए [आउटपुट](https://github.com/jonrau1/electriceye/blob/HEAD/docs/outputs/OUTPUTS.md) पर जाएं।
### सार्वजनिक क्लाउड सेवा प्रदाता
- [Amazon Web Services (AWS) के लिए](https://github.com/jonrau1/electriceye/blob/HEAD/docs/setup/Setup_AWS.md)
- [Google Cloud Platform (GCP) के लिए](https://github.com/jonrau1/electriceye/blob/HEAD/docs/setup/Setup_GCP.md)
- [Oracle Cloud Infrastructure के लिए](https://github.com/jonrau1/electriceye/blob/HEAD/docs/setup/Setup_OCI.md)
- [Microsoft Azure के लिए](https://github.com/jonrau1/electriceye/blob/HEAD/docs/setup/Setup_Azure.md)
निम्नलिखित क्लाउड सेवा प्रदाता रोडमैप पर हैं
- [Alibaba Cloud के लिए (*जल्द ही आ रहा है*)](https://github.com/jonrau1/electriceye/blob/HEAD/docs/setup/Setup_AlibabaCloud.md)
### सॉफ़्टवेयर-एज़-ए-सर्विस (SaaS) प्रदाता
- [ServiceNow के लिए](https://github.com/jonrau1/electriceye/blob/HEAD/docs/setup/Setup_ServiceNow.md)
- [Microsoft M365 के लिए](https://github.com/jonrau1/electriceye/blob/HEAD/docs/setup/Setup_M365.md)
- [Salesforce के लिए](https://github.com/jonrau1/electriceye/blob/HEAD/docs/setup/Setup_Salesforce.md)
- [Snowflake के लिए](https://github.com/jonrau1/electriceye/blob/HEAD/docs/setup/Setup_Snowflake.md)
निम्नलिखित SaaS प्रदाता रोडमैप पर हैं
- [Google Workspaces के लिए (*जल्द ही आ रहा है*)](https://github.com/jonrau1/electriceye/blob/HEAD/docs/setup/Setup_Google_Workspaces.md)
## क्लाउड एसेट मैनेजमेंट (CAM)
ElectricEye के CAM संचालन अवधारणा और स्कीमा के बारे में अधिक जानकारी के लिए, [एसेट मैनेजमेंट दस्तावेज़ीकरण](https://github.com/jonrau1/electriceye/blob/HEAD/docs/asset_management/ASSET_MANAGEMENT.md) देखें।
## समर्थित सेवाएँ और जाँच
कुल मिलाकर हैं:
- **4** समर्थित सार्वजनिक CSP: `AWS`, `GCP`, `OCI`, और `Azure`
- **4** समर्थित SaaS प्रदाता: `ServiceNow`, `M365`, `Salesforce`, और `Snowflake`
- **1196** ElectricEye जाँच
- **179** सभी सेवाओं में समर्थित CSP और SaaS एसेट घटक
- **135** ElectricEye ऑडिटर
समर्थित सेवाओं और जाँचों की तालिकाओं को ऊपर [ElectricEye को कॉन्फ़िगर करना](#configuring-electriceye) में लिंक किए गए प्रति-प्रदाता सेटअप दस्तावेज़ीकरण में स्थानांतरित कर दिया गया है।
## Docker पर ElectricEye
अपने वातावरण के लिए ElectricEye को [TOML कॉन्फ़िगरेशन](https://github.com/jonrau1/electriceye/blob/HEAD/eeauditor/external_providers.toml) का उपयोग करके कॉन्फ़िगर करने के बाद, आप ElectricEye चलाने के लिए Docker का उपयोग कर सकते हैं जिसके इमेज ECR Public, Oracle Cloud Container Registry (OCR), और Docker Hub पर बनाए रखे जाते हैं। आप सुरक्षा आश्वासन गतिविधियों के बारे में [यहाँ](#repository-security) अधिक पढ़ सकते हैं, भविष्य में अधिक रजिस्ट्री और इमेज हस्ताक्षर का उपयोग किया जाएगा।
### इमेज बनाना
यदि आप अपनी खुद की इमेज बनाना चाहते हैं तो निम्नलिखित कमांड का उपयोग करें। यदि आपके सिस्टम में `docker` उपयोगकर्ता ठीक से सेट नहीं है तो `sudo` जोड़ना सुनिश्चित करें।```bash
git clone https://github.com/jonrau1/ElectricEye.git
cd ElectricEye
docker build -t electriceye:local .
यहाँ से आप अपनी पसंद के रिपॉजिटरी में पुश कर सकते हैं, टैग को local से बदलना सुनिश्चित करें, जो भी टैग आपका रिपॉजिटरी अपेक्षा करता है या आप चाहें। शायद बस latest, जैसे कोई डेकाबिलियनेयर सिग्मा ग्राइंडसेट गिगाचाड?
आप विभिन्न रिपॉजिटरीज से ElectricEye इमेज भी खींच सकते हैं, एक latest इमेज टैग हमेशा SHA हैश ${{ github.sha }} वर्कफ़्लो वाली इमेज के साथ पुश किया जाएगा और इसे विभिन्न GitHub Action Workflows के Print Image चरण में देखा जा सकता है।
विभिन्न रिपॉजिटरीज से पुल करने के लिए, इन कमांड्स का उपयोग करें, आप latest को अपनी सुविधानुसार बदल सकते हैं। जब तक कोई नया क्लाउड या बड़ा इंटीग्रेशन नहीं जोड़ा जाता, ElectricEye के अंदर निर्भरताएँ अपेक्षाकृत स्थिर रहती हैं। अधिक जानकारी के लिए Pull Requests जाँचें।
Amazon Elastic Container Registry (ECR) Public: docker pull public.ecr.aws/t4o3u7t2/electriceye:latest
Oracle Cloud Infrastructure Registry (OCIR): docker pull iad.ocir.io/idudmagprsdi/electriceye:latest
Docker Hub: docker pull electriceye/electriceye
AWS क्रेडेंशियल स्टोर्स जैसे AWS Systems Manager, AWS Secrets Manager और आउटपुट जैसे AWS Security और aws_electric_eye_iam_role_name TOML पैरामीटर में निर्दिष्ट भूमिका में भूमिका ग्रहण के लिए इंटरैक्ट करते समय, ElectricEye आपके वर्तमान (डिफ़ॉल्ट) Boto3 सत्र का उपयोग करता है जो आपके क्रेडेंशियल्स से प्राप्त होता है।
ElectricEye को AWS इन्फ्रास्ट्रक्चर से चलाना जिसमें एक संलग्न भूमिका है, या aws cli क्रेडेंशियल्स पहले से इंस्टेंटिएटेड स्थान से चलाना, यह पारदर्शी रूप से संभाला जाता है।
Docker का उपयोग करते समय, आपको कंटेनर में सीधे पर्यावरण चर प्रदान करने की आवश्यकता होगी।
सुनिश्चित करें कि यदि आप AWS SSM (ssm:GetParameter), AWS Secrets Manager (secretsmanager:GetSecretValue), AWS Security Hub (securityhub:BatchImportFindings), Amazon SQS (sqs:SendMessage), और/या Amazon DynamoDB (dynamodb:PutItem) का उपयोग क्रेडेंशियल्स और आउटपुट के लिए करेंगे तो आपके पास उचित अनुमतियाँ हैं! आपको संभवतः kms:Decrypt की भी आवश्यकता होगी यदि आप अपने सीक्रेट्स/पैरामीटर्स एन्क्रिप्शन के लिए AWS Key Management Service (KMS) Customer-managed Keys (CMKs) का उपयोग कर रहे हैं।
aws_electric_eye_iam_role_name TOML पैरामीटर में निर्दिष्ट भूमिका में प्रवेश करने के लिए आपको sts:AssumeRole की आवश्यकता होगी।
आपको अपना AWS क्षेत्र, एक AWS एक्सेस कुंजी, और एक AWS सीक्रेट एक्सेस कुंजी पास करनी होगी। यदि आप एक्सेस कुंजियों वाले AWS IAM User का उपयोग नहीं कर रहे हैं तो आपको एक AWS Session Token भी प्रदान करना होगा जो अस्थायी क्रेडेंशियल्स जैसे IAM Role या EC2 Instance Profile द्वारा उत्पन्न होता है।
यदि आप User का उपयोग कर रहे हैं, तो अगले चरण पर जाएँ, आपको अपने क्रेडेंशियल्स कॉपी करने के लिए तैयार रखने की आवश्यकता होगी। यदि आप EC2 Instance Profile या एक अतिरिक्त IAM Role का उपयोग कर रहे हैं जिसे आप ग्रहण करेंगे, सुनिश्चित करें कि आपके पास jq स्थापित है: apt install -y jq या yum install jq।
- एक IAM Role ग्रहण करने और अस्थायी क्रेडेंशियल्स प्राप्त करने के लिए```bash AWS_ACCOUNT_ID=$(aws sts get-caller-identity | jq -r '.Account') MY_ROLE_NAME='iam-role-name' TEMP_CREDS=$(aws sts assume-role --role-arn arn:aws:iam::$AWS_ACCOUNT_ID:role/$MY_ROLE_NAME --role-session-name ElectriceyeForDocker) AWS_ACCESS_KEY=$(echo $TEMP_CREDS | jq -r '.Credentials.AccessKeyId') AWS_SECRET_KEY=$(echo $TEMP_CREDS | jq -r '.Credentials.SecretAccessKey') AWS_SESSION_TOKEN=$(echo $TEMP_CREDS | jq -r '.Credentials.SessionToken') MY_REGION='aws-region-here'
> - EC2 Instance Profile के लिए Instance Metadata Service Version 1 का उपयोग करके अस्थायी क्रेडेंशियल प्राप्त करना```bash
MY_INSTANCE_PROFILE_ROLE_NAME="my_ec2_role_name"
IMDS_SECURITY_CREDENTIALS=$(curl http://169.254.169.254/latest/meta-data/iam/security-credentials/$MY_INSTANCE_PROFILE_ROLE_NAME)
MY_REGION='my_aws_region'
AWS_ACCESS_KEY=$(echo $IMDS_SECURITY_CREDENTIALS | jq -r '.AccessKeyId')
AWS_SECRET_KEY=$(echo $IMDS_SECURITY_CREDENTIALS | jq -r '.SecretAccessKey')
AWS_SESSION_TOKEN=$(echo $IMDS_SECURITY_CREDENTIALS | jq -r '.Token')
- EC2 इंस्टेंस प्रोफाइल के लिए अस्थायी क्रेडेंशियल्स प्राप्त करने के लिए इंस्टेंस मेटाडेटा सेवा संस्करण 2 का उपयोग करके```bash MY_INSTANCE_PROFILE_ROLE_NAME="my_ec2_role_name" TOKEN=$(curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 300") IMDSV2_SECURITY_CREDENTIALS=$(curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/iam/security-credentials/$MY_INSTANCE_PROFILE_ROLE_NAME) MY_REGION='my_aws_region' AWS_ACCESS_KEY=$(echo $IMDSV2_SECURITY_CREDENTIALS | jq -r '.AccessKeyId') AWS_SECRET_KEY=$(echo $IMDSV2_SECURITY_CREDENTIALS | jq -r '.SecretAccessKey') AWS_SESSION_TOKEN=$(echo $IMDSV2_SECURITY_CREDENTIALS | jq -r '.Token')
आप Federated पहचान से अस्थायी क्रेडेंशियल्स भी प्राप्त कर सकते हैं, [AssumeRoleWithWebIdentity](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html) या [AssumeRoleWithSAML](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithSAML.html) के लिंक पर अधिक पढ़ें, या बड़े अस्थायी क्रेडेंशियल दस्तावेज़ [यहाँ](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_assumerole) देखें।
### ElectricEye कंटेनर चलाना
ElectricEye को निम्नलिखित कमांड का उपयोग करके चलाएँ, अपने Session क्रेडेंशियल्स को पास करते हुए। ElectricEye के साथ विभिन्न वातावरणों का मूल्यांकन करने के लिए कंटेनर के अंदर कमांड बदलें। `/path/to/my/external_providers.toml` का मान अपने सटीक पथ से बदलें, जैसे कि `~/electriceye-docker/external_providers.toml`।
**महत्वपूर्ण नोट** यदि आप Access Keys के साथ AWS IAM User का उपयोग कर रहे हैं, तो मानों को हार्डकोड करें और `AWS_SESSION_TOKEN` का मान छोड़ दें!! यदि आप इस कंटेनर को AWS कंटेनर/Kubernetes सेवा पर चला रहे हैं, तो आपको ये मान प्रदान करने की आवश्यकता नहीं है!```bash
sudo docker run \
--user eeuser:eeuser \
-e AWS_DEFAULT_REGION=$MY_REGION \
-e AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY \
-e AWS_SECRET_ACCESS_KEY=$AWS_SECRET_KEY \
-e AWS_SESSION_TOKEN=$AWS_SESSION_TOKEN \
-v /path/to/my/external_providers.toml:/eeauditor/external_providers.toml \
electriceye /bin/bash -c "python3 eeauditor/controller.py --help"
-o json, -o cam-json, -o csv, या -o html जैसे आउटपुट को स्थानीय फ़ाइल में सहेजने के लिए, सुनिश्चित करें कि आप एक फ़ाइल नाम निर्दिष्ट करते हैं जो /eeauditor/ से शुरू होता है, क्योंकि Docker इमेज के भीतर eeuser के पास केवल उस निर्देशिका के भीतर अनुमतियाँ हैं।
फ़ाइलों को हटाने के लिए आप docker cp का उपयोग नहीं कर सकते, लेकिन आप आउटपुट को base64 एन्कोडिंग करके उन रिमोट APIs को फ़ाइल सबमिट कर सकते हैं जिन्हें आप नियंत्रित करते हैं, या आप S3 पर फ़ाइल अपलोड करने के लिए AWS S3 अनुमतियों वाले सत्र का उपयोग कर सकते हैं।
यदि आप Oracle Cloud या Google Cloud Platform का मूल्यांकन कर रहे हैं, तो आपकी क्रेडेंशियल्स स्थानीय रूप से लोड हो जाएंगी और आप क्रमशः Oracle Object Storage या Google Cloud Storage बकेट में अपलोड कर सकते हैं।```bash
BUCKET_NAME="your_s3_bucket_you_have_access_to"
sudo docker run
--user eeuser:eeuser
-e AWS_DEFAULT_REGION=$MY_REGION
-e AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY
-e AWS_SECRET_ACCESS_KEY=$AWS_SECRET_KEY
-e AWS_SESSION_TOKEN=$AWS_SESSION_TOKEN
-v /path/to/my/external_providers.toml:/eeauditor/external_providers.toml
electriceye /bin/bash -c "python3 eeauditor/controller.py -t AWS -o json --output-file /eeauditor/my-aws-findings
&& aws s3 cp /eeauditor/my-aws-findings.json s3://$BUCKET_NAME/eefindings.json"
अधिक कॉन्फ़िगरेशन जानकारी के लिए कृपया प्रति-प्रदाता सेटअप निर्देशों को देखें।
## योगदान
नए चेक बनाने के निर्देशों के लिए [डेवलपर गाइड](https://github.com/jonrau1/electriceye/blob/HEAD/docs/new_checks/DEVELOPER_GUIDE.md) देखें, नए SaaS और CSP समर्थन के लिए कृपया एक Issue खोलें।
कोड बेस में सिंटैक्स, व्याकरण और कार्यान्वयन त्रुटियों का सामना होने पर PRs और Issues खोलने के लिए स्वतंत्र महसूस करें।
### ElectricEye बिक्री के लिए है
मुझे [email protected] पर संपर्क करें (मेरे पास वास्तव में कोई SaaS टूल नहीं है) और मैं इस रिपॉजिटरी के अधिकार बेचने और इसे हटाने में खुशी होगी और आपको सभी डोमेन और यहां तक कि पर्दे के पीछे उपयोग किए जाने वाले AWS खाते भी दे दूंगा।
### प्रारंभिक योगदानकर्ता
उन लोगों को त्वरित शाउट-आउट जिन्होंने ElectricEye का परीक्षण करने और इसे बेकार न बनाने के लिए जल्दी प्रतिक्रिया दी।
##### अल्फा परीक्षण:
- [Mark Yancey](https://www.linkedin.com/in/mark-yancey-jr-aspiring-cloud-security-professional-a52bb9126/)
##### बीटा परीक्षण:
- [Martin Klie](https://www.linkedin.com/in/martin-klie-0600845/)
- [Joel Castillo](https://www.linkedin.com/in/joelbcastillo/)
- [Juhi Gupta](https://www.linkedin.com/in/juhi-gupta-09/)
- [Bulent Yidliz](https://www.linkedin.com/in/bulent-yildiz/)
- [Guillermo Ojeda](https://www.linkedin.com/in/guillermoojeda/)
- [Dhilip Anand Shivaji](https://www.linkedin.com/in/dhilipanand/)
- [Arek Bar](https://www.linkedin.com/in/arkadiuszbar/)
- [Ryan Russel](https://www.linkedin.com/in/pioneerrussell/)
- [Jonathan Nguyen](https://www.linkedin.com/in/jonanguyen/)
- [Jody Brazil](https://www.linkedin.com/in/jodybrazil/)
- [Dylan Shields](https://www.linkedin.com/in/dylan-shields-6802b1168/)
- [Manuel Leos Rivas](https://www.linkedin.com/in/manuel-lr/)
- [Andrew Alaniz](https://www.linkedin.com/in/andrewdalaniz/)
- [Christopher Childers](https://www.linkedin.com/in/christopher-childers-28950537/)
## सामान्य प्रश्न
यह Amazonian शैली में किया गया है, जिसका अर्थ है कि इनमें से कोई भी प्रश्न बार-बार नहीं पूछे जाते हैं और ये उत्पाद प्रबंधकों को यह पता लगाने में मदद करने के लिए हैं कि उनके विचार अच्छे हैं या नहीं...
फिर भी, इनमें से कुछ प्रश्न पूछे जाते हैं। तो, आपका स्वागत है।
### 1. ElectricEye क्या है?
ElectricEye एक एजेंटलेस पायथन कमांड लाइन इंटरफ़ेस (CLI) टूल है जो क्लाउड सेवा प्रदाताओं (CSPs) और सॉफ्टवेयर-एज़-ए-सर्विस (SaaS) विक्रेताओं को स्कैन और मूल्यांकन करता है। ElectricEye प्रति संसाधन एक पास या फेल फाइंडिंग उत्पन्न करता है, जो कई चेकों में फैला होता है जो सुरक्षा मुद्रा प्रबंधन सर्वोत्तम प्रथाओं और लचीलापन, पुनर्प्राप्ति, प्रदर्शन अनुकूलन, और निगरानी जैसी अन्य स्वच्छता जांचों के अनुरूप हैं। ElectricEye AWS, GCP, ServiceNow, और अधिक जैसे लोकप्रिय प्रदाताओं को कवर करता है।
### 2. ElectricEye का उपयोग किसे करना चाहिए?
ElectricEye का उपयोग क्लाउड संगठन के सुरक्षा या आईटी कार्यों में किसी भी व्यक्ति द्वारा किया जा सकता है, जैसे (लेकिन इन्हीं तक सीमित नहीं) सुरक्षा इंजीनियर, डेव(Sec)ऑप्स इंजीनियर, SRE/प्लेटफ़ॉर्म इंजीनियर, आर्किटेक्ट (विभिन्न प्रकार), गवर्नेंस/जोखिम/अनुपालन विश्लेषक, SOC/SecOps विश्लेषक, क्लाउड सलाहकार, आक्रामक सुरक्षा (रेड/ब्लू/पर्पल) टीमें, और तृतीय-पक्ष जोखिम प्रबंधन विश्लेषक। ElectricEye का उपयोग आईटी संचालन, प्रौद्योगिकी व्यवसाय प्रबंधन/ITFM विश्लेषक, व्यवसाय सातत्यता विश्लेषक, और संपत्ति प्रबंधकों द्वारा भी किया जा सकता है क्योंकि ElectricEye मूल क्लाउड एसेट प्रबंधन क्षमताएं प्रदान करता है।
### 3. किसी को ElectricEye का उपयोग क्यों करना चाहिए?
ElectricEye का उपयोग किसी ऐसे व्यक्ति द्वारा किया जाना चाहिए जो यह सुनिश्चित करना चाहता है कि उनके क्लाउड विक्रेता और उनकी सेवाओं की पूरी श्रृंखला सर्वोत्तम सुरक्षा स्वच्छता सुनिश्चित करने के लिए कॉन्फ़िगर की गई है। ElectricEye में सबसे व्यापक सेवा कवरेज है और यह एकमात्र दोहरे उपयोग वाला सुरक्षा मुद्रा प्रबंधन (SPM) टूल है जो क्लाउड सुरक्षा मुद्रा प्रबंधन (CSPM) और SaaS सुरक्षा मुद्रा प्रबंधन (SSPM) दोनों के लिए मुफ्त उपलब्ध है। ElectricEye में अंतर्निहित रहस्य पहचान और बाहरी हमले की सतह प्रबंधन (EASM) क्षमताओं के साथ-साथ क्लाउड एसेट प्रबंधन (CAM) भी शामिल है, जिसका अपना पदानुक्रम क्रॉस-क्लाउड, क्रॉस-बाउंड्री एसेट प्रबंधन और रिपोर्टिंग का समर्थन करता है।
### 4. क्या ElectricEye एक CSPM है?
हां, ElectricEye एक क्लाउड सुरक्षा मुद्रा प्रबंधन (CSPM) टूल है, यह क्लाउड इंफ्रास्ट्रक्चर के API-आधारित (एजेंटलेस) स्कैन प्रदान करता है और सुनिश्चित करता है कि सेवाएं सर्वोत्तम प्रथाओं के अनुसार कॉन्फ़िगर की गई हैं।
### 5. क्या ElectricEye एक SSPM है?
हां, ElectricEye एक SaaS सुरक्षा मुद्रा प्रबंधन (SSPM) टूल है, यह SaaS विक्रेता APIs के API-आधारित (एजेंटलेस) स्कैन प्रदान करता है और सुनिश्चित करता है कि उपयोगकर्ता और सेवाएं सर्वोत्तम प्रथाओं के अनुसार कॉन्फ़िगर की गई हैं।
### 6. क्या ElectricEye एक CIEM है?
नहीं, ElectricEye क्लाउड इंफ्रास्ट्रक्चर एंटाइटलमेंट मैनेजमेंट (CIEM) टूल नहीं है। जबकि ElectricEye कई पहचान और पहुंच प्रबंधन जांच प्रदान करता है और प्रति-उपयोगकर्ता MFA, पासवर्ड रोटेशन, और अनुमतियों को न्यूनतम करने के लिए मूल्यांकन करता है, यह CIEM नहीं है। ElectricEye में कई पहचान ब्रोकरों, प्रदाताओं और सीमाओं पर व्यापक नीति मूल्यांकन नहीं है और यह कोई उपचार या जस्ट इन टाइम (JIT) एंटाइटलमेंट प्रबंधन क्षमताएं प्रदान नहीं करता है।
### 7. क्या ElectricEye एक SIEM है?
नहीं, ElectricEye एक सुरक्षा सूचना और घटना प्रबंधन (SIEM) टूल नहीं है। SIEM टूल का उपयोग लॉग, सुरक्षा घटनाओं, और सुरक्षा संचालन उपयोग मामलों के लिए अन्य अर्ध-संरचित और संरचित डेटा को एकत्रित, अनुक्रमित और सहसंबंधित करने के लिए किया जाता है। जबकि ElectricEye के निष्कर्ष SIEM को भेजे जा सकते हैं, ElectricEye अपने आप में SIEM नहीं है।
### 8. क्या ElectricEye एक ऑडिट/अनुपालन उपकरण है?
नहीं, ElectricEye सीधे तौर पर ऑडिट या अनुपालन उपकरण नहीं है। जबकि प्रत्येक निष्कर्ष को लोकप्रिय और व्यापक रूप से उपयोग किए जाने वाले सुरक्षा अनुपालन शासनों जैसे NIST CSF v1.1 और AICPA 2020 TSCs में मैप किया गया है, ElectricEye केवल नियंत्रणों के लिए सर्वोत्तम-प्रयास मैपिंग प्रदान करता है और आपके वातावरण का ऑडिट करने वाले ऑडिटर या अन्य योग्य मूल्यांकक के समान नहीं है। ElectricEye का उपयोग ऑडिट रेडीनेस या तैयारी उपकरण के रूप में किया जा सकता है, यदि क्लाउड इंफ्रास्ट्रक्चर नियंत्रण आपके समग्र सुरक्षा कार्यक्रम के लिए महत्वपूर्ण हैं तो आप निष्कर्षों के नमूने ले सकते हैं। नियंत्रण तकनीकी या प्रशासनिक (अर्थात, नीति या प्रक्रिया) प्रतिवाद हैं जो सुरक्षा या गोपनीयता कार्यक्रम के वांछित परिणामों की रक्षा के लिए डिज़ाइन किए गए हैं। नियंत्रण सूचना प्रणालियों की गोपनीयता, अखंडता और उपलब्धता की रक्षा करते हैं। ElectricEye यह निर्धारित करने में मदद कर सकता है कि आपके क्लाउड इंफ्रास्ट्रक्चर का कॉन्फ़िगरेशन नियंत्रणों की 'भावना' को पूरा करता है या नहीं, लेकिन यह प्रमाणन, प्रमाणपत्र, या किसी अन्य गुप्त अनुष्ठान के समान **नहीं** है।
### 9. "ऑडिट रेडीनेस" क्या है?
ElectricEye अपने नियंत्रण फ्रेमवर्क मैपिंग के इच्छित उपयोग मामलों को संप्रेषित करते समय ऑडिट रेडीनेस शब्द का उपयोग करता है। ElectricEye का उपयोग योग्य मूल्यांककों द्वारा आपके वातावरण का मूल्यांकन करने के लिए किया जा सकता है, इसका उपयोग आप मूल्यांककों को साक्ष्य के रूप में प्रदान करने के लिए कर सकते हैं, लेकिन इसका सबसे अच्छा उपयोग ऑडिट के लिए तैयारी या अपनी तत्परता देखने के लिए है। हालांकि, नियंत्रणों को लागू करते समय आपके पास पहले से ही अपने स्वयं के आंतरिक नियंत्रण परिभाषित और अपनी स्वयं की कॉन्फ़िगरेशन प्रबंधन रणनीति होनी चाहिए। उदाहरण के लिए, आप यह निर्णय ले सकते हैं कि अपने सभी SQS क्यू को AWS KMS CMK के साथ एन्क्रिप्ट करने में बहुत अधिक लागत आती है और कई सुरक्षा लाभ नहीं मिलते हैं, आपको अपने आंतरिक GRC प्रक्रियाओं का समर्थन करने के लिए ElectricEye का उपयोग करने से पहले वह 'बुनियादी काम' करना होगा।
### 10. ElectricEye किन नियंत्रण फ्रेमवर्क का समर्थन करता है?
ElectricEye जिन नियंत्रण फ्रेमवर्क का समर्थन करता है, उन्हें हमेशा अपडेट किया जाता है क्योंकि नए संस्करण और मैपिंग उपलब्ध होते हैं, 21 जून 2024 तक निम्नलिखित मानकों, फ्रेमवर्क और कानूनी आवश्यकताओं का समर्थन किया जाता है।
- NIST Cybersecurity Framework Version 1.1
- NIST Special Publication 800-53 Revision 4
- NIST Special Publication 800-53 Revision 5
- NIST Special Publication 800-171 Revision 2
- American Institute of Certified Public Accountants (AICPA) Trust Service Criteria (TSC) 2017/2020 for SOC 2
- ISO/IEC 27001:2013/2017 Annex A
- ISO/IEC 27001:2022 Annex A
- Center for Internet Security (CIS) Critical Security Controls Version 8
- Cloud Security Alliance (CSA) Cloud Controls Matrix (CCM) Version 4.0
- United States Department of Defense Cybersecurity Maturity Model Certification (CMMC) Version 2.0
- United States Federal Bureau of Investigation (FBI) Criminal Justice Information System (CJIS) Security Policy Version 5.9
- United Kingdom National Cybercrime Security Center (NCSC) Cyber Essentials Version 2.2
- United Kingdom National Cybercrime Security Center (NCSC) Assessment Framework Version 3.1
- HIPAA "Security Rule" U.S. Code 45 CFR Part 164 Subpart C
- Federal Financial Institutions Examination Council (FFIEC) Cybersecurity Assessment Tool (CAT)
- North American Electric Reliability Corporation (NERC) Critical Infrastructure Protection (CIP) Standard
- New Zealand Information Security Manual Version 3.5
- New York Department of Financial Services (NYDFS) Series 23 NYCRR Part 500; AKA NYDFS500
- Critical Risk Institue (CRI) Critical Risk Profile Version 1.2
- European Central Bank (ECB) Cyber Resilience Oversight Expectations (CROEs)
- Equifax Security Controls Framework Version 1.0
- Payment Card Industry (PCI) Data Security Standard (DSS) Version 4.0
- MITRE ATT&CK Enterprise Framework
- CIS AWS Database Services Benchmark V1.0
- CIS Amazon Web Services Foundations Benchmark V1.5
- CIS Amazon Web Services Foundations Benchmark V2.0
- CIS Amazon Web Services Foundations Benchmark V3.0
- CIS Microsoft Azure Foundations Benchmark V2.0.0
- CIS Snowflake Foundations Benchmark V1.0.0
- CIS Google Cloud Platform Foundation Benchmark V2.0
## रिपॉजिटरी सुरक्षा
चूंकि ElectricEye एक सुरक्षा उपकरण है, इसलिए घटकों की उच्च स्तर की सुरक्षा सुनिश्चित करना समझ में आता है। इसके लिए निम्नलिखित उपकरण उपयोग के लिए कॉन्फ़िगर किए गए हैं। प्रत्येक रन के बारे में विस्तृत जानकारी के लिए बिल्ड बैज और एक्शन देखें।
#### [`Syft`](https://github.com/anchore/syft)
परिणाम [यहां](https://github.com/jonrau1/ElectricEye/actions/workflows/sbom-vulns.yml) देखें!
कंटेनर इमेज और फाइलसिस्टम से सॉफ्टवेयर बिल ऑफ मैटेरियल्स (SBOM) उत्पन्न करने के लिए एक CLI टूल और Go लाइब्रेरी।
ElectricEye, एक निर्मित ElectricEye Docker इमेज से CycloneDX प्रारूप में SBOM बनाने और इसे प्रत्येक सफल GitHub Action रन पर एक आर्टिफैक्ट के रूप में अपलोड करने के लिए Syft का उपयोग करता है।
#### [`Grype`](https://github.com/anchore/grype)
परिणाम [यहां](https://github.com/jonrau1/ElectricEye/actions/workflows/sbom-vulns.yml) देखें!
कंटेनर इमेज और फाइलसिस्टम के लिए एक भेद्यता स्कैनर। इसे आज़माने के लिए बाइनरी आसानी से स्थापित करें। Syft के साथ काम करता है, जो कंटेनर इमेज और फाइलसिस्टम के लिए शक्तिशाली SBOM (सॉफ्टवेयर बिल ऑफ मैटेरियल्स) टूल है।
ElectricEye, Syft से CycloneDX SBOM को Grype में पास करता है ताकि निर्मित Docker इमेज पर भेद्यता स्कैन किया जा सके, जो ElectricEye द्वारा उपयोग किए जाने वाले alpine Docker इमेज पैरेंट के भीतर सभी Python निर्भरताओं और अंतर्निहित विधियों को जोड़ता है। गंभीर भेद्यता वाले बिल्ड स्वचालित रूप से तोड़ दिए जाते हैं। परिणाम GitHub Action पर पोस्ट किए जाते हैं और GitHub Security में sarif के रूप में अपलोड किए जाते हैं।
#### [`Dependabot`](https://github.com/dependabot)
Dependabot अलर्ट आपको बताते हैं कि आपका कोड एक ऐसे पैकेज पर निर्भर करता है जो असुरक्षित है। यदि आपका कोड सुरक्षा भेद्यता वाले पैकेज पर निर्भर करता है, तो इससे आपके प्रोजेक्ट या इसका उपयोग करने वाले लोगों के लिए कई समस्याएं हो सकती हैं। आपको जितनी जल्दी हो सके पैकेज के सुरक्षित संस्करण में अपग्रेड करना चाहिए। यदि आपका कोड मैलवेयर का उपयोग करता है, तो आपको पैकेज को एक सुरक्षित विकल्प से बदलने की आवश्यकता है।
ElectricEye, Dependabot का उपयोग सॉफ्टवेयर संरचना विश्लेषण (SCA) टूल के रूप में करता है ताकि दैनिक स्कैन चलाया जा सके और उस स्थिति में पुल रिक्वेस्ट खोली जा सके जब Docker, Python, या GitHub-Action निर्भरता को सुरक्षा पैच की आवश्यकता होती है।
#### [`CodeQL`](https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-with-codeql)
परिणाम [यहां](https://github.com/jonrau1/ElectricEye/actions/workflows/codeql-analysis.yml) देखें!
CodeQL GitHub द्वारा विकसित कोड विश्लेषण इंजन है जो सुरक्षा जांच को स्वचालित करता है। आप CodeQL का उपयोग करके अपने कोड का विश्लेषण कर सकते हैं और परिणामों को कोड स्कैनिंग अलर्ट के रूप में प्रदर्शित कर सकते हैं।
ElectricEye, `codeql` का उपयोग एक स्थिर अनुप्रयोग सुरक्षा परीक्षण (SAST) टूल के रूप में करता है ताकि Python में लिखे गए सभी ऑडिटरों को स्कैन किया जा सके, `codeql` कोड में रहस्यों की भी तलाश करता है। यह पुश और शेड्यूल पर चलाया जाता है।
## लाइसेंस
यह लाइब्रेरी Apache-2.0 लाइसेंस के तहत लाइसेंस प्राप्त है। LICENSE फ़ाइल देखें।