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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
threatmap — STRIDE, MITRE ATT&CK, और PASTA फ्रेमवर्क के साथ IaC थ्रेट मॉडलर। Terraform, CloudFormation, और Kubernetes के लिए REST API, GraphQL, और Docker समर्थन। | Kitploit
उपकरण/GitHubGitHub/bogdanticu88/threatmap
स्थैतिक विश्लेषणकंटेनर सुरक्षाभेद्यता विश्लेषणकॉन्फ़िगरेशन ऑडिटिंगक्लाउड सुरक्षाDevSecOpsखतरा खुफियाAPI सुरक्षा
GitHubbogdanticu88/threatmap

threatmap

STRIDE, MITRE ATT&CK, और PASTA फ्रेमवर्क के साथ IaC थ्रेट मॉडलर। Terraform, CloudFormation, और Kubernetes के लिए REST API, GraphQL, और Docker समर्थन।

रिपॉजिटरी देखें
61952 महीने पहलेKitploit द्वारा समीक्षित

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें
2026-03-25_12-36

threatmap

CI Version PyPI Python Docker STRIDE MITRE

PASTA
GraphQL API
License: MIT
Offline

स्टैटिक IaC थ्रेट मॉडलर जो Terraform, CloudFormation और Kubernetes मैनिफेस्ट को पार्स करता है और STRIDE, MITRE ATT&CK या PASTA फ्रेमवर्क का उपयोग करके संरचित थ्रेट मॉडल रिपोर्ट तैयार करता है। कोई नेटवर्क कॉल नहीं, कोई क्लाउड क्रेडेंशियल नहीं, पूरी तरह से ऑफलाइन। CLI, REST API या कंटेनराइज्ड सेवा के रूप में चलता है।


त्वरित प्रारंभ

CLI:

root@kitploit:~
pip install threatmap
threatmap scan ./examples --output report.md --fail-on HIGH

Docker:

root@kitploit:~
docker run -v $(pwd):/workspace bogdynn/threatmap:2.1.0 threatmap scan /workspace --output /workspace/report.md

REST API सर्वर:

root@kitploit:~
threatmap serve --host 0.0.0.0 --port 8000
# या Docker के माध्यम से:
docker run -p 8000:8000 bogdynn/threatmap:2.1.0
# API एंडपॉइंट: /health, /version, /rules, /analyze

GraphQL API:

root@kitploit:~
docker run -p 8000:8000 bogdynn/threatmap:2.1.0
# GraphQL एंडपॉइंट: http://localhost:8000/graphql
# क्वेरी: health, version, rules
# म्यूटेशन: analyze(content, filename, framework)

समर्थित प्रारूप और प्रदाता

प्रारूपप्रदाताएक्सटेंशन
Terraform HCLAWS, Azure, GCP.tf
CloudFormationAWS.yaml, .yml, .json
Kubernetes मैनिफेस्टKubernetes.yaml, .yml

इंस्टॉल करें

PyPI से इंस्टॉल करें:

root@kitploit:~
pip install threatmap

या स्थानीय विकास के लिए:

root@kitploit:~
git clone https://github.com/bogdanticu88/threatmap.git
cd threatmap
pip install -e .

उपयोग

किसी निर्देशिका को स्कैन करें और stdout पर Markdown रिपोर्ट प्रिंट करें:

root@kitploit:~
threatmap scan ./terraform/

एकाधिक पथों को स्कैन करें और JSON रिपोर्ट को फ़ाइल में लिखें:

root@kitploit:~
threatmap scan ./terraform/ ./k8s/ ./cloudformation/ --format json --output report.json

GitHub Security के लिए इंटरैक्टिव HTML रिपोर्ट या SARIF रिपोर्ट बनाएँ:

root@kitploit:~
threatmap scan ./infra/ --format html --output report.html
threatmap scan ./infra/ --format sarif --output report.sarif

CI गेट — यदि कोई CRITICAL या HIGH थ्रेट मिलता है तो exit code 1 लौटाएँ:

root@kitploit:~
threatmap scan ./infra/ --fail-on HIGH --output threat-report.md

बिना पूरी रिपोर्ट लिखे केवल टर्मिनल सारांश तालिका प्रिंट करें:

root@kitploit:~
threatmap scan ./infra/ --summary

उन वातावरणों के लिए केवल ASCII गंभीरता संकेतक (कोई इमोजी नहीं) का उपयोग करें जो Unicode समर्थन नहीं करते:

root@kitploit:~
threatmap scan ./infra/ --ascii --output report.md

विभिन्न थ्रेट मॉडलिंग फ्रेमवर्क का उपयोग करके विश्लेषण करें:

root@kitploit:~
# STRIDE (डिफ़ॉल्ट)
threatmap scan ./infra/ --framework stride

# MITRE ATT&CK (रणनीति और तकनीकों में मैप करता है)
threatmap scan ./infra/ --framework mitre --format json

# PASTA (एसेट-केंद्रित थ्रेट मॉडलिंग)
threatmap scan ./infra/ --framework pasta --format json

थ्रेट मॉडलिंग फ्रेमवर्क

STRIDE (73 नियम)

  • स्पूफिंग, टैम्परिंग, रिपुडिएशन, सूचना प्रकटीकरण, सेवा अस्वीकृति, विशेषाधिकार वृद्धि
  • आक्रमण सतह की पहचान के लिए थ्रेट-केंद्रित दृष्टिकोण आदर्श
  • प्रदाता-विशिष्ट: AWS (22 नियम), Azure (19 नियम), GCP (15 नियम), Kubernetes (17 नियम)
  • सबसे उपयुक्त: पारंपरिक थ्रेट मॉडलिंग, सुरक्षा आर्किटेक्चर समीक्षा

MITRE ATT&CK (11 नियम, 14 रणनीति)

  • बुनियादी ढांचे के खतरों को वास्तविक दुनिया के प्रतिद्वंद्वी रणनीति और तकनीकों से जोड़ता है
  • सटीक TTP मैपिंग के लिए संसाधन-जागरूक तकनीक चयन
  • रणनीतियाँ: टोही, प्रारंभिक पहुँच, निष्पादन, स्थिरता, विशेषाधिकार वृद्धि, रक्षा चोरी, क्रेडेंशियल एक्सेस, खोज, संग्रह, कमांड और नियंत्रण, बहिर्वाह, प्रभाव, पार्श्व गति
  • सबसे उपयुक्त: थ्रेट इंटेलिजेंस के साथ संरेखण, घटना प्रतिक्रिया योजना, रेड टीम अभ्यास

PASTA (12 नियम, एसेट-केंद्रित)

  • आक्रमण सिमुलेशन और थ्रेट विश्लेषण के लिए प्रक्रिया
  • एसेट-केंद्रित दृष्टिकोण जो इस बात पर ध्यान केंद्रित करता है कि किसे सुरक्षा की आवश्यकता है
  • एसेट प्रकार: डेटा, पहचान, गणना, नेटवर्क, अवसंरचना
  • थ्रेट अभिनेता: आंतरिक, बाहरी, गलत कॉन्फ़िगरेशन, आपूर्ति श्रृंखला
  • सबसे उपयुक्त: जोखिम-आधारित प्राथमिकता, एसेट सुरक्षा रणनीतियाँ, आपूर्ति श्रृंखला खतरे

नमूना रिपोर्ट आउटपुट

बंडल किए गए उदाहरणों के विरुद्ध threatmap scan ./examples --output report.md चलाने पर एक पूर्ण Markdown रिपोर्ट तैयार होती है। नीचे एक प्रतिनिधि अंश है।

STRIDE थ्रेट तालिका

