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
agentic-ioc-scanner — IOC-Scanner für agentische KI-Coding-Tools — erkennt Mini Shai-Hulud, Gemini CLI RCE, Cursor CVE-2026-26268 und DPRK PromptMink. | Kitploit
Tools/GitHubGitHub/dhawaldesai/agentic-ioc-scanner
Management von Indicators of Compromise (IOC)Statische AnalyseSchwachstellenscannerCode-AnalyseMalware-AnalyseBedrohungsanalyseLieferkettensicherheitPapers & ForschungLernen & BildungIncident ResponseKuratierte Ressourcen
vor 3 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
GitHub
dhawaldesai/agentic-ioc-scanner

agentic-ioc-scanner

IOC-Scanner für agentische KI-Coding-Tools — erkennt Mini Shai-Hulud, Gemini CLI RCE, Cursor CVE-2026-26268 und DPRK PromptMink.

Repository anzeigen

agentic-ioc-scanner

IOC-Scanner für agentische KI-Codierungswerkzeuge – erkennt Mini Shai-Hulud, Gemini-CLI-RCE, Cursor CVE-2026-26268 und DPRK PromptMink.

Ein Erkennungs-Kit für die Kompromittierung agentischer KI-Codierungsassistenten (Claude Code, Gemini CLI, Cursor) und der Abhängigkeiten, die sie in Ihre Repos ziehen. Elf Prüfungen über Hook-Injektion, RCE-Konfigurationen, bösartige Abhängigkeiten, Git-Hook-Hintertüren und CI-Workflow-Manipulation. Die IOC-Liste ist ausgelagert – das Hinzufügen neuer Indikatoren erfordert keine Codeänderungen.

Begleitender Blogbeitrag: When the Tool Fights Back.

Was ist enthalten

1. IOC-Scanner (scanner/ais.sh)

Elf Prüfungen, jede mit einem Inline-What: (Zweck) und Fix: (Behebung), die unter der Abschnittsüberschrift ausgegeben werden, damit der Bericht selbsterklärend ist. Die IOC-Liste liegt in scanner/iocs.txt (versioniert; mit IOC_FILE=/path/to/iocs.txt überschreibbar).

Nutzung:

root@kitploit:~
bash scanner/ais.sh
# Enter your project folder when prompted

# Custom IOC list:
IOC_FILE=./my-iocs.txt bash scanner/ais.sh

# Custom report path (default: ./agentic-ioc-scan-YYYYMMDD-HHMMSS.log):
REPORT_FILE=/var/log/agentic-scan.log bash scanner/ais.sh

Ausgabe

  • Befunde werden auf dem Terminal ausgegeben (farbig) und in eine Klartext-Berichtsdatei geschrieben (standardmäßig agentic-ioc-scan-YYYYMMDD-HHMMSS.log, ANSI-bereinigt via tee → sed).
  • Schweregrad-Tags: [CRITICAL] (jetzt handeln), [WARNING] (wahrscheinlich bösartig – verifizieren), [REVIEW] (legitime Nutzung möglich – bestätigen), [OK] (sauber).
  • Befunde zu Dateiinhalten enthalten die Zeilennummer, an der der Indikator gefunden wurde (path:line-Form). Abschnitte, die Zeilennummern ausgeben: §1 Hook, §2 Bun-Signatur, §3 Verschleierungssignal, §5 Preinstall-Schlüssel, §7 Gemini-Metazeichen, §8 Git-Hook-Referenz in AGENTS.md, §9 verdächtige Hook-Inhalte.
  • Der §11-Wurm-Remote-Befund meldet zusätzlich die betreffende .git/config-Zeile sowie die passende Remote-URL, sodass Sie direkt zu dem Eintrag springen können, der entfernt werden muss.
  • Die core.hooksPath-Umleitung (§9) meldet den absoluten Pfad zur .git/config des Repos, damit die Neuzuweisung auditierbar ist.

Beispiel-Befund

root@kitploit:~
[CRITICAL] Repo points to known worm exfil name
           Repo:   /home/dev/projects/myrepo
           Config: /home/dev/projects/myrepo/.git/config:9
           URL:    https://github.com/dhawaldesai/A-Mini-Shai-Hulud-has-Appeared

[CRITICAL] Malicious hook: /home/dev/projects/myrepo/.claude/settings.json:3
[CRITICAL] Suspicious git post-checkout hook: /home/dev/projects/myrepo/.git/hooks/post-checkout:2

Aktualisieren der IOCs

Bearbeiten Sie scanner/iocs.txt und erhöhen Sie den # version:-Header. Das Format ist TYPE|VALUE|NOTES. Unterstützte Typen:

Für neue IOCs ist keine Codeänderung erforderlich – der Scanner liest sie beim Start und gibt die geladene Version im Banner aus.

Abhängigkeiten

Erforderlich: bash, find, grep, awk, sed, git. Optional: jq (bevorzugt für §1 – fällt ohne jq auf eine grep-Heuristik zurück), npm (erforderlich für den §10-Paket-Globalcheck; der Abschnitt wird bei Nichtverfügbarkeit still übersprungen).

2. Scanner für betroffene Paketversionen (scanner/pkg_version_check.sh)

Begleitwerkzeug zum IOC-Scanner. Liest eine CSV mit betroffenen package,version-Paaren (z. B. den Mini-Shai-Hulud-IOC-Feed unter ~/Downloads/Mini Shai-Hulud - Sheet1.csv – 633 npm-Paket/Version-Paare) und prüft, ob diese in Folgendem vorkommen:

  1. Einem vom Benutzer angegebenen lokalen Projektverzeichnis – scannt package.json, package-lock.json, yarn.lock, pnpm-lock.yaml sowie installierte node_modules/<pkg>/package.json. PyPI-Manifeste (requirements.txt, poetry.lock, Pipfile.lock) werden ebenfalls geprüft, wenn die CSV nicht-scoped Namen enthält.
  2. Den GitHub-Repos des Benutzers – über die gh-CLI: Code-Suche über Lockfile-Typen, dann Exakt-Versionsvalidierung über die Dependency-Graph-SBOM-API (/repos/{owner}/{repo}/dependency-graph/sbom).

Schweregradmodell: exakter pkg@version-Treffer in einer Lockfile, node_modules/ oder SBOM → [CRITICAL]. Bereichsangabe (^1.2.3, ~1.2.3, >=…), die die betroffene Version einschließen könnte → [REVIEW]. Paketnamen-Treffer ohne Versionsbestätigung → [REVIEW]. Ausgabe auf dem Terminal und in ./shai-hulud-pkg-scan-YYYYMMDD-HHMMSS.log (ANSI-bereinigt), mit einer Schweregrad-Zusammenfassung am Ende.

Nutzung:

root@kitploit:~
# Interactive — prompts for project directory
bash scanner/pkg_version_check.sh

# Fully scripted (env-var overrides)
PROJECT_DIR=/path/to/project \
  IOC_CSV="$HOME/Downloads/Mini Shai-Hulud - Sheet1.csv" \
  REPORT_FILE=/var/log/pkg-scan.log \
  bash scanner/pkg_version_check.sh --skip-node-modules

CSV-Format: Spalte 1 = Paketname (scoped Namen wie @scope/pkg werden unterstützt), Spalte 2 = exakte betroffene Version. Eine Kopfzeile wird automatisch erkannt und übersprungen. Pfad mit IOC_CSV=… überschreiben.

Abhängigkeiten: bash, find, grep, awk, sed. Optional: jq (verbessert die Parse-Genauigkeit von node_modules/<pkg>/package.json), gh (für die GitHub-Phase erforderlich – die Phase wird bei fehlendem oder nicht authentifiziertem gh mit einer klaren Meldung übersprungen).

Bekannte Einschränkungen:

  • Die GitHub-Code-Suche übersieht Lockfiles >384KB und indexiert nur Standard-Branches – der SBOM-Pfad ist die maßgebliche Prüfung.
  • Die GitHub-Phase ist an ein Ratenlimit gebunden (10 Anfragen/min authentifiziert); gedrosselt auf ~5 Pakete pro 7 s, sodass eine vollständige CSV mit 633 Zeilen ~22 Minuten dauert. Führen Sie zuerst lokale Scans durch, die GitHub-Phase separat.
  • Die Lockfile-Analyse ist grep-basiert, nicht vollständig geparst – tief verschachtelte oder ungewöhnliche Formatierungen können zu falsch-negativen Ergebnissen führen. Der wertvollste nächste Schritt ist eine jq-basierte Lockfile-Analyse.
  • Die SBOM-API erfordert, dass der Dependency-Graph des Repos aktiviert und indexiert ist; Repos ohne diesen fallen auf [REVIEW] zurück.

3. Claude-Code-Sicherheitsrichtlinie (claude-code-policy/)

Präventionsebene für Claude Code, die die oben genannte Erkennungsebene ergänzt.

  • Blockiert die Ausführung von Projekt-Hooks (allowManagedHooksOnly)
  • Blockiert Schreibzugriffe auf .claude/settings.json
  • Blockiert die Ausführung bekannter Dropper-Muster
  • Blockiert curl-, wget- und bun-Befehle aus der Agent-Werkzeugnutzung

Installation:

root@kitploit:~
# Copy managed settings (cannot be overridden by projects)
cp claude-code-policy/managed-settings.json ~/.claude/managed-settings.json

