Was macht repo-security-scan?
Durchsucht ein Ziel-Repository nach sicherheitskritischen Schwachstellen und erstellt einen Bericht.
Funktionsumfang (MVP)
- Geheimnis-Scan mit gitleaks (lokaler Scan; Geheimnisse in Protokollen geschwärzt)
- Abhängigkeits-Schwachstellenscan mit osv-scanner (gleicht Abhängigkeiten mit OSV ab)
Ausgaben:
report.md– menschenlesbare Zusammenfassungsummary.json– maschinenlesbare Zusammenfassung- Rohausgaben der Tools (
gitleaks.json,osv.json) + Protokolle
Warum dieser Stack (Signal/Rauschen)
- gitleaks: starke Standardeinstellungen, schnell, einfache Unterdrückung von Fehlalarmen über
.gitleaks.toml/.gitleaksignore. - osv-scanner: präzise Abhängigkeits-Schwachstellenerkennung über OSV (breite Ökosystemunterstützung, im Allgemeinen weniger Rauschen als ökosystemspezifische „Audit“-Befehle).
(Weitere Scanner wie Semgrep/SAST und sprachspezifische Prüfer können später hinter einem expliziten --deep-Modus hinzugefügt werden, um laute CI-Fehler zu vermeiden.)
Sicherheit
- Schreibgeschützter Scan von Dateien.
- Lädt keinen Quellcode hoch.
- gitleaks-Ausgabe wird geschwärzt (
--redact) und der Bericht vermeidet das Drucken von Geheimnissen. - osv-scanner verwendet Netzwerkzugriff standardmäßig, um OSV abzufragen (und kann deps.dev für Paketmetadaten konsultieren). Es sendet Abhängigkeitsmetadaten, keinen Quellcode.
Verwendung
Lokal
Aus diesem Repository:
# Dieses Repository scannen und Ausgaben unter .repo-security-scan/out schreiben
bash scripts/repo-security-scan/scan.sh --repo .
# Ein anderes Repository scannen
bash scripts/repo-security-scan/scan.sh --repo /pfad/zum/ziel --out /tmp/repo-security-scan-out
# Den Bericht anzeigen
cat .repo-security-scan/out/report.md
Demo
bash scripts/demo.sh # scannt dieses Repository
bash scripts/demo.sh /pfad/repo # scannt ein Ziel-Repository
Ausgaben
Im Ausgabeverzeichnis (Standard: <skill-suite>/.repo-security-scan/out):
report.mdsummary.jsongitleaks.json,gitleaks.logosv.json,osv.log
Exit-Codes:
0keine Funde1Funde erkannt2Scanner-Fehler (fehlende Tools, Ausführungsfehler)
Konfiguration / Whitelists
Bevorzugen Sie repolokale Konfiguration beim Scannen eines bestimmten Projekts:
- gitleaks:
<repo>/.gitleaks.toml<repo>/.gitleaksignore
- osv-scanner:
<repo>/osv-scanner.toml(gilt nur für dieses Verzeichnis)
Dieses Skill-Set enthält auch konservative Standardeinstellungen unter:
.repo-security-scan/gitleaks.toml.repo-security-scan/.gitleaksignore.repo-security-scan/osv-scanner.toml
Um eine bestimmte osv-scanner-Konfigurationsdatei zu erzwingen:
bash scripts/repo-security-scan/scan.sh --repo /pfad/repo --osv-config /pfad/zu/osv-scanner.toml
Voraussetzungen installieren
- macOS:
brew install gitleaks osv-scanner jq
- Ubuntu:
sudo apt-get update && sudo apt-get install -y jq- Installieren Sie gitleaks + osv-scanner über die Veröffentlichungen oder kompilieren Sie sie über
go install.