Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
autonoma — पाइथन रिपॉजिटरी में हार्डकोडेड रहस्यों का पता लगाता है और स्वतः ठीक करता है — जब सुधार आपके कोड को तोड़ सकता है तो मना कर देता है। | Kitploit
उपकरण/GitHubGitHub/vihaaninnovations/autonoma
स्थैतिक विश्लेषणभेद्यता विश्लेषणकोड विश्लेषणDevSecOpsसीक्रेट डिटेक्शनआपूर्ति श्रृंखला सुरक्षा
GitHubvihaaninnovations/autonoma

autonoma

पाइथन रिपॉजिटरी में हार्डकोडेड रहस्यों का पता लगाता है और स्वतः ठीक करता है — जब सुधार आपके कोड को तोड़ सकता है तो मना कर देता है।

रिपॉजिटरी देखें
224 महीने पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

ऑटोनोमा

Python License Platform Edition PyPI Version

Autonoma हार्डकोडेड रहस्यों का पता लगाता है और AST पुनर्लेखन का उपयोग करके उन्हें os.environ[...] संदर्भों से बदल देता है। परिवर्तन केवल तभी लागू किए जाते हैं जब पुनर्लेखन निर्धारणीय और अर्थ-संरक्षण करने वाला हो।

पुनर्लेखन पार्स किए गए सिंटैक्स ट्री का उपयोग करते हैं — रॉ टेक्स्ट पर regex नहीं। स्थानीय रूप से कोई नेटवर्क कॉल के बिना चलता है। CI में आइडेम्पोटेंट, न्यूनतम अंतर के साथ काम करता है।

Autonoma Demo


यह किस समस्या का समाधान करता है

