Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
pytm — खतरे के मॉडलिंग के लिए एक पायथोनिक ढांचा | Kitploit
उपकरण/GitHubGitHub/izar/pytm
भेद्यता विश्लेषणDevSecOpsखतरा खुफियालर्निंग और शिक्षा
GitHubizar/pytm

pytm

खतरे के मॉडलिंग के लिए एक पायथोनिक ढांचा

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

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

सभी देखें →

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

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

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

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

build+test OpenSSF Best Practices

pytm: थ्रेट मॉडलिंग के लिए एक Pythonic फ्रेमवर्क

pytm logo

परिचय

पारंपरिक थ्रेट मॉडलिंग अक्सर बहुत देर से शुरू होती है, या कभी-कभी बिल्कुल भी नहीं होती। इसके अलावा, मैन्युअल रूप से डेटा फ़्लो और रिपोर्ट बनाना बेहद समय लेने वाला हो सकता है। pytm का लक्ष्य थ्रेट मॉडलिंग को बाईं ओर स्थानांतरित करना है, जिससे थ्रेट मॉडलिंग अधिक स्वचालित और डेवलपर-केंद्रित हो जाए।

विशेषताएँ

आपके इनपुट और आर्किटेक्चरल डिज़ाइन की परिभाषा के आधार पर, pytm स्वचालित रूप से निम्नलिखित आइटम उत्पन्न कर सकता है:

  • डेटा फ़्लो डायग्राम (DFD)
  • सीक्वेंस डायग्राम
  • आपके सिस्टम के लिए प्रासंगिक खतरे

आवश्यकताएँ

  • Linux/MacOS
  • Python 3.11+
  • Graphviz पैकेज
  • Java (OpenJDK 10 या 11)
  • plantuml.jar

शुरुआत करना

tm.py एक उदाहरण मॉडल है। आप इसे चलाकर रिपोर्ट और डायग्राम इमेज फ़ाइलें उत्पन्न कर सकते हैं जिनका यह संदर्भ देता है:

mkdir -p tm
./tm.py --report docs/basic_template.md | pandoc -f markdown -t html > tm/report.html
./tm.py --dfd | dot -Tpng -o tm/dfd.png
./tm.py --seq | java -Djava.awt.headless=true -jar $PLANTUML_PATH -tpng -pipe > tm/seq.png

एक उदाहरण Makefile भी है जो इन सभी को लक्ष्यों में समाहित करता है जिन्हें कई मॉडलों के लिए आसानी से साझा किया जा सकता है। यदि आपके पास GNU make इंस्टॉल है (Linux डिस्ट्रोज़ पर डिफ़ॉल्ट रूप से उपलब्ध है लेकिन OSX पर नहीं), तो बस चलाएँ:

make MODEL=the_name_of_your_model_minus_.py

आपके पास अपने मॉडल की उसी डायरेक्टरी में plantuml.jar होना चाहिए, या PLANTUML_PATH सेट करें।

सभी डिपेंडेंसीज़, जैसे pandoc या Java, इंस्टॉल करने से बचने के लिए, स्क्रिप्ट को एक कंटेनर के अंदर चलाया जा सकता है:

# do this only once
export USE_DOCKER=true
make image

# call this after every change in your model
make

शुरुआत करना - Devbox वेरिएंट

pytm की होस्ट निर्भरताओं के उपयोग को सरल बनाने के लिए उन्हें Devbox का उपयोग करके पूरी तरह से अलग किया जा सकता है। यह आमतौर पर OCI कंटेनर दृष्टिकोण की तुलना में कम ओवरहेड और अधिक सुविधाजनक विकल्प है।

  • Linux/MacOS पर Devbox इंस्टॉल करें: curl -fsSL https://get.jetify.com/devbox | bash
  • Windows/WSL पर Devbox इंस्टॉल करें
  • devbox के नवीनतम संस्करण में अपडेट करें: devbox version update
  • ~/.config/nix/nix.conf फ़ाइल में अपना GitHub एक्सेस टोकन सेट करें: access-tokens = github.com=YOUR_TOKEN_HERE
  • एक नया, पृथक शेल वातावरण बनाएं जिसमें प्रोजेक्ट की devbox.json फ़ाइल में निर्दिष्ट सभी टूल्स और पैकेज शामिल हों: devbox shell
  • अपने टर्मिनल में केवल python टाइप करने पर उपयोग किए जाने वाले Python executable का पूरा पथ which python कमांड का उपयोग करके प्रदर्शित करें। आउटपुट निम्नलिखित पथ होना चाहिए: .devbox/nix/profile/default/bin/python
  • निम्नलिखित कमांड चलाकर परीक्षण करें, जो sample.png नामक PNG फ़ाइल के रूप में एक DFD उत्पन्न करना चाहिए: ./tm.py --dfd | dot -Tpng -o sample.png
  • Devbox शेल वातावरण से बाहर निकलें: exit

शुरुआत करना - AI वेरिएंट

"लेकिन मुझे तो लगा था कि हम इस 'कोड लिखने' वाले काम से निपट चुके हैं!" - यह उन लोगों के लिए है जो AI सहायकों से बहुत ज़्यादा बातें करने का आनंद ले रहे हैं: अपने कोडिंग सहायक में OWASP pytm जोड़ने के कुछ तरीकों के लिए https://github.com/izar/tm_skills देखें (आपको अभी भी pytm की एक कार्यशील इंस्टॉल की आवश्यकता होगी!)।

उपयोग

सभी उपलब्ध आर्गुमेंट्स:

usage: tm.py [-h] [--debug] [--dfd] [--report REPORT] [--exclude EXCLUDE]
             [--seq] [--list] [--colormap] [--describe DESCRIBE]
             [--list-elements] [--json JSON] [--levels LEVELS [LEVELS ...]]
             [--stale_days STALE_DAYS]

options:
  -h, --help            show this help message and exit
  --debug               print debug messages
  --dfd                 output DFD
  --report REPORT       output report using the named template file (sample
                        template file is under docs/basic_template.md)
  --exclude EXCLUDE     specify threat IDs to be ignored
  --seq                 output sequential diagram
  --list                list all available threats
  --colormap            color the risk in the diagram
  --describe DESCRIBE   describe the properties available for a given element
  --list-elements       list all elements which can be part of a threat model
  --json JSON           output a JSON file
  --levels LEVELS [LEVELS ...]
                        Select levels to be drawn in the threat model (int
                        separated by comma).
  --stale_days STALE_DAYS
                        checks if the delta between the TM script and the code
                        described by it is bigger than the specified value in
                        days

stale_days तर्क यह निर्धारित करने का प्रयास करता है कि मॉडल स्क्रिप्ट (जिसे आप लिख रहे हैं) उस कोड से कितने दिनों दूर है जो मॉडल किए जा रहे सिस्टम को लागू करता है। आदर्श रूप से, सक्रिय रूप से विकसित सिस्टम के अधिकांश मामलों में वे काफी करीब होने चाहिए। आप अपने प्रोजेक्ट की नाड़ी और अपने खतरे के मॉडल की 'ताजगी' को मापने के लिए इसे समय-समय पर चला सकते हैं।

वर्तमान में उपलब्ध तत्व हैं: TM, Element, Server, ExternalEntity, Datastore, Actor, Process, Dataflow, Boundary, Lambda, LLM और Agent।

किसी तत्व के उपलब्ध गुणों को --describe के बाद तत्व का नाम देकर सूचीबद्ध किया जा सकता है:

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