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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
TraceTree — रनटाइम व्यवहार विश्लेषण उपकरण जो संदिग्ध पैकेजों को Docker में सैंडबॉक्स करता है, strace के साथ syscalls को ट्रेस करता है, प्रक्रिया कैस्केड को निर्देशित ग्राफ में मैप करता है, और YARA सिग्नेचर, ML विसंगति का पता लगाने और अस्थायी पैटर्न विश्लेषण का उपयोग करके सप्लाई चेन हमलों का पता लगाता है। | Kitploit
उपकरण/GitHubGitHub/tejasprasad2008-afk/tracetree
कंटेनर सुरक्षागतिशील विश्लेषण (सैंडबॉक्सिंग)मालवेयर विश्लेषणDevSecOpsखतरा खुफियाआपूर्ति श्रृंखला सुरक्षामशीन लर्निंगलर्निंग और शिक्षाघटना प्रतिक्रिया

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

सभी देखें →

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

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

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

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

विवरण

रनटाइम व्यवहार विश्लेषण उपकरण जो संदिग्ध पैकेजों को Docker में सैंडबॉक्स करता है, strace के साथ syscalls को ट्रेस करता है, प्रक्रिया कैस्केड को निर्देशित ग्राफ में मैप करता है, और YARA सिग्नेचर, ML विसंगति का पता लगाने और अस्थायी पैटर्न विश्लेषण का उपयोग करके सप्लाई चेन हमलों का पता लगाता है।

GitHubtejasprasad2008-afk/tracetree

TraceTree

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

TraceTree

TraceTree Banner

TraceTree Demo

TraceTree (cascade-analyzer) एक स्वायत्त सुरक्षा जीव है जो एजेंटिक युग के लिए डिज़ाइन किया गया है। यह साधारण स्कैनिंग से आगे बढ़कर एक मजबूत, कठोर और स्केलेबल डिटेक्शन इकोसिस्टम बनाता है। अपने मस्कॉट, मकड़ी की तरह, TraceTree अपने आठ विशेष "पैरों" का उपयोग करके आपके डेवलपमेंट वर्कफ़्लो के चारों ओर सुरक्षा का एक व्यापक जाल बुनता है।

विषय सूची

  • रिपॉजिटरी संरचना
  • व्यवहार रसीद निर्यात
  • TraceTree मकड़ी के 8 पैर
  • यह कैसे काम करता है
  • यह क्या पता लगाता है
    • व्यवहार संकेत
    • अस्थायी पैटर्न
  • समर्थित लक्ष्य
  • त्वरित प्रारंभ (इंस्टॉलेशन पर जाएं)
    • पूर्वापेक्षाएँ
    • इंस्टॉल करें
    • विश्लेषण चलाएं
  • CLI संदर्भ
  • MCP सर्वर सुरक्षा विश्लेषण
  • आर्किटेक्चर अवलोकन
  • सीमाएँ और अंधी धब्बे

व्यवहार रसीद निर्यात

TraceTree का उपयोग एजेंटों या मनुष्यों द्वारा पैकेज इंस्टॉल पर भरोसा करने से पहले समीक्षा गेट के रूप में किया जा सकता है। एक छोटे JSON/SARIF-अनुकूल रसीद आकार के लिए व्यवहार रसीद निर्यात देखें जो लक्ष्य हैश, सैंडबॉक्स नीति, देखा गया व्यवहार, आर्टिफैक्ट हैश, निर्णय और गोपनीयता डिफ़ॉल्ट को बिना कच्चे syscall लॉग को उजागर किए सारांशित करता है।

रिपॉजिटरी संरचना

