
Runtime behavioral analysis tool, das verdächtige Pakete in Docker sandboxt, Systemaufrufe mit strace verfolgt, Prozesskaskaden in gerichtete Graphen abbildet und Supply-Chain-Angriffe mithilfe von YARA-Signaturen, ML-Anomalieerkennung und zeitlicher Musteranalyse erkennt.

TraceTree-Demo
TraceTree (cascade-analyzer) ist ein autonomer Sicherheitsorganismus, der für die agentische Ära entwickelt wurde. Es geht über einfaches Scannen hinaus und schafft ein robustes, gehärtetes und skalierbares Erkennungsökosystem. Wie sein Maskottchen, die Spinne, webt TraceTree mit seinen acht spezialisierten „Beinen" ein umfassendes Schutznetz um Ihren Entwicklungsworkflow.
TraceTree kann als Prüfinstanz verwendet werden, bevor Agenten oder Menschen einer Paketinstallation vertrauen. Siehe Export von Verhaltensbelegen für eine kleine JSON/SARIF-kompatible Belegform, die Ziel-Hash, Sandbox-Richtlinie, beobachtetes Verhalten, Artefakt-Hashes, Bewertung und Datenschutz-Standardeinstellungen zusammenfasst, ohne die rohen Syscall-Protokolle offenzulegen.
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
## Die 8 Beine der TraceTree-Spinne
1. **Bein 1: Sandbox-Isolation (Die Falle)** — Führt Ziele in isolierten Docker-Containern (oder einem leistungsstarken `direct`-Modus) aus, in denen Bedrohungen physisch eingeschlossen sind.
2. **Bein 2: Syscall-Parsing (Das Nervensystem)** — Eine hochpräzise Engine, die jede „Vibration“ (Systemaufruf) eines Prozesses an das Betriebssystem überwacht.
3. **Bein 3: Verhaltensgrafik (Das Netz)** — Zeichnet die „Kaskade“ auf, wie Prozesse, Dateien und Netzwerkknoten interagieren, unter Verwendung von NetworkX-Directed-Graphen.
4. **Bein 4: ML-Anomalieerkennung (Die Intuition)** — Ein benutzerdefiniert trainiertes Random-Forest-Modell (trainiert auf einem kleinen, repräsentativen Datensatz sauberer/bösartiger Pakete, plus optionalen Live-MalwareBazaar-Feeds), das mit hoher Zuversicht bösartige Absichten vorhersagt.
5. **Bein 5: YARA-Signaturvergleich (Die Erinnerung)** — Eine integrierte Bibliothek bekannter Malware-DNA und Exploit-Muster (Reverse Shells, Cryptominer, etc.).
6. **Bein 6: MCP-Sicherheitsprotokoll (Der Agentenschild)** — Spezialisierter Schutz für Model-Context-Protocol-Server, die die von KI-Agenten verwendeten Werkzeuge verteidigen.
7. **Bein 7: Security Guardian AI (Das proaktive Netz)** — Ein Pre-Commit „Smart Scanner“, der lokale LLMs (Qwen-Coder) verwendet, um Lecks und Injections abzufangen, bevor sie in Ihrem Verlauf landen.
8. **Bein 8: Zeitliche & N-Gramm-Analyse (Der DNA-Scan)** — Identifiziert Bedrohungen anhand des *Rhythmus* und der *Sequenz* ihrer Aktionen über die Zeit.
## So funktioniert es```
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
ip link set eth0 down), sodass ausgehende Verbindungsversuche zwar protokolliert, aber blockiert werden.strace -t -f -e trace=all getrace. Das Flag -t fügt Zeitstempel für die zeitliche Analyse hinzu, -f folgt Kindprozessen.monitor/parser.py) – Regex-basierter Parser, der mehrzeilige strace-Ausgaben sowie sowohl [pid]- als auch reine PID-Formate verarbeitet. Extrahiert Prozesserstellung, Dateizugriffe, Netzwerkverbindungen und Speicheroperationen. Jeder Syscall erhält ein Schweregrad-Gewicht (0–9) basierend auf seiner sicherheitsrelevanten Bedeutung.monitor/signatures.py) – Gleicht den geparsten Ereignisstrom mit 8 in data/signatures.json definierten Verhaltenssignaturmustern ab. Jede Übereinstimmung liefert Belege, die die auslösenden Ereignisse auflisten.monitor/timeline.py) – Erkennt 5 zeitbasierte Verhaltensmuster aus dem mit Zeitstempeln versehenen Ereignisstrom (z.B. Lesezugriff auf Anmeldeinformationen, gefolgt von einer externen Verbindung innerhalb von 5 Sekunden).graph/builder.py) – Baut einen gerichteten NetworkX-Graphen mit Prozess-, Datei- und Netzwerkknoten. Fügt zeitliche Kanten zwischen aufeinanderfolgenden Ereignissen derselben PID innerhalb eines 5-Sekunden-Fensters hinzu.ml/detector.py) – Extrahiert einen 10-Feature-Vektor aus dem Graphen und den geparsten Daten. Verwendet einen RandomForestClassifier, falls ein trainiertes Modell verfügbar ist, andernfalls einen IsolationForest, der auf 10 fest codierten Clean-Package-Baselines trainiert wurde. Schweregrad-Scores und zeitliche Musterzählungen erhöhen die endgültige Konfidenz.