कोडबेस में हार्डकोडेड रहस्य:

  • रहस्य कमिट हो जाते हैं और गिट इतिहास में बने रहते हैं
  • उन्हें मैन्युअल रूप से ठीक करने से कोड टूट जाता है या किनारे के मामले छूट जाते हैं
  • टीमें लीक का पता लगाती हैं लेकिन ऑटो-फिक्स टूल से बचती हैं क्योंकि वे असुरक्षित हैं
  • अधिकांश उपकरण उनका पता लगाते हैं। Autonoma केवल उन चीजों को छूता है जिन्हें वह बदलना सुरक्षित साबित कर सकता है।


    त्वरित उदाहरण

    root@kitploit:~
    autonoma scan .
    autonoma fix .
    git diff
    

    स्थापना

    root@kitploit:~
    pip install autonoma-cli
    

    Pre-commit एकीकरण

    इसे अपने .pre-commit-config.yaml में जोड़ें ताकि रहस्य आपके इतिहास में प्रवेश न कर सकें:

    root@kitploit:~
    - repo: local
      hooks:
        - id: autonoma
          name: Autonoma Scan
          entry: autonoma scan
          language: system
          types: [python]
    

    60 सेकंड में इसे आज़माएं

    root@kitploit:~
    # 1. हार्डकोडेड रहस्यों वाली एक परीक्षण फ़ाइल बनाएं
    cat > test_secrets.py << 'EOF'
    SENDGRID_API_KEY = "sg-live-abc123xyz789"
    DB_PASSWORD = "Pr0dAccess2024!"
    EOF
    
    # सुरक्षित उपचार के लिए आवश्यक एनवी अनुबंध फ़ाइल भी बनाएं
    printf 'SENDGRID_API_KEY=\nDB_PASSWORD=\n' > .env.example
    
    # 2. स्कैन — JSON निष्कर्ष stdout पर भेजता है
    autonoma scan test_secrets.py
    
    # 3. फिक्स — फ़ाइल को वहीं फिर से लिखता है
    autonoma fix test_secrets.py
    
    # 4. फिर से स्कैन करें — अब साफ होना चाहिए (एक्ज़िट 0)
    autonoma scan test_secrets.py
    
    # 5. परिणाम देखें
    cat test_secrets.py
    

    फिक्स के बाद अपेक्षित आउटपुट:

    root@kitploit:~
    import os
    SENDGRID_API_KEY = os.environ["SENDGRID_API_KEY"]
    DB_PASSWORD = os.environ["DB_PASSWORD"]
    

    कमांड्स

    स्कैन

    डिटेक्शन मोड। JSON को stdout पर और मानव-पठनीय सारांश को stderr पर आउटपुट करता है। गैर-परिवर्तनकारी — कभी भी फ़ाइलों को संशोधित नहीं करता।

    root@kitploit:~
    # किसी निर्देशिका को स्कैन करें (JSON निष्कर्ष stdout पर)
    autonoma scan src/
    
    # JSON परिणाम को एक फ़ाइल में सहेजें
    autonoma scan src/ > findings.json
    

    scan के लिए एग्ज़िट कोड:

    कोडअर्थ
    0कोई निष्कर्ष नहीं
    1निष्कर्ष का पता चला
    3उपकरण त्रुटि

    फिक्स

    AST पुनर्लेखन का उपयोग करके हार्डकोडेड रहस्यों को सुधारता है। फाइलों को वहीं बदलता है।

    root@kitploit:~
    # फिक्स लागू करें
    autonoma fix src/
    
    # लिखने से पहले पैच का पूर्वावलोकन करें
    autonoma fix src/ --diff
    
    # उपचार ऑडिट लॉग लिखें
    autonoma fix src/ --report-out audit.json
    

    fix के लिए एग्ज़िट कोड:

    कोडअर्थ
    0कोई निष्कर्ष नहीं — रिपॉजिटरी पहले से साफ थी
    1उपचार के प्रयास से पहले निष्कर्ष मौजूद थे (उपचार सफल हो सकता है — FIXED/REFUSED गणना के लिए आउटपुट जांचें)
    3उपकरण त्रुटि

    fix कमांड 1 से बाहर निकलता है जब भी उपचार का प्रयास करने से पहले रहस्य मिले, चाहे पुनर्लेखन सफल हुआ हो या नहीं। यह जानबूझकर किया गया है: CI पाइपलाइनों को उस कमिट को चिह्नित करना चाहिए जहां रहस्य पेश किए गए थे, भले ही ऑटो-फिक्स के बाद। रिपॉजिटरी को साफ साबित करने के लिए बाद में autonoma scan चलाएं।

    history-स्कैन

    गिट इतिहास को उन रहस्यों के लिए स्कैन करता है जो कमिट किए गए और बाद में हटा दिए गए या बदल दिए गए।

    [!NOTE] केवल पहचान। यह कमांड गिट इतिहास को फिर से नहीं लिखता या कमिट को संशोधित नहीं करता।

    root@kitploit:~
    autonoma history-scan .
    

    पहले / बाद में

    ये वे पैटर्न हैं जिन्हें Autonoma वास्तव में आज ठीक करता है।

    पहले

    root@kitploit:~
    # settings.py
    SENDGRID_API_KEY = "sg-live-abc123xyz789"
    DB_PASSWORD = "Pr0dAccess2024!"
    

    बाद में (autonoma fix .)

    root@kitploit:~
    # settings.py
    import os
    SENDGRID_API_KEY = os.environ["SENDGRID_API_KEY"]
    DB_PASSWORD = os.environ["DB_PASSWORD"]
    

    अस्वीकृत (इन्कार-प्रथम सुरक्षा)

    root@kitploit:~
    # f-string — अस्वीकृत क्योंकि पुनर्लेखन अर्थ बदल देगा
    api_key = f"prefix_{BASE_KEY}"
    # → REFUSED: refuse_fstring_mixed_expression
    
    # Dict/nested value — अस्वीकृत क्योंकि लक्ष्य कोई साधारण असाइनमेंट नहीं है
    DATABASES = {
        "default": {"PASSWORD": "Pr0d@ccess2024!"}
    }
    # → REFUSED: unsupported assignment target type
    

    अस्वीकृत निष्कर्ष JSON आउटपुट में रिपोर्ट किए जाते हैं और CI में गैर-शून्य निकास का कारण बनते हैं। अस्वीकृत निष्कर्ष वाली फ़ाइलें कभी संशोधित नहीं की जाती हैं।


    Autonoma क्या ठीक करता है बनाम क्या अस्वीकार करता है

    पैटर्नउदाहरणव्यवहारकारण
    साधारण असाइनमेंटapi_key = "sk-abc123"ठीक किया गयानियतात्मक AST पुनर्लेखन
    क्लास विशेषताclass C: SECRET = "abc"ठीक किया गयानियतात्मक AST पुनर्लेखन
    कीवर्ड तर्कconnect(password="abc")ठीक किया गयानियतात्मक AST पुनर्लेखन
    f-stringkey = f"prefix_{v}"अस्वीकृतपुनर्लेखन रनटाइम व्यवहार बदल देगा
    संयोजनkey = "sk-" + suffixअस्वीकृतपुनर्लेखन रनटाइम व्यवहार बदल देगा
    Dict/nested मानcfg = {"pass": "abc"}अस्वीकृतसाधारण असाइनमेंट लक्ष्य नहीं
    एकाधिक असाइनमेंटA = B = "secret"अस्वीकृतअस्पष्ट लक्ष्य
    पहले से सुरक्षितkey = os.getenv("KEY")छोड़ दिया गयाकोई बदलाव आवश्यक नहीं
    .env.example गायबकोई भी पैटर्नअस्वीकृतचर नाम प्राप्त करने के लिए कोई एनवी अनुबंध नहीं

    CI/CD सुविधाएँ

    साफ फ़ाइल पर फिर से चलाने से कोई बदलाव नहीं होता। पुनर्लेखन मूल इंडेंटेशन और टिप्पणियों को बनाए रखता है। import os केवल तब जोड़ा जाता है जब वह गायब हो।

    एकीकरण और CI/CD

    GitHub Actions (केवल स्कैन)

    यदि कोई रहस्य पाया जाता है तो आपके बिल्ड को विफल करने के लिए:

    root@kitploit:~
    - name: Scan for secrets
      run: autonoma scan .
    

    पुराने कमांड्स

    analyze पश्चगामी संगतता के लिए बनाए रखा गया है। scan या fix पर माइग्रेट करें।

    root@kitploit:~
    # 'autonoma scan' के समतुल्य
    autonoma analyze src/ --detect-only
    
    # 'autonoma fix' के समतुल्य
    autonoma analyze src/ --auto-fix
    

    बाधाएँ और व्यवहार

    यह क्या सुधारता है

    • साधारण असाइनमेंट: API_KEY = "secret"
    • क्लास विशेषताएँ: class Config: PASS = "secret"
    • कीवर्ड तर्क: connect(password="secret")

    यह क्या अस्वीकार करता है (डिज़ाइन द्वारा)

    • जटिल अभिव्यक्तियाँ: RHS पर f-strings, संयोजन, या फ़ंक्शन कॉल।
    • अस्पष्ट लक्ष्य: एकाधिक असाइनमेंट (A = B = "secret") या टपल अनपैकिंग।
    • नेस्टेड/Dict मान: dicts, lists, या tuples के अंदर मान।
    • गुम संदर्भ: यदि रिपॉजिटरी में कोई .env.example या एनवायरनमेंट अनुबंध नहीं मिलता।

    अस्वीकृत मामलों की सूचना JSON आउटपुट में दी जाती है और CI में गैर-शून्य एग्ज़िट कोड का कारण बनेगी। यदि उसमें कोई भी मुद्दा अस्वीकृत है तो फ़ाइल कभी संशोधित नहीं की जाती है।

    यह क्या नहीं करता

    • यह एंट्रॉपी/अनुमान का उपयोग नहीं करता (यह ह्यूरिस्टिक नाम मिलान का उपयोग करता है)।
    • यह कम्युनिटी एडिशन में गैर-Python फ़ाइलों को संशोधित नहीं करता।
    • यह आपका कोड नहीं हटाता; संशोधन से पहले बैकअप <file>.bak के रूप में लिखे जाते हैं।

    वर्तमान सीमाएँ

    SEC002 वर्तमान में क्रेडेंशियल वैल्यू पैटर्न को कीवर्ड-कंडीशन्ड रूटिंग लॉजिक के साथ जोड़ता है। अत्यधिक असामान्य वेरिएबल नामों को निर्दिष्ट क्रेडेंशियल वर्तमान में पता नहीं लगाए जा सकते हैं।

    Autonoma जानबूझकर व्यापक एंट्रॉपी-केवल सीक्रेट डिटेक्शन से बचता है जब तक कि सटीकता प्रभाव को लेबल किए गए गलत-सकारात्मक कॉर्पस के विरुद्ध मापा न जा सके।


    JSON स्कीमा

    autonoma scan stdout पर एक detect-only रिपोर्ट आउटपुट करता है:

    root@kitploit:~
    {
      "schema_version": "1.0",
      "tool_name": "autonoma",
      "tool_version": "0.1.5",
      "generated_at": "2026-03-24T12:00:00Z",
      "mode": "detect-only",
      "summary": {
        "files_processed": 3,
        "total_findings": 2,
        "safe_to_fix": 1,
        "refused": 1
      },
      "findings": [
        {
          "file": "settings.py",
          "line": 4,
          "pattern_type": "api_key",
          "severity": "high",
          "rule_id": "SEC002",
          "safe_to_fix": true,
          "suggested_env_var": "SENDGRID_API_KEY",
          "refusal_reason": null,
          "fingerprint": "sha256:abc123..."
        }
      ]
    }
    

    लाइसेंस

    MIT लाइसेंस

    टूल डाउनलोड करें