TraceTree रिपॉजिटरी इस प्रकार व्यवस्थित है:``` TraceTree/ ├── api/ # API stubs ├── codebase-analysis-docs/ # Architecture documents and knowledge guides ├── data/ # Behavioral signatures, rules, and training datasets ├── docs/ # Documentation assets ├── examples/ # Demo scripts and usage examples ├── frontend/ # Next.js/React web dashboard ├── graph/ # NetworkX directed graph builder ├── hooks/ # Git/Shell hooks for background monitoring ├── logs/ # Execution trace logs and strace outputs ├── macapp/ # Native macOS menu bar app ├── mascot/ # Console ASCII spider mascot ├── mcp/ # MCP server security testing module ├── ml/ # Machine learning classification and anomaly detection ├── monitor/ # Core syscall parser, YARA matching, and timelines ├── orchestrator/ # TypeScript multi-agent coordination server ├── repocheckai/ # Repository analysis engine (TypeScript/Node) ├── samples/ # Malware and benign files for sandbox tests ├── sandbox/ # Docker container manager and strace sandbox ├── test_targets/ # Mock packages/servers for detection testing ├── tests/ # Unit, integration, and system tests ├── watcher/ # File system change listener daemon └── worker/ # Background task execution worker

root@kitploit:~
## TraceTree Spider के 8 पैर

1.  **पैर 1: सैंडबॉक्स आइसोलेशन (जाल)** — लक्ष्य को अलग-थलग Docker कंटेनरों (या एक उच्च-प्रदर्शन `direct` मोड) में निष्पादित करता है, जहाँ खतरे भौतिक रूप से समाहित रहते हैं।
2.  **पैर 2: सिस्कॉल पार्सिंग (तंत्रिका तंत्र)** — एक उच्च-सटीकता इंजन जो प्रक्रिया द्वारा OS को किए गए प्रत्येक "कंपन" (सिस्टम कॉल) पर नज़र रखता है।
3.  **पैर 3: व्यवहारिक ग्राफिंग (जाल)** — NetworkX निर्देशित ग्राफ़ का उपयोग करके प्रक्रियाओं, फ़ाइलों और नेटवर्क नोड्स के बीच "कैस्केड" अंतःक्रिया का मानचित्रण करता है।
4.  **पैर 4: ML विसंगति पहचान (अंतर्ज्ञान)** — एक अनुकूलित प्रशिक्षित रैंडम फ़ॉरेस्ट मॉडल (स्वच्छ/दुर्भावनापूर्ण पैकेजों के एक छोटे, प्रतिनिधि डेटासेट पर प्रशिक्षित, साथ ही वैकल्पिक लाइव MalwareBazaar फ़ीड के साथ) जो उच्च आत्मविश्वास के साथ दुर्भावनापूर्ण इरादे की भविष्यवाणी करता है।
5.  **पैर 5: YARA सिग्नेचर मैचिंग (स्मृति)** — ज्ञात मैलवेयर DNA और एक्सप्लॉइट पैटर्न (रिवर्स शेल्स, क्रिप्टोमाइनर, आदि) का एक एकीकृत पुस्तकालय।
6.  **पैर 6: MCP सुरक्षा प्रोटोकॉल (एजेंट ढाल)** — मॉडल कॉन्टेक्स्ट प्रोटोकॉल सर्वरों के लिए विशेष सुरक्षा, AI एजेंटों द्वारा उपयोग किए जाने वाले उपकरणों की रक्षा करना।
7.  **पैर 7: सुरक्षा गार्जियन AI (सक्रिय जाल)** — एक प्री-कमिट "स्मार्ट स्कैनर" जो स्थानीय LLM (Qwen-Coder) का उपयोग करके लीक और इंजेक्शन को आपके इतिहास में पहुँचने से पहले पकड़ता है।
8.  **पैर 8: अस्थायी और N-ग्राम विश्लेषण (DNA स्कैन)** — उनकी क्रियाओं की समय-सीमा और अनुक्रम के आधार पर खतरों की पहचान करता है।

## यह कैसे काम करता है```
target ──► Docker sandbox (network dropped) ──► strace -t -f
                                               │
                                               ▼
                                          strace log
                                               │
                              ┌────────────────┼────────────────┐
                              ▼                ▼                ▼
                        strace parser      signature       temporal
                        (parser.py)     matcher (sigs)    analyzer
                              │                │                │
                              └───────┬────────┴────────────────┘
                                      ▼
                              NetworkX graph
                              (builder.py)
                                      │
                                      ▼
                          ML anomaly detection
                          (RandomForest / IsolationForest)
                                      │
                                      ▼
                                 verdict
  1. सैंडबॉक्स — लक्ष्य एक Docker कंटेनर के अंदर चलता है। इंस्टॉलेशन/निष्पादन शुरू होने से पहले नेटवर्क को हटा दिया जाता है (ip link set eth0 down), इसलिए किसी भी बाहरी कनेक्शन के प्रयासों को लॉग किया जाता है लेकिन अवरुद्ध कर दिया जाता है।
  2. strace — प्रत्येक syscall को strace -t -f -e trace=all के साथ ट्रेस किया जाता है। -t फ़्लैग अस्थायी विश्लेषण के लिए टाइमस्टैम्प जोड़ता है, -f चाइल्ड प्रोसेस का अनुसरण करता है।
  3. पार्सर (monitor/parser.py) — Regex-आधारित पार्सर जो मल्टी-लाइन strace आउटपुट और [pid] और bare-pid दोनों प्रारूपों को संभालता है। प्रक्रिया निर्माण, फ़ाइल एक्सेस, नेटवर्क कनेक्शन और मेमोरी ऑपरेशन निकालता है। प्रत्येक syscall को इसकी सुरक्षा प्रासंगिकता के आधार पर एक गंभीरता भार (0–9) दिया जाता है।
  4. हस्ताक्षर मिलान (monitor/signatures.py) — पार्स किए गए इवेंट स्ट्रीम को data/signatures.json में परिभाषित 8 व्यवहारिक हस्ताक्षर पैटर्न से मिलाता है। प्रत्येक मिलान उन विशिष्ट घटनाओं को सूचीबद्ध करने वाला साक्ष्य उत्पन्न करता है जिन्होंने इसे ट्रिगर किया।
  5. अस्थायी विश्लेषण (monitor/timeline.py) — टाइमस्टैम्प्ड इवेंट स्ट्रीम से 5 समय-आधारित व्यवहारिक पैटर्न का पता लगाता है (उदा., 5 सेकंड के भीतर क्रेडेंशियल रीड के बाद बाहरी कनेक्शन)।