IDगंभीरताSTRIDE श्रेणीसंसाधनविवरण
T-001🔴 CRITICALसूचना प्रकटीकरणAuditBucketS3 बकेट 'AuditBucket' में कोई सार्वजनिक पहुँच अवरोध कॉन्फ़िगर नहीं है — बकेट सार्वजनिक रूप से सुलभ हो सकती है।
T-002🔴 CRITICALस्पूफिंगWebSecurityGroupसुरक्षा समूह 'WebSecurityGroup' 0.0.0.0/0 के लिए SSH/RDP (पोर्ट 22/3389) खोलता है।
T-003🔴 CRITICALविशेषाधिकार वृद्धिapp_contributorभूमिका असाइनमेंट 'app_contributor' विशेषाधिकार प्राप्त भूमिका 'Contributor' प्रदान करता है।
T-006🟠 HIGHसूचना प्रकटीकरणAuditBucketS3 बकेट 'AuditBucket' में सर्वर-साइड एन्क्रिप्शन कॉन्फ़िगर नहीं है।
T-008🟠 HIGHविशेषाधिकार वृद्धिapiडिप्लॉयमेंट 'api' में कंटेनर 'api' रूट के रूप में चल सकता है (कोई runAsNonRoot=true या runAsUser=0 नहीं)।
T-011🟠 HIGHविशेषाधिकार वृद्धिwebEC2 इंस्टेंस 'web' IMDSv1 को अनुमति देता है — मेटाडेटा सेवा बिना सत्र टोकन के सुलभ, जो SSRF-आधारित क्रेडेंशियल चोरी को सक्षम बनाता है।

शमन विवरण (अंश)

root@kitploit:~
### T-002 — स्पूफिंग (CRITICAL)

संसाधन:   AWS::EC2::SecurityGroup.WebSecurityGroup
गुण:      ingress.ssh_rdp_open
निष्कर्ष:  सुरक्षा समूह 'WebSecurityGroup' 0.0.0.0/0 के लिए SSH/RDP (पोर्ट 22/3389) खोलता है।
शमन:      सार्वजनिक SSH/RDP पहुँच हटाएँ। AWS Systems Manager Session Manager
            या IP प्रतिबंधों के साथ बास्टियन होस्ट का उपयोग करें।

डेटा प्रवाह आरेख (Mermaid)

रिपोर्ट एक Mermaid flowchart LR आरेख जोड़ती है। नोड्स सबसे खराब स्थिति की गंभीरता के अनुसार रंगीन होते हैं (🔴 लाल = CRITICAL, 🟠 नारंगी = HIGH)। ब्लॉक को किसी भी Mermaid रेंडरर में पेस्ट करें या GitHub पर सीधे देखें।

root@kitploit:~
flowchart LR
    Internet((Internet))
    subgraph Networking
        aws_security_group_web_sg{web_sg}
        NetworkPolicy_default_deny{default-deny}
        azurerm_network_security_group_app_nsg{app_nsg}
    end
    subgraph Compute
        aws_instance_web[web]
    end
    subgraph Kubernetes
        Namespace_myapp[myapp]
        Deployment_api[api]
        Service_api_svc[api-svc]
        Ingress_api_ingress[api-ingress]
    end
    subgraph Data
        aws_s3_bucket_app_data[(app_data)]
        aws_db_instance_app_db[(app_db)]
        azurerm_storage_account_app_storage[(app_storage)]
    end
    subgraph Security
        azurerm_key_vault_app_kv[app_kv]
    end
    subgraph Identity
        azurerm_role_assignment_app_contributor[/app_contributor/]
    end
    AWS__S3__Bucket_AppBucket -->|ref| AWS__S3__Bucket_AuditBucket
    AWS__CloudTrail__Trail_AppTrail -->|ref| AWS__S3__Bucket_AuditBucket
    Internet -->|HTTPS| Ingress_api_ingress
    style aws_security_group_web_sg fill:#ff4444,color:#fff
    style aws_s3_bucket_app_data fill:#ff4444,color:#fff
    style aws_instance_web fill:#ff8800,color:#fff
    style Deployment_api fill:#ff8800,color:#fff
    style azurerm_key_vault_app_kv fill:#ffcc00,color:#000
    style azurerm_network_security_group_app_nsg fill:#ff8800,color:#fff
    style azurerm_role_assignment_app_contributor fill:#ff4444,color:#fff

उन्नत सुविधाएँ (v2.1.0+)

ग्राफ-आधारित आक्रमण पथ विश्लेषण

threatmap में अब ग्राफ इंटेलिजेंस शामिल है जो संसाधनों के बीच संबंधों का पता लगाता है। यह स्वचालित रूप से "श्रृंखलित" खतरों की पहचान करता है जहाँ एक संसाधन (जैसे, इंटरनेट-एक्सपोज्ड EC2) से समझौता सीधे दूसरे (जैसे, निजी S3 बकेट) की ओर ले जाता है, और उन्हें विशेषाधिकार वृद्धि आक्रमण पथ के रूप में चिह्नित करता है।

