Finde Anmeldedaten und Geheimnisse mit über 170 Regeln, die Quellcode, Web-URLs und CI/CD abdecken, verifiziere sie gegen Vendor-APIs und generiere Berichte in SARIF, JSONL, HTML, PDF oder Excel.
DAST + SAST Secret-Scanner mit Live-Verifizierung, Source-Map-Parsing und CI-nativer Berichterstattung sowie einer SAST-Engine für Schwachstellen und Fehlkonfigurationen.
Finden Sie geleakte Anmeldedaten in Quellcodebäumen, laufenden Web-Apps und CI-Logs. Verifizieren Sie sie live gegen Vendor-APIs. Scannen Sie dieselben Quellcodebäume auf Code-Schwachstellen und Fehlkonfigurationen. Ausgabe als SARIF für Code-Scanning-Dashboards, JSONL für SOAR-Pipelines oder Excel/PDF/HTML für Kundenberichte.
Die dicht besiedelte Landschaft (gitleaks, trufflehog, detect-secrets) ist hervorragend für SAST auf Git-Bäumen, hört aber dort auf — und sie scannen nur nach Secrets. scan4secrets schließt die Lücken, die sie nicht abdecken, und ergänzt Live-Web-DAST, Live-Vendor-Verifizierung und eine Engine für Code-Schwachstellen / Fehlkonfigurationen zusätzlich zur Secret-Erkennung:
| Fähigkeit | gitleaks | trufflehog | detect-secrets | scan4secrets |
|---|---|---|---|---|
| SAST-Secret-Erkennung | Y | Y | Y | Y |
| DAST Live-Web-Crawl | - | - | - | Y |
| JS-Source-Map-Parsing | - | - | - | Y |
| JS-Endpoint-Extraktion | - | - | - | Y |
| HTTP-Header-Secret-Scan | - | - | - | Y |
| Live-Token-Verifizierung | - | Y | - | Y |
| SARIF-Ausgabe | Y | - | - | Y |
| Excel-/PDF-/HTML-Berichte | - | - | - | Y |
| Entropie-Gate + Allowlist | Y | Y | Y | Y |
| YAML-Regel-Schema | - (TOML) | - | - | Y |
| Authentifiziertes DAST (Cookie/Header/Proxy) | n/a | n/a | n/a | Y |
| SAST-Erkennung von Schwachstellen / Fehlkonfigurationen | - | - | - | Y |
Es ist eine Ergänzung zu gitleaks, kein Ersatz. Verwenden Sie beides: gitleaks in Pre-Commit + CI für SAST auf der Git-Historie, scan4secrets für Live-DAST gegen Staging/Produktion.
# from source
git clone https://github.com/m14r41/scan4secrets
cd scan4secrets
pip install -e .
# OR via pipx
pipx install git+https://github.com/m14r41/scan4secrets
# OR Docker
docker run --rm -v $(pwd):/scan ghcr.io/m14r41/scan4secrets:latest --path /scan
Nach der Installation liegt der Befehl scan4secrets in Ihrem PATH.
# SAST: scan a local directory
scan4secrets --path /code
# DAST: crawl a live target
scan4secrets --url https://staging.example.com --threads 32
# DAST runs ALL bundled wordlists by default (1279 paths: /.env, /wp-config.php, /backup.zip, ...)
scan4secrets --url https://target.com
# Use YOUR OWN wordlist file (replaces the bundled set)
scan4secrets --url https://target.com --wordlist /path/to/my-paths.txt
# Combine multiple custom wordlist files
scan4secrets --url https://target.com --wordlist seclists/Common.txt internal-paths.txt
# Restrict to specific bundled wordlists by stem
scan4secrets --url https://wp.example.com --wordlist-only wordpress common env
# Turn wordlist seeding off entirely (only follow live links)
scan4secrets --url https://target.com --no-wordlist
# Full audit with verification + HTML report
scan4secrets --path . --url https://app.example.com \
--verify --report html sarif json \
--output reports/audit-$(date +%F)
# Authenticated DAST with proxy (works with Burp / ZAP)
scan4secrets --url https://app.example.com \
--cookie "session=abc123" \
--header "X-Tenant: acme" \
--proxy http://127.0.0.1:8080
# CI gate (exit 1 if anything >= high)
scan4secrets --path . --report sarif --fail-on high \
--output reports/scan
# SAST: secrets + code vulnerabilities / misconfigurations
scan4secrets --path ./src --misconfig
# SAST: vulnerabilities / misconfigurations only (skip secret detection)
scan4secrets --path ./src --misconfig-only
--misconfig)Über Secrets hinaus liefert scan4secrets eine SAST-Engine für Code-Schwachstellen und Fehlkonfigurationen. Fügen Sie --misconfig hinzu, um sowohl nach Secrets als auch nach Schwachstellen zu scannen, oder --misconfig-only, um nur nach Schwachstellen zu scannen:
scan4secrets --path ./src --misconfig # secrets + vulnerabilities
scan4secrets --path ./src --misconfig-only # vulnerabilities only
scan4secrets --path . --misconfig --report html --output report
Es erkennt — mit Taint-/Kontext-Gating, um False Positives gering zu halten — SQL-Injection, NoSQL-Injection, OS-Command-Injection, Code-Injection (eval), SSTI, XXE, unsichere Deserialisierung, LFI / Path Traversal, LDAP- & XPath-Injection, SSRF, Open Redirect, CORS-Fehlkonfiguration, deaktiviertes CSRF, Prototype Pollution, XSS (reflected/stored/DOM über 11 Template-Engines: EJS, Handlebars, Pug, Jinja, Thymeleaf, Razor, Blade, ERB, Vue, Angular, React), schwache Krypto (DES/RC4/ECB/statischer IV/schwaches RSA), unsichere Zufälligkeit, JWT-Schwachstellen (alg:none, Algorithm Confusion, hartcodiertes Signing-Secret, deaktivierte Verifizierung), TLS-Bypässe, timing-unsichere Secret-Vergleiche, SAML Signature-not-required, hartcodierte Anmeldedaten, Logging sensibler Daten und IaC-/Config-Fehlkonfigurationen (Terraform, Kubernetes, Dockerfile, GitHub Actions, ASP.NET web.config, WCF/SOAP).
Abgedeckte Sprachen: python, node, javascript, typescript, react, php, ruby, go, java, kotlin, csharp/.NET, sql, plus XML/WSDL, JSP, Terraform/HCL, Kubernetes YAML und Dockerfile.
Jeder Schwachstellen-Fund enthält einen umfangreichen Datensatz: Vulnerability Name, Severity, Description, Evidence (file:line), Vulnerable Code, Secure Code, Remediation, Technical Impact, Business Impact und CWE + OWASP Top-10-Zuordnung.
Über die zeilenweise Engine hinaus erfasst ein Ganzdatei-Durchlauf Secrets, die Zeilen-Scanner übersehen: verschachtelte XML-Tags (<SMS_API_KEY><value>…</value></SMS_API_KEY>), getrennte <key>/<value>-Paare, JSON-Key/Value-Objekte, mehrzeiliges YAML/Properties und Base64-kodierte Secrets. Außerdem schließt es einen Blindfleck des Entropie-Gates — Zuweisungen mit Credential-Namen (z. B. AM_CLIENT_SECRET=…) werden anhand des Namens-Signals ohne Entropie-Untergrenze markiert, sodass echte Secrets mit niedriger Entropie nicht mehr stillschweigend verworfen werden.
416 Regeln insgesamt — 193 Secret-Regeln + 223 Regeln für Schwachstellen / Fehlkonfigurationen.
Secret-Regeln decken ab: