Passa al contenuto principale
Versione: 1.0.0

Invio di scansioni

L'API Scan accetta richieste di scansione attraverso un singolo endpoint unificato. Specificate l'obiettivo, il motore di scansione e la configurazione opzionale — la piattaforma gestisce la coda, l'esecuzione, la raccolta dei risultati e le notifiche.

Architettura

Le scansioni vengono elaborate in modo asincrono tramite Kafka:

POST /scans → Kafka → Motore di scansione → Risultati → Webhook/Polling

Creare una scansione

Endpoint

POST /api/v1/scans

Scope richiesto: scans:create

Richiesta

curl -X POST https://api.cert-ix.com/scan-api/api/v1/scans \
-H "X-API-Key: $CERTIX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"target": "example.com",
"scanType": "nmap",
"name": "Audit di rete settimanale",
"targetType": "domain",
"priority": "normal",
"options": {
"ports": "1-1024",
"timing": "T3"
},
"tags": ["produzione", "settimanale"],
"timeout": 3600
}'

Parametri della richiesta

CampoTipoObbligatorioDescrizione
targetstringObiettivo della scansione (URL, host, dominio, IP o CIDR)
scanTypestringMotore di scansione da usare (vedi riferimento sotto)
namestringNoNome leggibile della scansione
targetTypestringNoClassificazione dell'obiettivo: host, url, domain, ip, network
prioritystringNoPriorità di esecuzione: critical, high, normal, low (predefinito: normal)
optionsobjectNoOpzioni specifiche del motore
configobjectNoSovrascritture di configurazione del motore
tagsstring[]NoTag personalizzati per organizzazione e filtraggio
timeoutintegerNoDurata massima della scansione in secondi
assetIdstringNoCollegare la scansione a un asset registrato nella Gestione Asset
callbackUrlstringNoURL HTTPS per un callback una tantum al completamento

Risposta (201 Created)

{
"success": true,
"data": {
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"scanType": "nmap",
"name": "Audit di rete settimanale",
"target": "example.com",
"status": "queued",
"priority": "normal",
"progress": 0,
"tags": ["produzione", "settimanale"],
"createdAt": "2026-03-06T10:00:00Z"
}
}

Riferimento dei motori di scansione

Nmap — Scoperta di rete

Tipo: nmap · Categoria: Rete · Obiettivi: host, ip, network, domain

{
"target": "192.168.1.0/24",
"scanType": "nmap",
"options": {
"ports": "1-65535",
"timing": "T4",
"serviceDetection": true,
"osDetection": true,
"scriptScan": true,
"scripts": ["vuln", "safe"]
}
}
OpzioneTipoPredefinitoDescrizione
portsstring1-1024Intervallo porte (es.: 22,80,443, 1-1024, 1-65535)
timingstringT3Template temporizzazione: T0 (paranoico) a T5 (folle)
serviceDetectionbooleantrueAttivare rilevamento servizio/versione (-sV)
osDetectionbooleanfalseAttivare identificazione OS (-O)
scriptScanbooleanfalseAttivare scansione script NSE
scriptsstring[][]Categorie di script NSE da eseguire
udpScanbooleanfalseIncludere scansione UDP (-sU)
topPortsintegerScansionare solo le N porte più comuni

ZAP — Sicurezza applicazioni web

Tipo: zap · Categoria: App web · Obiettivi: url

{
"target": "https://app.example.com",
"scanType": "zap",
"options": {
"scanPolicy": "full",
"spiderMaxDepth": 5,
"ajaxSpider": true,
"activeScan": true,
"contextInclude": ["https://app.example.com/.*"],
"contextExclude": ["https://app.example.com/logout"]
}
}
OpzioneTipoPredefinitoDescrizione
scanPolicystringstandardIntensità: light, standard, full
spiderMaxDepthinteger3Profondità massima di esplorazione
ajaxSpiderbooleanfalseAttivare esplorazione AJAX/JavaScript
activeScanbooleantrueEseguire test attivi di vulnerabilità
contextIncludestring[][]Pattern regex URL da includere
contextExcludestring[][]Pattern regex URL da escludere

