SpiderFoot: автоматический сбор по цели

SpiderFoot автоматизирует разведку: вы задаёте цель, модули обращаются к источникам и передают найденное друг другу (нашли домен, проверили DNS, почту, утечки, репутацию). Работает через веб-интерфейс или консоль, написан на Python, лицензия MIT.
Коротко
- Цели: IP-адрес, домен и поддомен, имя хоста, сеть CIDR, ASN, почта, телефон, ник, имя человека, адрес Bitcoin.
- Модули: в версии 4.0 их 235 (в README написано «более 200»). Большинству ключи API не нужны, у многих платных есть бесплатный тариф.
- Вывод: CSV, JSON и GEXF; данные лежат в базе SQLite.
- Состояние: последний релиз v4.0 вышел в апреле 2022 года, при этом репозиторий обновлялся в апреле 2026. Есть облачная платная версия SpiderFoot HX.
Установка
Нужен Python 3.7 или новее. Из README, стабильная сборка:
wget https://github.com/smicallef/spiderfoot/archive/v4.0.tar.gz
tar zxvf v4.0.tar.gz
cd spiderfoot-4.0
pip3 install -r requirements.txt
python3 ./sf.py -l 127.0.0.1:5001После запуска откройте http://127.0.0.1:5001.
Подвох: в requirements.txt закреплена pyyaml версии 5.4.1. В Python 3.11 при проверке она не собралась, и установка остановилась. Помогло убрать закрепление версии (оставить просто pyyaml) и поставить зависимости заново. После этого sf.py -h показал справку 4.0.0. В новых системах делайте это в отдельном виртуальном окружении.
Запуск из консоли
Справка sf.py -h версии 4.0.0:
$ python3 sf.py -h
usage: sf.py [-h] [-d] [-l IP:port] [-m mod1,mod2,...] [-M] [-C scanID]
[-s TARGET] [-t type1,type2,...]
[-u {all,footprint,investigate,passive}] [-T] [-o {tab,csv,json}]
...
SpiderFoot 4.0.0: Open Source Intelligence Automation.| Что нужно | Параметр |
|---|---|
| список модулей | -M |
| список типов событий | -T |
| цель и режим | -s example.com -u passive |
| только перечисленные модули | -m sfp_crt,sfp_dnsresolve |
| формат вывода | -o csv (или json, tab) |
| строгий режим | -x |
Режимы -u: all (всё), footprint (отпечаток цели), investigate (расследование), passive (пассивно). Для первой проверки берите passive: в него входят только модули с пометкой Passive (например, sfp_crt для сертификатов и sfp_dnsresolve), а сканер портов sfp_portscan_tcp входит только в footprint и investigate и обращается к самой цели.
Скан в консоли на реальной цели в этой проверке не запускался: он идёт к сторонним сервисам, а без ключей результат был бы неполным. Не подставляйте чужие домены без разрешения.
Как читать результат
- Каждое событие связано с тем, откуда оно пришло. Смотрите цепочку «источник → находка», а не только список.
- Корреляции (37 готовых правил в версии 4.0) подсказывают, на что обратить внимание в первую очередь. Это подсказки, а не вердикты.
- Без ключей часть модулей молчит. Если результатов мало, подключите источники из списка модулей.
- Подтверждайте находки вторым источником, особенно данные о людях.
Подводные камни
- Шум. Режим
allсобирает много лишнего и может занять часы. - Веб-интерфейс без входа. Слушайте только
127.0.0.1и не открывайте порт в сеть. - Следы. Модули обращаются к внешним сервисам и могут обращаться к самой цели. Запускайте только по своим целям и с разрешением.
- Люди. Поиск по имени, почте и нику — это сбор персональных данных. Не публикуйте результат.
Дальше
Subfinder и Amass для поддоменов, theHarvester, Maigret по никам.
Проверено 25 октября 2026 года по SpiderFoot v4.0: README, sf.py -h и sf.py -M (235 модулей), установка в Python 3.11 с заменой закреплённой pyyaml.