
молниеносно быстрый набор для пентестинга.
установка · использование · модули · документация · вклад
быстрая, конкурентная разведка и эксплуатация в одном бинарном файле. каждый сканер использует один HTTP-клиент с пулом соединений.
sif — это сканер для разведки и эксплуатации, который выполняет всю цепочку в одном бинарном файле: перечисление поддоменов, сканирование портов, краулер, nuclei, обнаружение фреймворков/CVE, извлечение секретов из JS, проверки веб-уязвимостей (CORS/XSS/редиректы), облачные и захватные проверки. 25+ типов сканирования, одна команда.
sif -u https://example.com -dnslist -ports -crawl -js -framework -nuclei
nuclei и colly скомпилированы как библиотеки, а не вызываются через оболочку (в дереве нет exec.Command), поэтому это единственный статический бинарник без зависимостей среды выполнения и ничего не нужно настраивать.
каждый сканер работает через один общий HTTP-клиент и рабочий пул с воровством задач. -proxy, -H, -cookie и -rate-limit применяются ко всему прогону сразу, соединения пулируются и повторно используются при сканировании (прогон на одном хосте использует одно соединение для ~50 запросов вместо 50 подключений), и медленный хост не задерживает остальные. этот общий клиент — практическая причина использовать его вместо соединения стека отдельных инструментов. сканирование портов основано на connect(), поэтому rustscan и nmap всё ещё быстрее для сырого сканирования портов.
он читает цели из stdin и выводит находки по одной строке под -silent, поэтому он хорошо компонуется:
subfinder -d example.com | sif -silent -crawl -js -nuclei | notify
-diff превращает повторное сканирование в мониторинг, который сообщает только о изменениях, -notify отправляет в slack/discord/telegram/webhook, а также выполняет экспорт в sarif и markdown.
brew tap vmfunc/sif
brew install sif
установите с помощью предпочтительного AUR-помощника:
yay -S sif
# or
paru -S sif
# nixpkgs (declarative: add to configuration.nix or home-manager)
environment.systemPackages = [ pkgs.sif ];
# or imperatively
nix profile install nixpkgs#sif
# or just run it without installing
nix run nixpkgs#sif -- -u https://example.com -headers -sh -framework
репозиторий также поставляется с flake, если вы хотите собрать из исходников:
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
скачайте последний бинарник из релизов.
git clone https://github.com/vmfunc/sif.git
cd sif
make
требуется go 1.25+
git clone https://aur.archlinux.org/sif.git
cd sif
makepkg -si
# basic scan
./sif -u https://example.com
# directory fuzzing
./sif -u https://example.com -dirlist medium
# subdomain enumeration
./sif -u https://example.com -dnslist medium
# port scanning
./sif -u https://example.com -ports common
# javascript framework detection + cloud misconfig
./sif -u https://example.com -js -c3
# shodan host intelligence (requires SHODAN_API_KEY env var)
./sif -u https://example.com -shodan
# securitytrails domain discovery (requires SECURITYTRAILS_API_KEY env var)
# discovers subdomains + associated domains, then scans all of them
./sif -u https://example.com -securitytrails -headers
# sql recon + lfi scanning
./sif -u https://example.com -sql -lfi
# web vuln probes (cors, open redirect, reflected xss)
./sif -u https://example.com -cors -redirect -xss
# framework detection (with cve lookup)
./sif -u https://example.com -framework
# a broad sweep
./sif -u https://example.com -dirlist small -dnslist small -ports common -headers -sh -cms -framework -git -whois
запустите ./sif -h для просмотра всех опций.
пара подкоманд запускаются без сканирования:
# print the version (release builds are stamped; local builds use git describe)
./sif version
# show the latest release notes (also -pn)
./sif patchnote
при первом запуске новой версии sif один раз выводит примечания к выпуску. установите SIF_NO_PATCHNOTES=1, чтобы отключить это.
sif имеет модульную архитектуру. модули определяются в yaml и могут быть расширены пользователями.