यह क्या पता लगाता है

व्यवहारिक हस्ताक्षर (8 पैटर्न)

data/signatures.json में परिभाषित। प्रत्येक में एक गंभीरता (1–10), आवश्यक syscalls, फ़ाइल पैटर्न, नेटवर्क शर्तें और मिलान करने के लिए एक क्रमबद्ध अनुक्रम होता है।

अस्थायी पैटर्न (5 पैटर्न)

टाइमस्टैम्प्ड strace आउटपुट से पता लगाया गया। strace -t फ़्लैग की आवश्यकता है (डिफ़ॉल्ट रूप से सक्षम)।

गंभीरता-भारित Syscall स्कोरिंग

प्रत्येक 24 syscall प्रकारों का एक आधार गंभीरता भार होता है। उदाहरण:

  • mprotect with PROT_EXEC: 9.0
  • dup2 after a connect: 9.0
  • execve of unexpected binary: 7.0
  • connect to cloud metadata (169.254.x.x): 8.0
  • connect to PyPI/npm CDN: 0.0 (benign)
  • openat of /usr/lib/python/*: 0.0 (benign)

कुल गंभीरता स्कोर ML विश्वास गणना में फीड करता है।

नेटवर्क गंतव्य वर्गीकरण

प्रत्येक connect syscall को चार श्रेणियों में से एक में वर्गीकृत किया जाता है:

समर्थित लक्ष्य

त्वरित आरंभ

पूर्वापेक्षाएँ

  • Python 3.9+
  • Docker (चल रहा होना चाहिए)

इंस्टॉल```bash

git clone --depth 1 https://github.com/tejasprasad2008-afk/TraceTree.git cd TraceTree pip install -e .

root@kitploit:~
### एक विश्लेषण चलाएँ```bash
cascade-analyze --help

आउटपुट:``` ┌──────────────────────────────────────┐ │ TraceTree Security Analyzer │ │ Target: requests │ │ Analyzer Type: PIP │ └──────────────────────────────────────┘ ✔ Sandboxing requests (pip)... ✔ Parsing requests... ✔ Graphing requests... ✔ Detecting requests...

┌─ Cascade Graph: requests ────────────┐ │ pip install requests │ │ └─ pip (root) │ │ └─ net_151.101.1.69:443 (connect)│ │ └─ file_/usr/lib/python3.11/... │ └──────────────────────────────────────┘

┌─ Flagged Behaviors ──────────────────┐ │ No suspicious footprints flagged. │ └──────────────────────────────────────┘

root@kitploit:~
    ┌──────────┐
    │  CLEAN   │
    └──────────
    Confidence Score: 72.3%
root@kitploit:~
एक दुर्भावनापूर्ण पैकेज के लिए (उदाहरण के लिए, एक ज्ञात typosquat):```
 ┌─ Behavioral Signatures Matched ──────┐
 │ 🔴 credential_theft (severity 9/10) │
 │   Step 1: openat /etc/shadow         │
 │   Step 2: connect 45.33.32.156:4444  │
 └──────────────────────────────────────┘

 ┌─ Temporal Execution Patterns ────────┐
 │ 🔴 connect_then_shell (severity 10/10)│
 │   Window: 1500-4200 ms — External... │
 └──────────────────────────────────────┘

        ┌───────────┐
        │ MALICIOUS │
        └───────────┘
        Confidence Score: 99.9%
        Signatures: credential_theft | Temporal: connect_then_shell

CLI संदर्भ

cascade-analyze <target>

एकल पैकेज, बाइनरी या बल्क फ़ाइल का विश्लेषण करें।```bash

PyPI package

cascade-analyze requests cascade-analyze urllib33 # known typosquat

npm package

cascade-analyze package.json

DMG / EXE

cascade-analyze suspicious_app.dmg cascade-analyze payload.exe

Bulk analysis

cascade-analyze requirements.txt cascade-analyze package.json

Force target type

cascade-analyze ./some_file --type pip cascade-analyze ./some_file --type npm cascade-analyze ./some_file --type dmg cascade-analyze ./some_file --type exe

root@kitploit:~
**Subcommand: `cascade-analyze mcp`** — MCP सर्वर सुरक्षा विश्लेषण (नीचे MCP अनुभाग देखें).

**Subcommand: `cascade-analyze watch <repo>`** — सत्र संरक्षक (सत्र संरक्षक अनुभाग देखें).

**Subcommand: `cascade-analyze check <file>`** — त्वरित ऑन-डिमांड स्कैन.

### `cascade-watch <repo>`

स्टैंडअलोन सत्र संरक्षक। पैकेज मेनिफेस्ट के लिए एक निर्देशिका पर नज़र रखता है और पृष्ठभूमि सैंडबॉक्स विश्लेषण चलाता है।```bash
cascade-watch ./my-project
cascade-watch ./my-project --check setup.py    # on-demand scan
cascade-watch https://github.com/user/repo.git  # URL accepted but not cloned

टर्मिनल में एक स्पाइडर मैस्कॉट प्रदर्शित करता है और लूप में स्थिति की जाँच करता है। रोकने के लिए Ctrl+C दबाएँ। प्रति निर्देशिका केवल एक वॉचर की अनुमति है (लॉकफ़ाइल /tmp/tracetree_sessions/ पर)।

cascade-check <file>

एक विशिष्ट फ़ाइल का त्वरित एक-बार विश्लेषण। एक नया सैंडबॉक्स रन शुरू करता है और एक निर्णय लौटाता है।```bash cascade-check setup.py cascade-check ./payload.exe

root@kitploit:~
### `cascade-install-hook`

एक शेल हुक स्थापित करता है जो हर `git clone` के बाद `cascade-watch` को स्वचालित रूप से चलाता है।```bash
cascade-install-hook

यह ~/.bashrc या ~/.zshrc में एक source पंक्ति जोड़ता है। हुक स्क्रिप्ट ~/.local/share/tracetree/hooks/shell_hook.sh पर रहती है। स्थापना के बाद, प्रत्येक git clone एक पृष्ठभूमि वॉचर लॉन्च करेगा और /tmp/tracetree_<reponame>.log में लॉग करेगा।

cascade-train

इंटरैक्टिव प्रशिक्षण पाइपलाइन। एक MalwareBazaar API कुंजी के लिए संकेत देती है (वैकल्पिक — केवल स्थानीय डेटासेट पर प्रशिक्षण के लिए इसे छोड़ा जा सकता है), फिर:

  1. MalwareBazaar से नमूने इंगेस्ट करता है (यदि कुंजी प्रदान की गई है)
  2. प्रत्येक को sandbox pipeline के माध्यम से चलाता है
  3. निकाले गए फीचर्स पर एक RandomForestClassifier प्रशिक्षित करता है
  4. ml/model.skops में सहेजता है और कैश को अमान्य करता है```bash export MALWAREBAZAAR_AUTH_KEY="your-key" cascade-train
root@kitploit:~
## MCP सर्वर सुरक्षा विश्लेषण

The `cascade-analyze mcp` उपकमांड Model Context Protocol सर्वरों का दुर्भावनापूर्ण व्यवहार के लिए विश्लेषण करता है। यह सर्वर को एक सैंडबॉक्स कंटेनर में चलाता है, एक अनुकरणित MCP क्लाइंट के रूप में कार्य करता है ताकि प्रत्येक टूल को खोजा और लागू किया जा सके, फिर परिणामी syscall ट्रेस को वर्गीकृत करता है।```bash
# Analyze an npm MCP server
cascade-analyze mcp --npm @modelcontextprotocol/server-github

# Analyze a local MCP server project
cascade-analyze mcp --path ./my-mcp-server

# Allow network (for servers that legitimately need internet)
cascade-analyze mcp --npm @modelcontextprotocol/server-github --allow-network

# Force transport
cascade-analyze mcp --npm some-package --transport stdio
cascade-analyze mcp --npm some-package --transport http --port 3000

# JSON output
cascade-analyze mcp --npm some-package --output json

MCP विश्लेषण क्या करता है

  1. सैंडबॉक्स — सर्वर डिफ़ॉल्ट रूप से नेटवर्क ब्लॉक के साथ Docker में चलता है। strace -f से ट्रेस किया जाता है।
  2. क्लाइंट सिमुलेशन — JSON-RPC 2.0 initialize हैंडशेक, tools/list डिस्कवरी, सिंथेटिक आर्गुमेंट्स के साथ प्रत्येक टूल का सुरक्षित आह्वान।
  3. प्रतिकूल जांच — प्रत्येक टूल को इंजेक्शन पेलोड (; ls /etc, ../../../etc/passwd, <script>alert(1)</script>) के साथ पुनः आह्वान किया जाता है।
  4. फीचर निष्कर्षण — MCP-विशिष्ट विशेषताएँ: प्रति-टूल नेटवर्क कनेक्शन, शेल आह्वान, संवेदनशील फ़ाइल पढ़ना, प्रतिकूल इनपुट के तहत व्यवहार परिवर्तन।
  5. खतरा वर्गीकरण — 6 श्रेणियों वाला नियम-आधारित वर्गीकरणकर्ता:
  1. बेसलाइन तुलना — 5 सर्वर प्रकारों: filesystem, github, postgres, fetch, shell के लिए हार्डकोडेड बेसलाइनों के विरुद्ध syscall प्रोफाइल की तुलना करता है।

आर्किटेक्चर

sandbox/ — Docker कंटेनर जीवनचक्र प्रबंधन। python:3.11-slim पर आधारित Dockerfile से strace, wine64, p7zip-full, cabextract, Node.js और npm के साथ cascade-sandbox:latest बनाता है। लक्ष्य निष्पादन से पहले नेटवर्क इंटरफ़ेस को ड्रॉप करता है (ip link set eth0 down)। pip, npm, DMG और EXE लक्ष्यों का समर्थन करता है। विफलता पर strace लॉग पथ या खाली स्ट्रिंग लौटाता है।

monitor/parser.py — Regex-आधारित strace लॉग पार्सर। मल्टी-लाइन syscall प्रविष्टियों, [pid] और बेयर-pid दोनों प्रारूपों, और टाइमस्टैम्प्ड (-t) आउटपुट को संभालता है। 5 श्रेणियों (प्रक्रिया, नेटवर्क, फ़ाइल, मेमोरी, IPC) में 24 syscall प्रकारों को ट्रैक करता है। प्रति-घटना गंभीरता भार निर्धारित करता है, नेटवर्क गंतव्यों को वर्गीकृत करता है, और संवेदनशील फ़ाइल एक्सेस को फ़्लैग करता है। टाइमस्टैम्प और सापेक्ष मिलीसेकंड ऑफ़सेट के साथ संरचित घटना डेटा लौटाता है।

monitor/signatures.py — व्यवहारिक हस्ताक्षर मिलानकर्ता। data/signatures.json से 8 पैटर्न लोड करता है। अक्रमबद्ध मिलान (आवश्यक syscalls + फ़ाइल/नेटवर्क पैटर्न उपस्थित होने चाहिए) और क्रमबद्ध अनुक्रम मिलान (syscall-शर्त जोड़े क्रम में दिखने चाहिए) दोनों का समर्थन करता है। प्रत्येक मिलान को ट्रिगर करने वाली विशिष्ट घटनाओं को सूचीबद्ध करते हुए साक्ष्य के साथ मिलान किए गए हस्ताक्षर लौटाता है।

monitor/timeline.py — लौकिक पैटर्न विश्लेषक। क्रमबद्ध, टाइमस्टैम्प्ड घटना स्ट्रीम से 5 समय-आधारित व्यवहारिक पैटर्न का पता लगाता है। प्रत्येक पैटर्न एक गंभीरता, एक समय विंडो और ट्रिगरिंग शर्तों को निर्दिष्ट करता है। गंभीरता के अवरोही क्रम में क्रमबद्ध मिलान लौटाता है। केवल तब सक्रिय जब strace को -t (जो डिफ़ॉल्ट है) के साथ चलाया गया हो।

graph/builder.py — NetworkX निर्देशित ग्राफ निर्माण। प्रक्रियाओं, फ़ाइलों और नेटवर्क गंतव्यों के लिए नोड बनाता है। क्लोन संबंधों, syscall लक्ष्यों और लौकिक संबंधों (5 सेकंड के भीतर लगातार समान-PID घटनाएँ) के लिए एज जोड़ता है। नोड और एज को हस्ताक्षर मिलान और गंभीरता भार के साथ टैग किया जाता है। Cytoscape-संगत JSON और आंतरिक आँकड़े आउटपुट करता है।

ml/detector.py — विसंगति पहचान। 10-फीचर वेक्टर निकालता है (नोड गणना, एज गणना, नेटवर्क कनेक्शन, फ़ाइल पढ़ना, execve गणना, कुल गंभीरता, संदिग्ध नेटवर्क, संवेदनशील फ़ाइलें, अधिकतम गंभीरता, लौकिक पैटर्न गणना)। यदि प्रशिक्षित मॉडल स्थानीय रूप से उपलब्ध है या GCS से डाउनलोड करने योग्य है तो RandomForestClassifier का उपयोग करता है; 10 हार्डकोडेड स्वच्छ-पैकेज बेसलाइनों पर प्रशिक्षित IsolationForest पर वापस आता है। गंभीरता स्कोर और लौकिक पैटर्न गणना ML भविष्यवाणी से स्वतंत्र रूप से अंतिम विश्वास को बढ़ाते हैं।

mcp/ — MCP सर्वर विश्लेषण मॉड्यूल। छह फ़ाइलें: sandbox.py (MCP सर्वरों के लिए Docker सैंडबॉक्स), client.py (टूल डिस्कवरी और प्रतिकूल जांच के साथ JSON-RPC 2.0 क्लाइंट), features.py (सर्वर प्रकार पहचान के साथ MCP-विशिष्ट फीचर निष्कर्षण), classifier.py (नियम-आधारित खतरा वर्गीकरण), report.py (रिच कंसोल + JSON रिपोर्ट जनरेशन)।

watcher/session.py — सत्र संरक्षक। SessionWatcher वर्ग पृष्ठभूमि डेमॉन थ्रेड में चलता है। requirements.txt, package.json, setup.py और pyproject.toml को स्कैन करके पैकेजों की खोज करता है। प्रत्येक को सैंडबॉक्स पाइपलाइन के माध्यम से चलाता है। get_status() के माध्यम से स्थिति और Queue के माध्यम से परिणामों को उजागर करता है। /tmp/tracetree_sessions/ पर लॉकफ़ाइल के माध्यम से सत्र लॉकिंग।

mascot/spider.py — SpiderMascot वर्ग। 5 अवस्थाओं (idle, success, warning, scanning, confused) वाली ASCII मकड़ी। विश्लेषण के दौरान दृश्य प्रतिक्रिया के लिए CLI में उपयोग किया जाता है।

hooks/ — शेल हुक सिस्टम। shell_hook.sh git कमांड को लपेटता है ताकि git clone को इंटरसेप्ट करे और पृष्ठभूमि में cascade-watch शुरू करे। install_hook.py एक क्रॉस-प्लेटफ़ॉर्म इंस्टॉलर है जो bash/zsh को डिटेक्ट करता है और स्रोत लाइन को उपयुक्त RC फ़ाइल में जोड़ता है।

cli.py — Typer CLI प्रवेश बिंदु। सभी उप-कमांड पंजीकृत करता है। रिच प्रोग्रेस बार और फ़ॉर्मेटेड आउटपुट पैनल के साथ विश्लेषण पाइपलाइन को व्यवस्थित करता है।

सीमाएँ और अंधी धब्बे

  • ML मॉडल विश्वसनीयता — प्रशिक्षित RandomForest मॉडल केवल उतना ही अच्छा है जितना उसका प्रशिक्षण डेटा। वर्तमान मॉडल को पैकेजों के एक छोटे सेट पर प्रशिक्षित किया गया था। विश्वसनीय पहचान के लिए, एक बड़े, लेबल किए गए डेटासेट के साथ cascade-train चलाएँ। IsolationForest फ़ॉलबैक एक ह्युरिस्टिक बेसलाइन है, उत्पादन-गुणवत्ता वाला मॉडल नहीं।
  • नेटवर्क सैंडबॉक्स बहिष्करण — डिफ़ॉल्ट रूप से, सैंडबॉक्स स्कैनिंग के दौरान सक्रिय डेटा निष्कासन को रोकने के लिए पैकेज चलाने/स्थापित करने से पहले नेटवर्क एक्सेस को अक्षम करता है (ip link set eth0 down)। जबकि सुरक्षित, इसका मतलब है कि स्थापना के दौरान नेटवर्क हैंडशेक या C2 कनेक्शन की आवश्यकता वाला मैलवेयर अपने पेलोड को निष्पादित नहीं कर सकता है, या कुछ वैध इंस्टॉलर जिन्हें इंटरनेट कनेक्टिविटी की आवश्यकता होती है, विफल हो जाएंगे। इसे बायपास करने के लिए, नियंत्रित/सिंकहोल नेटवर्क मोड को सक्षम करने के लिए --controlled-network विकल्प पास करें।
  • कंटेनर और strace चोरी — उन्नत मैलवेयर यह पता लगा सकता है कि वह Docker कंटेनर के अंदर चल रहा है (cgroups, फ़ाइलसिस्टम सुराग आदि की जाँच करके) या यह पता लगा सकता है कि उसकी प्रक्रियाएँ strace/ptrace निगरानी के अंतर्गत हैं (ptrace(PTRACE_TRACEME, ...) कॉल करके या /proc/self/status में TracerPid की जाँच करके)। यदि चोरी ट्रिगर होती है, तो मैलवेयर जल्दी समाप्त हो सकता है या केवल हानिरहित कार्य कर सकता है, पहचान से बच सकता है।
  • strace के लिए Linux आवश्यक है — सैंडबॉक्स Docker के अंदर Linux पर चलता है। macOS और Windows पर, Docker एक Linux VM चलाता है, जो काम करता है, लेकिन मूल macOS या Windows syscalls को ट्रेस नहीं किया जा सकता है। DMG स्क्रिप्ट और EXE बाइनरी Linux वातावरण में निष्पादित किए जाते हैं, जो उनकी व्यवहारिक निष्ठा को सीमित करता है।

योगदान

पुल अनुरोधों का स्वागत है। कृपया नई सुविधाओं को मौजूदा मॉड्यूल से अलग रखें।

लाइसेंस

MIT

टूल डाउनलोड करें
  • ग्राफ़ (graph/builder.py) — प्रक्रिया, फ़ाइल और नेटवर्क नोड्स के साथ एक NetworkX निर्देशित ग्राफ़ बनाता है। 5-सेकंड विंडो के भीतर लगातार समान-PID इवेंट्स के बीच अस्थायी किनारे जोड़ता है।
  • ML (ml/detector.py) — ग्राफ़ और पार्स किए गए डेटा से 10-फीचर वेक्टर निकालता है। यदि प्रशिक्षित मॉडल उपलब्ध है तो RandomForestClassifier का उपयोग करता है, अन्यथा 10 हार्डकोडेड क्लीन-पैकेज बेसलाइन पर प्रशिक्षित IsolationForest पर वापस आ जाता है। गंभीरता स्कोर और अस्थायी पैटर्न गणना अंतिम विश्वास को बढ़ाती है।
  • SignatureSeverityWhat it catches
    reverse_shell10बाहरी कनेक्शन → dup2 → execve /bin/sh
    container_escape10/proc/1/, /sys/fs/cgroup, /var/run/docker.sock का openat
    credential_theft9/etc/shadow, .ssh/, .aws/ का openat → बाहरी कनेक्शन
    typosquat_exfil9गुप्त पढ़ना (.env, .npmrc) → pastebin/file.io/transfer.sh से कनेक्ट
    process_injection9mprotect PROT_EXEC → गैर-मानक बाइनरी का execve
    crypto_miner8clone → clone → माइनिंग पूल पोर्ट (3333, 4444, 14444, 45700) से कनेक्ट
    dns_tunneling7पोर्ट 53/5353 पर getaddrinfo + sendto + socket
    persistence_cron7crontab पथ का openat → write
    PatternSeverityTrigger condition
    connect_then_shell103 सेकंड के भीतर बाहरी कनेक्शन → execve /bin/sh
    credential_scan_then_exfil95 सेकंड के भीतर संवेदनशील फ़ाइल पढ़ना → बाहरी कनेक्शन
    delayed_payload8>10s का अंतराल फिर संदिग्ध गतिविधि का विस्फोट (ड्रॉपर व्यवहार)
    rapid_file_enumeration71 सेकंड के भीतर 10+ फ़ाइल खोलना (स्कैनिंग व्यवहार)
    burst_process_spawn72 सेकंड के भीतर 5+ clone/execve
    CategoryCriteriaRisk score
    safe_registryIP ज्ञात PyPI/npm/GitHub CDN श्रेणियों से मेल खाता है0.0
    known_benignअवर्गीकृत होस्ट के लिए मानक वेब पोर्ट (80/443)0.5
    suspiciousक्लाउड मेटाडेटा (169.254.x.x), कंटेनर से निजी IP, या संदिग्ध पोर्ट (4444, 1337, 31337, आदि)8.0–9.0
    unknownडिफ़ॉल्ट3.0
    Target typeHow it worksNotes
    PyPI पैकेजpip download (नेटवर्क के साथ), फिर pip install --no-index (नेटवर्क के बिना) strace के तहतसबसे विश्वसनीय। इंस्टॉलेशन से पहले नेटवर्क हटा दिया जाता है।
    npm पैकेजnpm install strace के तहत, ड्राई-रन के बाद नेटवर्क हटा दिया जाता हैसैंडबॉक्स इमेज में Node.js आवश्यक है।
    DMG फ़ाइलेंकंटेनर के अंदर 7z से निकाला गया। मिली स्क्रिप्ट्स (.sh, .py, .command), .pkg इंस्टॉलर, .app बंडल और बेयर Mach-O बाइनरी प्रत्येक को strace के तहत निष्पादित किया जाता है।सैंडबॉक्स इमेज में p7zip-full आवश्यक है। DMG निष्कर्षण एन्क्रिप्टेड या असामान्य स्वरूपों पर विफल हो सकता है। स्क्रिप्ट्स Linux कंटेनर में चलाई जाती हैं, इसलिए macOS-विशिष्ट व्यवहार निष्पादित नहीं होगा।
    EXE फ़ाइलेंwine64 के साथ strace -t -f और 30-सेकंड टाइमआउट के तहत चलाया जाता है। Wine आरंभीकरण शोर को strace लॉग से फ़िल्टर किया जाता है।सैंडबॉक्स इमेज में wine64 आवश्यक है। GUI ऐप्स जो उपयोगकर्ता इनपुट की प्रतीक्षा करते हैं, टाइमआउट हो जाएंगे। Wine का अनुवाद परत syscalls को Linux syscalls बनाता है, मूल Windows नहीं — कुछ Windows-विशिष्ट व्यवहार दिखाई नहीं दे सकता।
    खतरागंभीरताविवरण
    COMMAND_INJECTIONगंभीरटूल आर्गुमेंट के जवाब में शेल स्पॉन हुआ
    CREDENTIAL_EXFILTRATIONगंभीरगुप्त पढ़ने के बाद नेटवर्क कनेक्शन
    COVERT_NETWORK_CALLउच्चअनपेक्षित गंतव्य के लिए टूल कॉल के दौरान आउटबाउंड कनेक्शन
    PATH_TRAVERSALउच्चकार्य निर्देशिका के बाहर फ़ाइल पढ़ना
    EXCESSIVE_PROCESS_SPAWNINGमध्यमअनुपातहीन चाइल्ड प्रोसेस गणना
    PROMPT_INJECTION_VECTORउच्चटूल विवरण में शून्य-चौड़ाई वर्ण या इंजेक्शन भाषा शामिल है
  • wine64 EXE विश्लेषण सर्वोत्तम-प्रयास है — Wine Windows syscalls को Linux syscalls में अनुवादित करता है। कुछ Windows-विशिष्ट व्यवहार (रजिस्ट्री एक्सेस, COM ऑब्जेक्ट, Windows API कॉल) दृश्यमान Linux-स्तरीय syscalls उत्पन्न नहीं कर सकते हैं। GUI एप्लिकेशन जो उपयोगकर्ता इनपुट की प्रतीक्षा करते हैं, 30 सेकंड के बाद टाइमआउट हो जाएंगे।
  • DMG विश्लेषण सीमित है — DMG फ़ाइलों को 7z के साथ निकाला जाता है, जो एन्क्रिप्टेड या असामान्य प्रारूपों पर विफल हो सकता है। निकाली गई स्क्रिप्ट Linux कंटेनर में चलाई जाती हैं, इसलिए macOS-विशिष्ट व्यवहार (launchd, Keychain, आदि) निष्पादित नहीं होंगे।
  • API कार्यान्वयन — api/main.py वास्तविक TraceTree विश्लेषण पाइपलाइन को पृष्ठभूमि कार्यों के अंदर चलाने के लिए वायर्ड है। यह जॉब ट्रैकिंग के लिए इन-मेमोरी डेटाबेस (mock_db) का उपयोग करता है, और शुरू करने के लिए TRACETREE_API_KEYS पर्यावरण चर सेट होना आवश्यक है।
  • सत्र संरक्षक रिपॉजिटरी क्लोन नहीं करता — cascade-watch एक URL तर्क स्वीकार करता है लेकिन git clone नहीं करता है। यह स्थानीय निर्देशिका देखता है या वर्तमान कार्य निर्देशिका पर वापस आता है।