
Intelligenza competitiva da fonti di dati pubbliche. Prende il nome da Ceo, il Titano greco della mente indagatrice.
Intelligence competitiva che vede tutto.
Chiamato così in onore di Coeus (si pronuncia SEE-us), il Titano greco dai cento occhi dalla mente indagatrice — il cui nome significa letteralmente "interrogare". CI sta per Competitive Intelligence.
Uno strumento OSINT di business intelligence che costruisce profili aziendali da fonti di dati pubbliche e gratuite. Fornisci un dominio — ottieni un report con punteggi che copre stabilità, crescita, maturità tecnologica, salute finanziaria, postura di sicurezza e trasparenza.
# Clone and install
git clone https://github.com/Opfour/coeus-ci.git
cd coeus-ci
./setup.sh # creates venv, installs everything
# Activate the environment
source venv/bin/activate
# Run a scan
coeus apple.com
# Compare companies
coeus apple.com microsoft.com
# Export HTML report
coeus apple.com --html
# Launch web dashboard
coeus --web
coeus [OPTIONS] [TARGETS]...
Options:
--json Output as JSON
--html Save HTML report to ./reports/
-m, --modules TEXT Comma-separated module list (e.g., whois,dns,edgar)
-t, --timeout INTEGER Per-module timeout in seconds (default: 30)
--web Launch interactive web dashboard
--port INTEGER Web dashboard port (default: 8147)
--help Show this message and exit
# Single target
coeus acme.com
# JSON output (pipe to jq, save to file, etc.)
coeus acme.com --json
# Run only specific modules
coeus acme.com --modules whois,dns,ssl
# Side-by-side comparison
coeus apple.com microsoft.com
# HTML report saved to ./reports/
coeus apple.com --html
# Web dashboard on default port
coeus --web
# Web dashboard on custom port
coeus --web --port 9090
Le impostazioni predefinite sono definite in un unico punto per una facile modifica:
coeus/__init__.py
DEFAULT_WEB_PORT = 8147 # --port: web dashboard port
DEFAULT_TIMEOUT = 30 # --timeout: per-module timeout (seconds)
DEFAULT_HOST = "127.0.0.1" # bind address for web dashboard
Modifica questi valori per impostare nuovi default per il tuo ambiente. I flag della CLI (--port, --timeout) hanno la precedenza a ogni esecuzione.
Tutti i moduli sono gratuiti e non richiedono chiavi API.
Ogni obiettivo viene valutato su sei dimensioni (0-10):
--json) — Dump completo del modello Pydantic per piping o integrazione--html) — Report autonomo a tema scuro salvato in ./reports/--web) — Interfaccia browser interattiva con avanzamento della scansione in tempo realecoeus-ci/
├── coeus/
│ ├── __init__.py # Version + configurable defaults (port, timeout, host)
│ ├── __main__.py # python -m coeus entry
│ ├── cli.py # Click CLI with comparison mode
│ ├── core.py # Two-wave async orchestrator
│ ├── models.py # Pydantic data models
│ ├── scorer.py # Weighted scoring engine
│ ├── report.py # Terminal, JSON, HTML formatters
│ ├── matching.py # Fuzzy company name matching
│ ├── web.py # aiohttp web dashboard server
│ └── modules/
│ ├── base.py # ABC base class for modules
│ ├── whois_mod.py # WHOIS lookup
│ ├── dns_mod.py # DNS analysis
│ ├── headers.py # HTTP header analysis
│ ├── ssl_mod.py # TLS certificate inspection
│ ├── tech.py # Tech stack detection
│ ├── edgar.py # SEC EDGAR filings
│ ├── nonprofit.py # 501(c)(3) / ProPublica
│ └── dba.py # DBA / OpenCorporates
├── templates/
│ ├── dashboard.html # Web dashboard SPA
│ └── report.html # Jinja2 HTML report template
├── setup.sh # One-time setup script
├── pyproject.toml # Python packaging
├── LICENSE # AGPL-3.0
└── README.md
Modifica coeus/__init__.py e cambia DEFAULT_WEB_PORT, oppure usa il flag --port:
coeus --web --port 9090
Modifica coeus/__init__.py e cambia DEFAULT_TIMEOUT, oppure usa il flag --timeout:
coeus apple.com --timeout 60
No. Tutti i moduli v0.1 utilizzano fonti di dati pubbliche e gratuite senza bisogno di chiavi API.
Il modulo EDGAR trova dati solo per le società pubbliche registrate presso la SEC. Società private, organizzazioni no-profit ed entità estere non avranno dati EDGAR — è previsto, non è un errore.
Nomi aziendali comuni (come "Apple") possono corrispondere a piccole organizzazioni no-profit con nomi simili. Il fuzzy matching riduce i falsi positivi, ma i nomi molto generici sono intrinsecamente ambigui. Il flag --modules consente di saltare i moduli non pertinenti.
Sì:
coeus apple.com --modules whois,dns,ssl
coeus/modules/ che estende BaseModuleexecute(target, context)coeus/modules/__init__.pycoeus --file targets.txt)AGPL-3.0 — consulta LICENSE per i dettagli.
| Modulo | Fonte | Cosa fornisce |
|---|
whois | Registri WHOIS | Età del dominio, registrar, nome dell'organizzazione, date di creazione/scadenza |
dns | Query DNS | MX, NS, SPF, DMARC, provider di posta, rilevamento CDN |
headers | Intestazioni HTTP | Tecnologia server, header di sicurezza (HSTS, CSP, ecc.) |
ssl | Certificato TLS | Organizzazione del certificato, CA, scadenza, SAN |
tech | robots.txt, sitemap, HTML | Rilevamento CMS, firme dei framework, security.txt |
edgar | SEC EDGAR | Documenti pubblici, fatturato, utile netto, attivo, dipendenti |
nonprofit | API ProPublica | Stato 501(c)(3), dati del Modulo 990, fatturato, attivo |
dba | OpenCorporates | Registrazione DBA/impresa, tipo di entità, stato della registrazione |
| Dimensione | Misura | Alimentata da |
|---|
| Stabilità | Quanto è consolidata l'organizzazione | whois, ssl, edgar |
| Crescita | Segnali di espansione | edgar, tech |
| Maturità tecnologica | Infrastruttura e stack moderni | dns, headers, tech |
| Finanza | Indicatori di salute finanziaria | edgar, nonprofit |
| Sicurezza | Postura e igiene di sicurezza | dns, headers, ssl, tech |
| Trasparenza | Divulgazione pubblica e responsabilità | edgar, nonprofit, whois |