
die blitzschnelle Pentesting-Suite.
Installation · Verwendung · Module · Dokumentation · Mitwirken
Schnelle, gleichzeitige Recon bis hin zur Ausnutzung in einer einzigen Binärdatei. Jeder Scanner teilt sich einen HTTP-Client mit Verbindungspool.
sif ist ein Recon- und Exploitation-Scanner, der die gesamte Kette in einer einzigen Binärdatei ausführt: Subdomain-Enumeration, Portscan, Crawler, Nuclei, Framework-/CVE-Erkennung, JS-Geheimnisextraktion, Web-Sicherheitslücken-Tests (CORS/XSS/Redirect), Cloud- und Übernahme-Checks. 25+ Scantypen, ein Befehl.
sif -u https://example.com -dnslist -ports -crawl -js -framework -nuclei
Nuclei und Colly sind als Bibliotheken einkompiliert und werden nicht als externes Programm ausgeführt (es gibt kein exec.Command im Quelltext), sodass es sich um eine einzige statische Binärdatei ohne Laufzeitabhängigkeiten handelt, die nichts verbinden muss.
Jeder Scanner läuft über einen gemeinsamen HTTP-Client und eine Work-Stealing-Worker-Pool. -proxy, -H, -cookie und -rate-limit gelten für den gesamten Durchlauf auf einmal, Verbindungen werden über den Scan hinweg gepoolt und wiederverwendet (ein Single-Host-Durchlauf verwendet eine Verbindung für ~50 Anfragen, anstatt 50-mal zu verbinden), und ein langsamer Host hält den Rest nicht auf. Dieser gemeinsame Client ist der praktische Grund, es anstelle einer Verkettung mehrerer separater Tools zu verwenden. Der Portscan basiert auf connect(), daher sind rustscan und nmap bei Roh-Portscans immer noch schneller.
Es liest Ziele von stdin und gibt Ergebnisse unter -silent einzeln pro Zeile aus, sodass es sich in Pipes verwenden lässt:
subfinder -d example.com | sif -silent -crawl -js -nuclei | notify
-diff macht einen erneuten Scan zu einem Monitor, der nur Änderungen meldet. -notify sendet Ergebnisse an Slack/Discord/Telegram/Webhook, und die Ausführung erfolgt als Export nach SARIF und Markdown.
brew tap vmfunc/sif
brew install sif
Installation mit einem bevorzugten AUR-Helfer:
yay -S sif
# or
paru -S sif
# nixpkgs (deklarativ: zu configuration.nix oder home-manager hinzufügen)
environment.systemPackages = [ pkgs.sif ];
# oder imperativ
nix profile install nixpkgs#sif
# oder einfach ausführen ohne Installation
nix run nixpkgs#sif -- -u https://example.com -headers -sh -framework
Das Repository enthält auch eine Flake, falls Sie aus dem Quellcode bauen möchten:
nix run github:vmfunc/sif
curl -1sLf 'https://dl.cloudsmith.io/public/sif/deb/setup.deb.sh' | sudo -E bash
sudo apt-get install sif
Laden Sie die neueste Binärdatei von den Releases herunter.
git clone https://github.com/vmfunc/sif.git
cd sif
make
Erfordert Go 1.25+
git clone https://aur.archlinux.org/sif.git
cd sif
makepkg -si
# Basis-Scan
./sif -u https://example.com
# Directory-Fuzzing
./sif -u https://example.com -dirlist medium
# Subdomain-Enumeration
./sif -u https://example.com -dnslist medium
# Portscan
./sif -u https://example.com -ports common
# JavaScript-Framework-Erkennung + Cloud-Fehlkonfiguration
./sif -u https://example.com -js -c3
# Shodan-Host-Intelligenz (erfordert SHODAN_API_KEY-Umgebungsvariable)
./sif -u https://example.com -shodan
# SecurityTrails-Domain-Discovery (erfordert SECURITYTRAILS_API_KEY-Umgebungsvariable)
# Entdeckt Subdomains + zugehörige Domains, scannt dann alle
./sif -u https://example.com -securitytrails -headers
# SQL-Recon + LFI-Scan
./sif -u https://example.com -sql -lfi
# Web-Sicherheitslücken-Tests (CORS, Open Redirect, Reflektiertes XSS)
./sif -u https://example.com -cors -redirect -xss
# Framework-Erkennung (mit CVE-Suche)
./sif -u https://example.com -framework
# Ein breiter Sweep
./sif -u https://example.com -dirlist small -dnslist small -ports common -headers -sh -cms -framework -git -whois
Führen Sie ./sif -h für alle Optionen aus.
Einige Unterbefehle laufen ohne Scan:
# Version ausgeben (Release-Builds sind gestempelt; lokale Builds verwenden git describe)
./sif version
# Die neuesten Release-Notes anzeigen (auch -pn)
./sif patchnote
Beim ersten Ausführen einer neuen Version gibt sif die Notizen dieser Version einmal aus. Setzen Sie SIF_NO_PATCHNOTES=1, um dies zu deaktivieren.
sif hat eine modulare Architektur. Module werden in YAML definiert und können von Benutzern erweitert werden.