TheAuditor – Lokale, datenbankbasierte Sicherheitsanalyseplattform
Der TheAuditor ist eine datenbankbasierte, lokale Sicherheitsanalyseplattform, die komplettes Code‑Indexing nutzt, um sehr schnelle und präzise Abfragen über ganze Projektcodebasen zu ermöglichen.
Allgemeine Beschreibung
- Multilinguales Sicherheits‑SAST‑Tool für Python, JavaScript/TypeScript, Go, Rust, Bash, Terraform/HCL.
- Läuft vollständig lokal; Code verlässt nie die Maschine.
- Optionale Netzwerk‑Features (
--offline), z. B. Versions‑Checks, Dokumentation‑Abruf, öffentliche Vulnerabilitäts‑Updates.
Hauptfunktionen
- Indexierung:
aud fullerstellt eine SQLite‑Datenbank (repo_index.db,graphs.db) mit allen Code‑Metadaten. - Abfragen:
aud query,aud explain,aud blueprint,aud impact,aud taint,aud boundaries,aud deadcode. - Analyse‑Engine:
- Python:
ast+ 27 spezialisierte Extractor‑Module (Framework‑, Security‑, Advanced‑Extraktoren). - JavaScript/TypeScript: TypeScript‑Compiler‑API via Node‑Prozess, bietet vollsemantische Typauflösung und Modulerstellung.
- Go/Rust/Bash: Tree‑sitter‑Parsing für strukturierte Analyse.
- Python:
- Architektonische Intelligenz: Hotspot‑Entdeckung, zirkuläre Abhängigkeiten, Baum‑Visualisierung (
aud blueprint). - Datenfluss & Tainting:
aud taint, vollständige Quell‑zu‑Sink‑Analyse,aud boundaries. - Planning & Refactoring: YAML‑gestütztes Task‑Management (
aud planning,aud refactor), prüft Aufgaben gegen die Datenbank. - ML‑Erweiterungen:
aud learn,aud suggest,aud session,aud fce(Four‑Vector‑Convergence).
Installation
pip install theauditoroder Repository‑Klone +pip install -e .- Benötigt Python 3.14+ (PEP 649).
- Zusätzliche Tools via
aud setup-ai(Node, Linter‑Runtime).
Einsatzbeispiele
- Indexieren:
aud full. - Architektur‑Erkundung:
aud blueprint --structure. - Sicherheits‑Check:
aud taint --severity high. - Verweis‑Abfrage:
aud query --symbol authenticate --show-callers.
Schlüssel‑Differenzierer
- Database‑First: Indexierung nur bei Datei‑Änderungen, Schnelle CTE‑Abfragen statt erneuten Parsen.
- Deterministische Abfragen: Kein Halluzinieren, keine Risiko‑Scores.
- Mehrdimensionale Analyse: Statisch, Strukturell, Prozess, Datenfluss (4‑Vector).
Beschränkungen
- Initialer Index (
aud full) dauert 1–10 min, je nach Codebasis. - Go/Rust haben keine Typauflösung.
- Kein IDE‑Integration, CLI‑basierte Tool.
- Nur Sicherheits‑Analyse; ergänzt Linters (mypy, eslint, Ruff).
- Nicht für C++ oder einmalige Dateiscans geeignet.
Nutzungs‑Hinweis
- Bietet Fakten, nicht subjektives Risiko‑Scoring.
- Ergebnisse interpretieren in Kontext.
- Für fortlaufende Entwicklung gedacht, nicht als “Ein‑mal‑Check”.
