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
shai-scan — Befehlszeilen-Scanner ohne Abhängigkeiten für npm/PyPI-Lieferkettenkompromittierungen. Erkennt kompromittierte Pakete in Lockfiles und systemweite IOCs von Angriffen wie Mini Shai-Hulud (CVE-2026-45321). | Kitploit
Tools/GitHubGitHub/digi4care/shai-scan
Management von Indicators of Compromise (IOC)Statische AnalyseSchwachstellenscannerCode-AnalyseDevSecOpsSecret-ErkennungBedrohungsanalyseLieferkettensicherheitIncident Response
GitHubdigi4care/shai-scan

shai-scan

Befehlszeilen-Scanner ohne Abhängigkeiten für npm/PyPI-Lieferkettenkompromittierungen. Erkennt kompromittierte Pakete in Lockfiles und systemweite IOCs von Angriffen wie Mini Shai-Hulud (CVE-2026-45321).

6vor 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 →
Repository anzeigen
Teilen

shai-scan

Zero-Dependency-CLI-Scanner für npm- und PyPI-Lieferkettenkompromittierungen.

npm version License: MIT Node.js

Warum?

Am 11. Mai 2026 kompromittierte ein sich selbst verbreitender Lieferkettenwurm namens Mini Shai-Hulud (CVE-2026-45321, GHSA-g7cv-rxg3-hmpx) das npm-Ökosystem. Der Malware wurde TeamPCP (auch bekannt als DeadCatx3, PCPcat, ShellForce, CipherForce) zugeschrieben. Er kaperte GitHub Actions OIDC-Tokens, um bösartige Pakete mit gültiger SLSA Build Level 3-Provenienz zu veröffentlichen. Er stahl Anmeldeinformationen aus CI/CD-Pipelines, Cloud-Anbietern und Kryptowährungs-Wallets und installierte Persistenz-Hooks in Claude Code und VS Code. Ein eingebauter Dead-Man-Switch drohte, das Home-Verzeichnis des Benutzers zu löschen, wenn npm-Tokens widerrufen wurden.

Betroffene Pakete umfassten TanStack Router und Start-Pakete, Mistral AI SDKs, OpenSearch-Client, UiPath-Tooling und Dutzende andere. Da Lieferkettenangriffe schnell ablaufen, benötigen Organisationen einen leichten, vertrauenswürdigen Scanner, den sie überall ausführen können, ohne ihrer eigenen Angriffsfläche neue Abhängigkeiten hinzuzufügen.

Funktionen

  • Lockfile-Scanning — Erkennt kompromittierte npm- und PyPI-Pakete in package-lock.json, pnpm-lock.yaml, yarn.lock, bun.lock, bun.lockb, poetry.lock, Pipfile.lock und requirements.txt
  • System-IOC-Prüfungen — Durchsucht laufende Prozesse, Dateisystem-Artefakte, Netzwerkverbindungen und bekannte Persistenzpfade auf Indikatoren einer Kompromittierung
  • Null Laufzeitabhängigkeiten — Verwendet nur Node.js/Bun-Built-ins (fs, path, child_process, os). Der Scanner erhöht Ihr Lieferkettenrisiko nicht
  • Mehrere Ausgabeformate — Menschenlesbarer Text, maschinenlesbares JSON und SARIF für GitHub Code Scanning
  • CI/CD-nativ — Exit-Codes für die Automatisierung ausgelegt ( = sauber, = Funde, = Fehler)

Installation

Keine Installation erforderlich. Direkt mit Ihrem bevorzugten Paket-Runner ausführen:

root@kitploit:~
# npx
npx @digi4care/shai-scan

# bunx
bunx @digi4care/shai-scan

# pnpm dlx
pnpm dlx @digi4care/shai-scan

Globale Installation (optional):

root@kitploit:~
npm install -g @digi4care/shai-scan
# oder
pnpm add -g @digi4care/shai-scan

Aus dem Quellcode:

root@kitploit:~
git clone https://github.com/digi4care/shai-scan.git
cd shai-scan
pnpm install
bun run src/cli.ts --help   # Bun (für die Entwicklung empfohlen)
# oder bauen und mit Node.js ausführen:
pnpm run build && node dist/cli.js --help

Verwendung

Aktuelles Projekt scannen

root@kitploit:~
npx @digi4care/shai-scan