Trivy — Analisi vulnerabilità container

Tipo: trivy · Categoria: Container/Infrastruttura · Obiettivi: url, host

{
"target": "registry.example.com/miaapp:latest",
"scanType": "trivy",
"options": {
"scanners": ["vuln", "misconfig", "secret"],
"severity": ["CRITICAL", "HIGH"],
"ignoreUnfixed": true
}
}

Nuclei — Rilevamento basato su template

Tipo: nuclei · Categoria: Rilevamento vulnerabilità · Obiettivi: url, host, domain

{
"target": "https://api.example.com",
"scanType": "nuclei",
"options": {
"templates": ["cves", "vulnerabilities", "misconfigurations"],
"severity": ["critical", "high", "medium"],
"concurrency": 25,
"rateLimit": 150
}
}

Nikto — Scansione server web

Tipo: nikto · Categoria: Server web · Obiettivi: url

{
"target": "https://www.example.com",
"scanType": "nikto",
"options": { "tuning": "1234", "maxTime": "600s", "ssl": true }
}

SQLMap — Rilevamento SQL injection

Tipo: sqlmap · Categoria: App web · Obiettivi: url

{
"target": "https://app.example.com/search?q=test",
"scanType": "sqlmap",
"options": { "level": 3, "risk": 2, "technique": "BEUSTQ", "dbs": true, "batch": true }
}
Sicurezza in produzione

SQLMap può essere aggressivo. Usate sempre level ≤ 3 e risk ≤ 2 su sistemi di produzione.


Wapiti — Scansione applicazioni web

Tipo: wapiti · Categoria: App web · Obiettivi: url

{
"target": "https://app.example.com",
"scanType": "wapiti",
"options": { "modules": ["xss", "sql", "exec", "file", "crlf"], "scope": "domain", "maxDepth": 5 }
}

theHarvester — Ricognizione OSINT

Tipo: harvester · Categoria: OSINT · Obiettivi: domain

{
"target": "example.com",
"scanType": "harvester",
"options": { "sources": ["google", "bing", "linkedin", "shodan", "crtsh"], "limit": 500, "dnsLookup": true }
}

Sublist3r — Enumerazione sottodomini

Tipo: sublist3r · Categoria: OSINT · Obiettivi: domain

{
"target": "example.com",
"scanType": "sublist3r",
"options": { "engines": ["google", "bing", "yahoo", "virustotal"], "bruteforce": true, "ports": "80,443,8080", "threads": 30 }
}

Sentinel — Orchestrazione multi-motore

Tipo: sentinel · Categoria: Unificato/Completo · Obiettivi: url, host, domain, ip

Analisi orchestrata multi-motore proprietaria di Cert-IX. Seleziona e esegue automaticamente la combinazione di scanner più appropriata in base al tipo di obiettivo, poi correla e deduplica i rilevamenti.

{
"target": "example.com",
"scanType": "sentinel",
"priority": "high",
"options": { "depth": "standard", "engines": ["nmap", "nuclei", "harvester", "sublist3r"], "correlate": true, "riskScore": true }
}
ProfonditàMotori utilizzatiTempo stimato
quickNmap + Nuclei5–15 minuti
standardNmap + Nuclei + Harvester + ZAP/Nikto15–45 minuti
deepTutti i motori applicabili1–3 ore

Livelli di priorità

PrioritàComportamentoCaso d'uso
criticalIn testa alla coda, elaborazione immediataRisposta a incidenti attiva
highPrima delle scansioni normaliVerifiche pre-deploy
normalOrdine FIFO standardValutazioni di routine (predefinito)
lowElaborazione quando c'è capacità disponibileScansioni in background/batch

Annullare una scansione

POST /api/v1/scans/:scanId/cancel

Scope richiesto: scans:cancel

Elencare le scansioni

GET /api/v1/scans

Scope richiesto: scans:list


Prossimi passi: