Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
nano-analyzer — Ein minimaler, LLM-betriebener Zero-Day-Schwachstellenscanner von AISLE. | Kitploit
Tools/GitHubGitHub/weareaisle/nano-analyzer
Statische AnalyseSchwachstellenscannerSchwachstellenanalyseCode-AnalyseExploitationBinäranalyseMaschinelles LernenKI-Sicherheit
GitHubweareaisle/nano-analyzer

nano-analyzer

Ein minimaler, LLM-betriebener Zero-Day-Schwachstellenscanner von AISLE.

Repository anzeigen
305573vor 4 MonatenVon Kitploit geprüft
Webseite

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Nano-analyzer

Ein minimaler, auf LLM basierender Zero-Day-Schwachstellenscanner von AISLE.

aisle-nano-analyzer-diagram

Forschungsprototyp zu Demonstrationszwecken. Dies ist ein einfaches, aus einer einzigen Datei bestehendes Harness, das echte Zero-Day-Schwachstellen erkennen kann. Beachten Sie, dass es sich um einen Prototyp handelt, der auf C/C++-Speichersicherheitsfehler ausgerichtet ist und falsch-positive Ergebnisse liefern wird. Wir teilen ihn im Sinne der offenen Forschung so, wie er ist – seien Sie auf raue Kanten gefasst.

Funktionsweise

Nano-analyzer ist ein einfacher, aus einer einzigen Datei bestehender Python-Scanner, der Quellcode durch eine dreistufige LLM-Pipeline schickt:

  1. Kontexterzeugung – Ein Modell erstellt eine Sicherheitszusammenfassung über die Datei: was sie tut, wo nicht vertrauenswürdige Daten fließen, welche Puffer existieren und wie groß sie sind.
  2. Schwachstellenscan – Das gleiche Modell, mit dem Kontext versehen, sucht funktionsweise nach Zero-Day-Fehlern und gibt strukturierte Ergebnisse aus.
  3. Skeptische Triage – Jeder Fund wird in mehreren Runden von einem skeptischen Prüfer hinterfragt, der die Codebasis durchsuchen kann, um Verteidigungen zu verifizieren (oder zu widerlegen). Ein Schiedsrichter trifft die endgültige Entscheidung.

Ergebnisse werden als Markdown- und JSON-Dateien zur manuellen Überprüfung gespeichert.

Aktuelle Einschränkungen

Dies ist ein v0.1 Prototyp. Bitte beachten Sie Folgendes:

  • C/C++-Verzerrung. Die Prompts, Few-Shot-Beispiele und Heuristiken sind stark auf C/C++-Speichersicherheitsschwachstellen (Pufferüberläufe, NULL-Dereferenzierungen, Integer-Überläufe, Typverwechslungen) abgestimmt. Es scannt auch andere Sprachen, ist dort aber deutlich weniger effektiv.
  • Falsch-positive Ergebnisse. Auch mit mehrstufiger Triage sollten Sie damit rechnen, dass Funde bei genauerer Prüfung nicht standhalten. Überprüfen Sie immer manuell.
  • Falsch-negative Ergebnisse. Der Scanner kann ganze Schwachstellenklassen übersehen – Logikfehler, Wettlaufsituationen, kryptografische Probleme, Authentifizierungsumgehungen usw. Ein sauberer Scan bedeutet nicht, dass der Code sicher ist.
  • Analyse einzelner Dateien. Jede Datei wird unabhängig gescannt. Schwachstellen, die über Dateigrenzen hinweg aufgrund von Interaktionen zwischen Übersetzungseinheiten auftreten, werden wahrscheinlich übersehen.
  • LLM-abhängig. Die Ergebnisse variieren je nach verwendetem Modell. Verschiedene Modelle finden unterschiedliche Dinge und halluzinieren unterschiedliche falsch-positive Ergebnisse.

Einrichtung

Anforderungen

  • Python 3.8+
  • Ein OpenAI-API-Schlüssel (für OpenAI-Modelle) oder ein OpenRouter-API-Schlüssel (für andere Anbieter)
  • Optional: ripgrep (rg) für Triage-Grep-Abfragen
  • Optional: Google codesearch (csearch/cindex) für schnellere Grep-Abfragen in großen Repositories

Installation

root@kitploit:~
git clone https://github.com/weareaisle/nano-analyzer.git
cd nano-analyzer
# No dependency installation needed. Run directly:
python3 scan.py --help

API-Schlüssel

Setzen Sie Ihren API-Schlüssel als Umgebungsvariable:

root@kitploit:~
# For OpenAI models (model names without a slash, e.g. "gpt-5.4-nano"):
export OPENAI_API_KEY=sk-...

# For OpenRouter models (model names with a slash, e.g. "qwen/qwen3-32b"):
export OPENROUTER_API_KEY=sk-or-...

Der Scanner bestimmt anhand des Modellnamens, welcher Schlüssel verwendet wird: Enthält er einen /, wird über OpenRouter geroutet; andernfalls wird die OpenAI-API direkt verwendet.

Verwendung

Einfacher Scan

root@kitploit:~
# Scan a single file
python3 scan.py ./path/to/file.c

# Scan a directory recursively
python3 scan.py ./path/to/src/

Häufige Optionen

root@kitploit:~
# Use a different model
python3 scan.py ./src --model gpt-5.4

# Control parallelism
python3 scan.py ./src --parallel 30

# Point triage grep at the full repo root (useful when scanning a subdirectory)
python3 scan.py ./lib/crypto/ --repo-dir ./

# Only surface high-confidence findings
python3 scan.py ./src --min-confidence 0.7

# More triage rounds for higher accuracy (default: 5)
python3 scan.py ./src --triage-rounds 7

Alle Flags

FlagStandardBeschreibung
path(erforderlich)Zu scannende Datei oder Verzeichnis
--modelgpt-5.4-nanoModell für alle Phasen (Kontext, Scan, Triage)
--parallel50Maximale gleichzeitige Scan-API-Aufrufe
--triage-thresholdmediumFunde mit diesem Schweregrad oder höher einer Triage unterziehen
--triage-rounds5Triage-Runden pro Fund
--triage-parallel50Maximale gleichzeitige Triage-API-Aufrufe
--max-connectionsparallel + triage-parallelGesamtobergrenze für API-Aufrufe
--min-confidence0.0Nur Funde oberhalb dieser Sicherheit anzeigen (0,0–1,0)
--projectVerzeichnisnameProjektname, der in Triage-Prompts verwendet wird
--repo-dirautoRepository-Wurzel für Grep-Abfragen (auto: übergeordnetes Verzeichnis für Dateien, Scan-Verzeichnis für Ordner)
--output-dir~/nano-analyzer-results/<timestamp>/Wo Ergebnisse gespeichert werden
--max-chars200,000Dateien überspringen, die größer sind als
--verbose-triageausTriage-Fortschritt pro Runde anzeigen

Ausgabe

Ergebnisse werden unter ~/nano-analyzer-results/<timestamp>/ (oder --output-dir) gespeichert:

root@kitploit:~
<timestamp>/
├── summary.json              # maschinenlesbare Scan-Zusammenfassung
├── summary.md                # menschenlesbare Scan-Zusammenfassung
├── <filename>.md             # rohe Scannerausgabe pro Datei
├── <filename>.context.md     # Kontextzusammenfassung pro Datei
├── <filename>.json           # vollständige Ergebnisdaten pro Datei
├── triages/                  # detaillierte Triage-Begründung
│   └── T0001_<file>_<title>.md
├── findings/                 # Funde, die die Triage überstanden haben
│   └── VULN-001_<file>.md
├── triage.json               # alle Triage-Urteile
└── triage_survivors.md       # Zusammenfassung der validierten Funde

Funktionsweise der Triage

Wenn ein Scan ein Problem mit mittlerem oder höherem Schweregrad findet, wird die Triage-Pipeline gestartet:

  1. Ein skeptischer Prüfer untersucht den Fund im Vergleich zum tatsächlichen Code und kann die Codebasis durchsuchen, um behauptete Verteidigungen zu verifizieren oder zu widerlegen.
  2. Dies wiederholt sich über mehrere Runden (Standard: 5), wobei jeder Prüfer frühere Argumente sieht und ermutigt wird, neue Beweise zu finden, anstatt alte Punkte zu wiederholen.
  3. Ein abschließender Schiedsrichter liest alle Runden und fällt ein GÜLTIG/UNGÜLTIG-Urteil.
  4. Der Sicherheitswert (z.B. 80% [VVIVV→V]) spiegelt den Anteil der Runden wider, die GÜLTIG sagten.

Funde, die die Triage überstehen, werden mit vollständigen Begründungsketten in das Verzeichnis findings/ geschrieben.

Haftungsausschluss

Dieses Werkzeug ist ein Forschungsprototyp. Es ersetzt keine professionellen Sicherheitsaudits, manuelle Code-Reviews oder etablierte statische Analysetools. Verlassen Sie sich nicht darauf als Ihre einzige Sicherheitsbewertung. Verwendung auf eigene Gefahr.

Lizenz

Apache License 2.0

Tool herunterladen