Bestimmten Pfad scannen

root@kitploit:~
npx @digi4care/shai-scan ~/projects/my-app

JSON-Ausgabe für die Automatisierung

root@kitploit:~
npx @digi4care/shai-scan --json .

SARIF-Ausgabe für GitHub Code Scanning

root@kitploit:~
npx @digi4care/shai-scan --sarif --sarif-file results.sarif .

CI/CD-Exit-Codes

root@kitploit:~
#!/bin/bash
npx @digi4care/shai-scan --severity high . || {
  code=$?
  if [ "$code" -eq 1 ]; then
    echo "Lieferketten-Funde erkannt"
    exit 1
  elif [ "$code" -eq 2 ]; then
    echo "Scanner-Fehler"
    exit 2
  fi
}

CI/CD-Integration

GitHub Actions (Textausgabe)

root@kitploit:~
name: Supply Chain Scan
on:
  push:
    branches: [main]
  pull_request:
    branches: [main]

jobs:
  scan:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: pnpm/action-setup@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 22
      - run: pnpm install --frozen-lockfile
      - run: npx @digi4care/shai-scan --severity high .

GitHub Actions (SARIF-Upload)

root@kitploit:~
name: Supply Chain Scan SARIF
on:
  push:
    branches: [main]
  pull_request:
    branches: [main]
  schedule:
    - cron: '0 6 * * 1'

jobs:
  scan:
    runs-on: ubuntu-latest
    permissions:
      security-events: write
    steps:
      - uses: actions/checkout@v4
      - uses: pnpm/action-setup@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 22
      - run: pnpm install --frozen-lockfile
      - run: npx @digi4care/shai-scan --sarif --sarif-file results.sarif .
      - uses: github/codeql-action/upload-sarif@v3
        with:
          sarif_file: results.sarif

Ausgabeformate

FormatFlagBeschreibung

Beispiel-JSON-Auszug:

root@kitploit:~
[
  {
    "package": "@tanstack/react-router",
    "version": "1.169.5",
    "ecosystem": "npm",
    "severity": "critical",
    "campaign": "mini-shai-hulud-wave4",
    "cve": "CVE-2026-45321",
    "reference": "https://github.com/TanStack/router/security/advisories/GHSA-g7cv-rxg3-hmpx"
  }
]

Exit-Codes

CodeBedeutung
0Keine kompromittierten Pakete oder IOCs erkannt
1Ein oder mehrere Funde erkannt
2Laufzeitfehler (ungültiger Pfad, nicht lesbare Lockfile usw.)

Hinzufügen neuer Kampagnen

Wenn ein neuer Lieferkettenangriff entdeckt wird, aktualisieren Sie src/db.ts:

  1. Fügen Sie ein neues CompromisedVersion[]-Array mit den betroffenen Paketen und Versionen hinzu
  2. Hängen Sie ein neues Campaign-Objekt an das CAMPAIGNS-Array an, einschließlich CVE/GHSA-Identifikatoren, Schweregrad, Beschreibung, Referenz-URLs und IOC-Indikatoren
  3. Die Funktion buildLookup() erstellt die Nachschlagetabelle beim nächsten Lauf automatisch neu

Bei Verwendung von Bun ist kein Neubauschritt erforderlich. Änderungen an src/db.ts werden mit bun run src/cli.ts sofort wirksam. Für das npm-Paket führen Sie nach der Bearbeitung pnpm run build aus.

Sicherheitshinweise

  • Null Laufzeitabhängigkeiten: Der Scanner verwendet nur Node.js/Bun-Built-in-Module. Er lädt zur Laufzeit keinen Drittanbieter-Code herunter oder führt ihn aus, wodurch das Risiko eliminiert wird, dass der Scanner selbst zu einem Kompromittierungsvektor wird.

  • pnpm als Paketmanager: pnpm verwendet strikte Lockfiles, führt standardmäßig keine Lebenszyklus-Skripte aus und unterstützt inhaltsadressierbaren Speicher. Diese Eigenschaften verringern die Angriffsfläche im Vergleich zu anderen Paketmanagern.

  • Empfohlene .npmrc-Einstellungen: Für maximalen Schutz bei der Installation von Paketen fügen Sie Folgendes zu Ihrer Projekt- oder globalen .npmrc hinzu:

    root@kitploit:~
    ignore-scripts=true
    engine-strict=true
    
  • Keine Netzwerkaufrufe: shai-scan telefoniert nicht nach Hause, lädt keine Signaturen herunter und benötigt keinen API-Schlüssel. Alle Kampagnendaten werden mit dem Paket ausgeliefert.