कस्टम YAML नियम

आप अपने प्रोजेक्ट रूट में threatmap_rules.yaml बनाकर आंतरिक सुरक्षा आवश्यकताओं को परिभाषित कर सकते हैं।

root@kitploit:~
rules:
  - resource_type: "aws_s3_bucket"
    property: "force_destroy"
    expected: false
    stride: "Tampering"
    severity: "MEDIUM"
    description: "Production buckets should not have force_destroy enabled."
    mitigation: "Set force_destroy = false."

शमन संकेत

अधिकांश निष्कर्षों में अब एक remediation फ़ील्ड शामिल है (JSON, HTML और SARIF रिपोर्ट में दिखाई देता है) जो सुरक्षा समस्या को ठीक करने के लिए आवश्यक सटीक कोड स्निपेट प्रदान करता है।


आर्किटेक्चर

STRIDE विश्लेषक — प्रदाता-विशिष्ट थ्रेट नियम:

root@kitploit:~
threatmap/analyzers/
├── aws.py         # 22 नियम — S3, IAM, EC2, RDS, EKS, CloudTrail, KMS, Lambda
├── azure.py       # 19 नियम — Storage, Key Vault, NSG, RBAC, AKS, ACR, SQL
├── gcp.py         # 15 नियम — GCS, Firewall, Compute, Cloud SQL, GKE, IAM, KMS
└── kubernetes.py  # 17 नियम — workloads, RBAC, network, secrets

MITRE ATT&CK विश्लेषक — 11 नियम MITRE रणनीति से मैप किए गए:

  • संसाधन-जागरूक तकनीक चयन
  • समर्थन: IAM, Storage, Network, Compute, Kubernetes, Databases
  • थ्रेट इंटेलिजेंस संरेखण के लिए रणनीति→तकनीक मैपिंग प्रदान करता है

PASTA विश्लेषक — 12 नियम एसेट-केंद्रित फोकस के साथ:

  • संसाधनों को एसेट प्रकार (डेटा, पहचान, गणना, नेटवर्क, अवसंरचना) द्वारा वर्गीकृत करता है
  • थ्रेट अभिनेताओं (आंतरिक, बाहरी, गलत कॉन्फ़िगरेशन, आपूर्ति श्रृंखला) की पहचान करता है
  • प्रत्येक खतरे के लिए आक्रमण परिदृश्य निर्दिष्ट करता है

API:

  • REST API: /health, /version, /rules, /analyze, /analyze/file
  • GraphQL API: /graphql क्वेरी (health, version, rules) और म्यूटेशन (analyze) के साथ

प्रत्येक नियम एक फ़ंक्शन है जो एक Resource ऑब्जेक्ट प्राप्त करता है (जो भी स्रोत प्रारूप पार्स किया गया था, उससे सामान्यीकृत) और यदि शर्त पूरी होती है तो Threat लौटाता है। नियम सादे Python सशर्त हैं — कोई DSL नहीं, कोई regex इंजन नहीं, कोई बाहरी नियमसेट फ़ाइल नहीं।

गंभीरता कैसे निर्धारित की जाती है

गंभीरता शोषण क्षमता और विस्फोट त्रिज्या दोनों को दर्शाती है:

गंभीरताअर्थ
CRITICALबिना किसी अतिरिक्त शर्त के सीधे शोषण योग्य (जैसे, 0.0.0.0/0 के लिए SSH खुला, वाइल्डकार्ड IAM नीति, अज्ञात को क्लस्टर-एडमिन बाइंडिंग)
HIGHएक अतिरिक्त चरण की आवश्यकता वाला महत्वपूर्ण जोखिम (जैसे, सार्वजनिक पहुँच के साथ अनएन्क्रिप्टेड RDS, EC2 इंस्टेंस पर IMDSv1)
MEDIUMगहराई में रक्षा नियंत्रण अनुपलब्ध — तत्काल जोखिम कम लेकिन सुरक्षा आधार रेखा का उल्लंघन (जैसे, कोई वर्जनिंग नहीं, कोई लॉगिंग नहीं, कोई संसाधन सीमा नहीं)
LOWसीमित स्वतंत्र शोषण क्षमता वाले सर्वोत्तम अभ्यास अंतराल (जैसे, Lambda VPC में नहीं)