# Copy the PreToolUse hook
mkdir -p ~/.claude/hooks
cp claude-code-policy/hooks/block_shai_hulud.py ~/.claude/hooks/
chmod +x ~/.claude/hooks/block_shai_hulud.py

Roadmap / bekannte Lücken

  • PyPI-Globalscan analog zu §10 (derzeit ist nur npm ls -g angebunden).
  • Serverseitiger pre-receive-Hook, um Pushes abzulehnen, die .claude/settings.json, .vscode/tasks.json oder .gemini/-Dateien von nicht-allowlisteten Autoren hinzufügen.
  • Optionale Integration mit GitHub Push Protection / Advanced Security.

Referenzen

  • When the Tool Fights Back – Begleitanalyse
  • Sophos: Mini Shai-Hulud supply chain attack on SAP npm packages
  • Mend.io: Shai-Hulud strikes SAP — supply chain worm weaponizes Claude Code
  • Wiz: Mini Shai-Hulud supply chain on SAP npm
  • Novee Security: Google Gemini CLI RCE — CVSS 10.0 advisory
  • The Hacker News: Google fixes CVSS 10 Gemini CLI CI/CD RCE (also covers Cursor CVE-2026-26268)
  • ReversingLabs: PromptMink — DPRK malware inserted into codebase via Claude
  • Endor Labs: Mini Shai-Hulud returns — 42 malicious npm packages with fake Sigstore badges in @antv ecosystem attack

Mitwirken

Issues und PRs sind willkommen – insbesondere für neue IOC-Einreichungen (in scanner/iocs.txt ergänzen und den Versions-Header erhöhen), zusätzliche plattformspezifische Scan-Roots und Erkennungsmuster für verwandte agentische Werkzeuge (Continue, Cody, Codex CLI, Aider).

Lizenz

MIT

Tool herunterladen
§PrüfungAbgedeckte Bedrohung
1Claude-Code-SessionStart-Hook-Injektion in beliebigen settings.json (jq-basiert, niedrige Fehlalarmrate)Mini-Shai-Hulud-Persistenz
2Bun-Runtime-Dropper-Signaturen in setup.mjsMini-Shai-Hulud-Installationsphase
3Verschleierte execution.js-Payloads – Größe plus Verschleierungssignal (einzeilig, base64, eval(atob(, child_process)Mini-Shai-Hulud-Credential-Dieb
4Malware-Lock-Dateien in $TMPDIR (Namen aus der IOC-Liste)Mini-Shai-Hulud-Sentinel
5preinstall-Skripte in package.json, die auf Dropper-Dateinamen verweisenGenerischer Einstiegspunkt für Supply-Chain-Würmer
6KI-verfasste Commits, die .github/workflows/ betreffen (E-Mail-Allowlist-Filter)CI-Manipulation durch kompromittierte KI-Agenten-Identität
7.gemini/-Konfigurationsdateien mit Shell-Metazeichen-MusternGemini-CLI-RCE mit CVSS 10.0 (vor v0.39.1)
8Cursor-AGENTS.md- und .cursor/-Konfigurationen, die auf Git-Hooks / Bare-Repos verweisenCursor CVE-2026-26268
9Git-post-checkout-/post-merge-/post-rewrite-/pre-commit-Hooks mit Fetch-und-Execute-Primitiven, plus core.hooksPath, das außerhalb der sicheren Allowlist umgeleitet wirdCVE-2026-26268-Exec-Primitive + generische Hook-Übernahme
10Global installierte und lokale node_modules-Pakete, abgeglichen gegen die IOC-ListeMini-Shai-Hulud-SAP-CAP-Set, DPRK PromptMink, zukünftige bösartige Pakete
11Git-Remotes, die mit bekannten Wurm-Exfiltrations-Repo-Namen übereinstimmen (Shai-Hulud, A Mini Shai-Hulud has Appeared)Signal für bestätigte Kompromittierung
  • Worktree-fähig: Wenn .git eine Datei ist (mit gitdir: …), wird das tatsächliche Git-Verzeichnis vor der Prüfung aufgelöst.
  • TypVerwendet vonBeispiel
    FILENAME§5 Preinstall-Mustersetup.mjs
    LOCKFILE§4 Lock-Datei-Scantmp.987654321.lock
    NPM§10 globaler + lokaler Paket-Scan@validate-sdk/v2
    PYPI§10 (wird abgeglichen, sobald ein PyPI-Scanner hinzugefügt wird)lightning
    HOOKSTRING§1 Hook-Inhaltsabgleich (derzeit inline codiert)SessionStart
    REPONAME§11 Git-Remote-AbgleichA Mini Shai-Hulud has Appeared
    EMAILSUBSTRINGreserviert für zukünftigen Commit-Autor-IOC-Abgleich—
    CONFIGPATHReferenzliste der Konfigurationspfade agentischer Werkzeuge.claude/settings.json