Betroffene Pakete (Aktuelle Kampagne)

Die folgenden Pakete und Versionen sind bekanntermaßen in CVE-2026-45321 (Mini Shai-Hulud Wave 4) kompromittiert. Dies ist eine repräsentative Teilmenge; die vollständige Liste wird in src/db.ts gepflegt.

Lizenz

MIT. Siehe LICENSE für Details.

Haftungsausschluss

shai-scan ist eine Erkennungshilfe, kein Ersatz für umfassende Sicherheitsaudits, Abhängigkeitsüberprüfungen oder Bedrohungsanalyseplattformen. Es identifiziert bekannte kompromittierte Versionen basierend auf der mitgelieferten Datenbank; neue oder Zero-Day-Lieferkettenangriffe werden möglicherweise erst erkannt, wenn eine Kampagne hinzugefügt wird. Praktizieren Sie stets verteidigungsorientierte Tiefe: Prüfen Sie Abhängigkeiten, fixieren Sie Versionen, verifizieren Sie die Provenienz und überwachen Sie CI/CD-Pipelines.

Tool herunterladen
0
1
2
  • Pfadagnostisch — Akzeptiert jedes Verzeichnis; standardmäßig das aktuelle Arbeitsverzeichnis
  • Kampagnenbasierte Datenbank — Neue Angriffswellen werden als einzelne Kampagnen in src/db.ts hinzugefügt; die Datei aktualisieren und erneut ausführen
  • Text
    (Standard)
    Menschenlesbare Tabelle der Funde mit Schweregrad, Paketname, Version und Kampagnendetails
    JSON--jsonStrukturiertes JSON-Array der Funde, geeignet für die Aufnahme in SIEMs oder benutzerdefinierte Dashboards
    SARIF--sarifOASIS SARIF 2.1.0-Format für den Upload zu GitHub Code Scanning, GitLab Secure oder anderen SARIF-Konsumenten
    PaketÖkosystemKompromittierte Versionen
    @tanstack/react-routernpm1.169.5, 1.169.8
    @tanstack/vue-routernpm1.169.5, 1.169.8
    @tanstack/solid-routernpm1.169.5, 1.169.8
    @tanstack/router-corenpm1.169.5, 1.169.8
    @tanstack/react-startnpm1.167.68, 1.167.71
    @mistralai/mistralainpm2.2.2, 2.2.3, 2.2.4
    @mistralai/mistralai-azurenpm1.7.2, 1.7.3
    mistralaipypi2.4.6
    @opensearch-project/opensearchnpm3.5.3, 3.6.2, 3.7.0, 3.8.0
    @uipath/robotnpm1.3.4
    @squawk/airwaysnpm0.4.2, 0.4.3, 0.4.5
    @draftauth/corenpm0.13.1, 0.13.2
    @tallyui/corenpm0.2.1, 0.2.2, 0.2.3
    safe-actionnpm0.8.3, 0.8.4
    cmux-agent-mcpnpm0.1.3 - 0.1.8
    nextmove-mcpnpm0.1.3, 0.1.4, 0.1.5, 0.1.7
    ts-dnanpm3.0.1, 3.0.2, 3.0.4
    cross-stitchnpm1.1.3, 1.1.4, 1.1.6
    git-git-gitnpm1.0.8 - 1.0.12
    git-branch-selectornpm1.3.3 - 1.3.7
    agentwork-clinpm0.1.4, 0.1.5
    wot-apinpm0.8.1, 0.8.2, 0.8.4
    ml-toolkit-tsnpm1.0.4, 1.0.5
    @beproduct/nestjs-authnpm0.1.2 - 0.1.19
    @dirigible-ai/sdknpm0.6.2, 0.6.3
    @taskflow-corp/clinpm0.1.24 - 0.1.29
    @tolka/clinpm1.0.2, 1.0.3, 1.0.4, 1.0.6
    @supersurkhet/clinpm0.0.2 - 0.0.7
    guardrails-aipypi0.10.1