झूठी सकारात्मकता से कैसे बचा जाता है

  • कोई ह्यूरिस्टिक्स या ML नहीं — प्रत्येक नियम एक ठोस, असंदिग्ध गुण मान पर फ़ायर करता है (जैसे publicly_accessible = true, Principal: "*")।
  • रूढ़िवादी डिफ़ॉल्ट — यदि कोई गुण अनुपस्थित है, तो नियम असुरक्षित डिफ़ॉल्ट मान लेता है (जैसे, EC2 इंस्टेंस पर कोई metadata_options ब्लॉक नहीं होने का अर्थ है IMDSv1 सक्रिय, क्योंकि यह AWS का डिफ़ॉल्ट है)।
  • कोई क्रॉस-अकाउंट या रनटाइम स्थिति नहीं — उपकरण केवल टेम्पलेट में घोषित चीज़ों को देखता है। यह अनुमान लगाने का प्रयास नहीं करता कि SCP, अनुमति सीमाएँ या रनटाइम कॉन्फ़िगरेशन किसी निष्कर्ष को कम कर सकते हैं।
  • इंजन में डुप्लिकेशन हटाना — निष्कर्ष (stride_category, resource_name, trigger_property) पर कुंजीबद्ध होते हैं, इसलिए एक ही तार्किक समस्या कभी दो बार रिपोर्ट नहीं की जाती, भले ही वह कई फ़ाइल प्रारूपों में दिखाई दे।

CI एकीकरण

root@kitploit:~
# .github/workflows/threat-model.yml
name: Threat Model

on: [pull_request]

jobs:
  threatmap:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Python सेट करें
        uses: actions/setup-python@v5
        with:
          python-version: "3.11"

      - name: threatmap इंस्टॉल करें
        run: pip install threatmap

      - name: थ्रेट मॉडल स्कैन चलाएँ
        run: |
          threatmap scan ./infra/ \
            --format markdown \
            --output threat-report.md \
            --fail-on HIGH

      - name: थ्रेट रिपोर्ट अपलोड करें
        if: always()
        uses: actions/upload-artifact@v4
        with:
          name: threat-report
          path: threat-report.md

--fail-on HIGH फ़्लैग जॉब को exit code 1 के साथ बाहर निकलने का कारण बनता है यदि कोई HIGH या CRITICAL थ्रेट पाया जाता है, जो PR मर्ज को अवरुद्ध करता है। अपलोड किया गया आर्टिफैक्ट समीक्षकों को पुल रिक्वेस्ट छोड़े बिना पूरी रिपोर्ट देता है।


STRIDE नियम कवरेज

प्रदातानियम
AWS (Terraform + CloudFormation)22
Azure (Terraform)19
GCP (Terraform)15
Kubernetes17
कुल73

प्रति प्रदाता श्रेणियाँ कवर:

प्रदाताSTRIDE
AWS✓✓✓✓✓✓
Azure✓✓✓✓—✓
GCP✓✓✓✓—✓
Kubernetes✓✓—✓✓✓

(S=स्पूफिंग, T=टैम्परिंग, R=रिपुडिएशन, I=सूचना प्रकटीकरण, D=सेवा अस्वीकृति, E=विशेषाधिकार वृद्धि)


विकास

परीक्षण चलाएँ:

root@kitploit:~
pytest tests/ -v

कवरेज के साथ चलाएँ:

root@kitploit:~
pytest tests/ --cov=threatmap --cov-report=term-missing

योगदान

  1. रिपॉजिटरी को फोर्क करें
  2. मौजूदा पैटर्न का पालन करते हुए threatmap/analyzers/<provider>.py में नियम जोड़ें
  3. tests/fixtures/ में एक फिक्स्चर जोड़ें जो नए नियम को ट्रिगर करे
  4. tests/test_analyzers.py में असर्टशन जोड़ें
  5. एक पुल रिक्वेस्ट खोलें
टूल डाउनलोड करें