SpiderFoot

Outil de collecte OSINT automatisée avec plus de 200 modules. Agrège des renseignements sur les IP, domaines, emails, noms et organisations à partir de centaines de sources. Automated OSINT collection tool with 200+ modules. Aggregates intelligence on IPs, domains, emails, names, and organizations from hundreds of sources.

↗ https://www.spiderfoot.net

Overview

SpiderFoot automates OSINT gathering by running 200+ modules against a target and correlating the results. It builds a relationship graph between discovered data points. Available as a CLI tool, web UI, and SpiderFoot HX (commercial cloud version).

Setup & Launch

# Install
pip3 install spiderfoot
# or
git clone https://github.com/smicallef/spiderfoot && cd spiderfoot
pip3 install -r requirements.txt

Launch web UI (default: http://127.0.0.1:5001)

python3 sf.py -l 127.0.0.1:5001

CLI scan (no web UI)

python3 sfcli.py -s target.com -t INTERNET_NAME -m all

Web UI Workflow

  1. Browse to http://127.0.0.1:5001
  2. New Scan → Enter target → Select scan type
  3. Choose use case or individual modules
  4. Review results in the graph or table view

Scan Types (Use Cases)

Use CaseDescription
AllRun every module
FootprintFull external footprint
InvestigateInvestigate a target
PassiveNo direct contact with target
OSINTOpen-source intelligence only

CLI Usage

Basic scan against a domain

python3 sfcli.py -s target.com -t INTERNET_NAME -m sfp_dnsresolve,sfp_ssl,sfp_portscan_basic

Passive only (no direct contact)

python3 sfcli.py -s target.com -t INTERNET_NAME -u Passive

All modules

python3 sfcli.py -s target.com -t INTERNET_NAME -u All

Scan an IP

python3 sfcli.py -s 10.10.10.1 -t IP_ADDRESS -u All

Scan email address

python3 sfcli.py -s user@target.com -t EMAILADDR -u All

List available modules

python3 sfcli.py -l

Output as JSON

python3 sfcli.py -s target.com -t INTERNET_NAME -u Passive -o json

Target Types

INTERNET_NAME   Domain name (target.com, sub.target.com)
IP_ADDRESS      IPv4 address
EMAILADDR       Email address
PHONE_NUMBER    Phone number
HUMAN_NAME      Person's name
USERNAME        Social media username
BGP_AS_MEMBER   Autonomous system number
NETBLOCK_OWNER  IP range

Key Modules

sfp_dnsresolve      DNS resolution
sfp_ssl             SSL certificate analysis
sfp_shodan          Shodan lookups (API key required)
sfp_virustotal      VirusTotal lookups (API key)
sfp_hunter          Hunter.io email discovery
sfp_haveibeen       HaveIBeenPwned checks
sfp_pgp             PGP keyserver lookups
sfp_whois           WHOIS data
sfp_portscan_basic  Basic port scanning
sfp_linkedinapi     LinkedIn enumeration
sfp_github          GitHub code search
sfp_pastebin        Pastebin searches
sfp_darkweb         Dark web monitoring

Tips

  • The web UI’s graph view clearly shows relationships between discovered data
  • Configure API keys under Settings in the web UI for richer results
  • Passive mode never contacts the target directly — safest for authorized assessments
  • Export results as CSV or JSON for further processing or reporting
Target type quick reference
Domain:     INTERNET_NAME
IP:         IP_ADDRESS
Email:      EMAILADDR
Person:     HUMAN_NAME
Username:   USERNAME
Netblock:   NETBLOCK_OWNER
ASN:        BGP_AS_MEMBER
Phone:      PHONE_NUMBER
Bitcoin:    BITCOIN_ADDRESS

Vue d’ensemble

SpiderFoot automatise la collecte OSINT en exécutant plus de 200 modules contre une cible et en corrélant les résultats. Il construit un graphe de relations entre les données découvertes. Disponible en outil CLI, interface web, et SpiderFoot HX (version cloud commerciale).

Installation et lancement

# Installer
pip3 install spiderfoot
# ou
git clone https://github.com/smicallef/spiderfoot && cd spiderfoot
pip3 install -r requirements.txt

# Lancer l'interface web (par défaut : http://127.0.0.1:5001)
python3 sf.py -l 127.0.0.1:5001

# Scan en CLI (sans interface web)
python3 sfcli.py -s target.com -t INTERNET_NAME -m all

Utilisation de l’interface web

  1. Naviguer vers http://127.0.0.1:5001
  2. New Scan → saisir la cible → sélectionner le type de scan
  3. Choisir un cas d’usage ou des modules individuels
  4. Consulter les résultats dans la vue graphe ou la vue tableau

Types de scan (cas d’usage)

Cas d’usageDescription
AllLancer tous les modules
FootprintEmpreinte externe complète
InvestigateInvestiguer une cible
PassiveAucun contact direct avec la cible
OSINTRenseignement en sources ouvertes uniquement

Utilisation en CLI

# Scan basique contre un domaine
python3 sfcli.py -s target.com -t INTERNET_NAME -m sfp_dnsresolve,sfp_ssl,sfp_portscan_basic

# Passif uniquement (aucun contact direct)
python3 sfcli.py -s target.com -t INTERNET_NAME -u Passive

# Tous les modules
python3 sfcli.py -s target.com -t INTERNET_NAME -u All

# Scanner une IP
python3 sfcli.py -s 10.10.10.1 -t IP_ADDRESS -u All

# Scanner une adresse email
python3 sfcli.py -s user@target.com -t EMAILADDR -u All

# Lister les modules disponibles
python3 sfcli.py -l

# Sortie en JSON
python3 sfcli.py -s target.com -t INTERNET_NAME -u Passive -o json

Types de cible

INTERNET_NAME   Nom de domaine (target.com, sub.target.com)
IP_ADDRESS      Adresse IPv4
EMAILADDR       Adresse email
PHONE_NUMBER    Numéro de téléphone
HUMAN_NAME      Nom de personne
USERNAME        Pseudo sur réseau social
BGP_AS_MEMBER   Numéro de système autonome
NETBLOCK_OWNER  Plage IP

Modules clés

sfp_dnsresolve      Résolution DNS
sfp_ssl             Analyse de certificat SSL
sfp_shodan          Requêtes Shodan (clé API requise)
sfp_virustotal      Requêtes VirusTotal (clé API)
sfp_hunter          Découverte d'emails via Hunter.io
sfp_haveibeen       Vérifications HaveIBeenPwned
sfp_pgp             Requêtes sur serveurs de clés PGP
sfp_whois           Données WHOIS
sfp_portscan_basic  Scan de ports basique
sfp_linkedinapi     Énumération LinkedIn
sfp_github          Recherche de code GitHub
sfp_pastebin        Recherches Pastebin
sfp_darkweb         Surveillance du dark web

Conseils

  • La vue graphe de l’interface web montre clairement les relations entre les données découvertes
  • Configurer les clés API dans Settings de l’interface web pour des résultats plus riches
  • Le mode Passive ne contacte jamais directement la cible : le plus sûr pour des évaluations autorisées
  • Exporter les résultats en CSV ou JSON pour un traitement ou un reporting ultérieur
Aperçu rapide des types de cible
Domaine :     INTERNET_NAME
IP :          IP_ADDRESS
Email :       EMAILADDR
Personne :    HUMAN_NAME
Pseudo :      USERNAME
Netblock :    NETBLOCK_OWNER
ASN :         BGP_AS_MEMBER
Téléphone :   PHONE_NUMBER
Bitcoin :     BITCOIN_ADDRESS