Zum Hauptinhalt springen
Version: 1.0.0

Scans einreichen

Die Scan-API akzeptiert Scan-Anfragen über einen einzigen, einheitlichen Endpunkt. Geben Sie das Ziel, die Scan-Engine und die optionale Konfiguration an — die Plattform übernimmt die Einreihung, Ausführung, Ergebnissammlung und Benachrichtigungen.

Architektur

Scans werden asynchron über Kafka verarbeitet:

POST /scans → Kafka → Scan-Engine → Ergebnisse → Webhook/Polling

Scan erstellen

Endpunkt

POST /api/v1/scans

Erforderlicher Bereich: scans:create

Anfrage

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": "Wöchentliches Netzwerk-Audit",
"targetType": "domain",
"priority": "normal",
"options": {
"ports": "1-1024",
"timing": "T3"
},
"tags": ["produktion", "wöchentlich"],
"timeout": 3600
}'

Anfrageparameter

FeldTypErforderlichBeschreibung
targetstringJaScan-Ziel (URL, Host, Domain, IP oder CIDR)
scanTypestringJaZu verwendende Scan-Engine (siehe Referenz unten)
namestringNeinLesbarer Name des Scans
targetTypestringNeinZielklassifizierung: host, url, domain, ip, network
prioritystringNeinAusführungspriorität: critical, high, normal, low (Standard: normal)
optionsobjectNeinEngine-spezifische Optionen
configobjectNeinEngine-Konfigurationsüberschreibungen
tagsstring[]NeinBenutzerdefinierte Tags zur Organisation und Filterung
timeoutintegerNeinMaximale Scan-Dauer in Sekunden
assetIdstringNeinScan mit einem registrierten Asset in der Asset-Verwaltung verknüpfen
callbackUrlstringNeinHTTPS-URL für einen einmaligen Abschluss-Callback

Antwort (201 Created)

{
"success": true,
"data": {
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"scanType": "nmap",
"name": "Wöchentliches Netzwerk-Audit",
"target": "example.com",
"status": "queued",
"priority": "normal",
"progress": 0,
"tags": ["produktion", "wöchentlich"],
"createdAt": "2026-03-06T10:00:00Z"
}
}

Referenz der Scan-Engines

Nmap — Netzwerkerkennung

Typ: nmap · Kategorie: Netzwerk · Ziele: 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"]
}
}
OptionTypStandardBeschreibung
portsstring1-1024Port-Bereich (z.B.: 22,80,443, 1-1024, 1-65535)
timingstringT3Timing-Template: T0 (paranoid) bis T5 (wahnsinnig)
serviceDetectionbooleantrueService-/Versionserkennung aktivieren (-sV)
osDetectionbooleanfalseOS-Identifizierung aktivieren (-O)
scriptScanbooleanfalseNSE-Script-Scan aktivieren
scriptsstring[][]NSE-Script-Kategorien zum Ausführen
udpScanbooleanfalseUDP-Scan einschließen (-sU)
topPortsintegerNur die N häufigsten Ports scannen

ZAP — Webanwendungssicherheit

Typ: zap · Kategorie: Web-App · Ziele: url

{
"target": "https://app.example.com",
"scanType": "zap",
"options": {
"scanPolicy": "full",
"spiderMaxDepth": 5,
"ajaxSpider": true,
"activeScan": true
}
}
OptionTypStandardBeschreibung
scanPolicystringstandardIntensität: light, standard, full
spiderMaxDepthinteger3Maximale Crawl-Tiefe
ajaxSpiderbooleanfalseAJAX/JavaScript-Crawling aktivieren
activeScanbooleantrueAktive Schwachstellentests durchführen

Trivy — Container-Schwachstellenanalyse

Typ: trivy · Kategorie: Container/Infrastruktur · Ziele: url, host

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

Nuclei — Template-basierte Erkennung

Typ: nuclei · Kategorie: Schwachstellenerkennung · Ziele: url, host, domain

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

Nikto — Webserver-Scan

Typ: nikto · Kategorie: Webserver · Ziele: url

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

SQLMap — SQL-Injection-Erkennung

Typ: sqlmap · Kategorie: Web-App · Ziele: url

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

SQLMap kann aggressiv sein. Verwenden Sie auf Produktionssystemen immer level ≤ 3 und risk ≤ 2.


Wapiti — Webanwendungs-Scan

Typ: wapiti · Kategorie: Web-App · Ziele: url

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

theHarvester — OSINT-Aufklärung

Typ: harvester · Kategorie: OSINT · Ziele: domain

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

Sublist3r — Subdomain-Enumeration

Typ: sublist3r · Kategorie: OSINT · Ziele: domain

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

Sentinel — Multi-Engine-Orchestrierung

Typ: sentinel · Kategorie: Einheitlich/Umfassend · Ziele: url, host, domain, ip

Proprietäre Multi-Engine-Orchestrierungsanalyse von Cert-IX. Wählt automatisch die am besten geeignete Kombination von Scannern basierend auf dem Zieltyp aus, korreliert und dedupliziert Befunde.

{
"target": "example.com",
"scanType": "sentinel",
"priority": "high",
"options": { "depth": "standard", "engines": ["nmap", "nuclei", "harvester", "sublist3r"], "correlate": true, "riskScore": true }
}
TiefeVerwendete EnginesGeschätzte Dauer
quickNmap + Nuclei5–15 Minuten
standardNmap + Nuclei + Harvester + ZAP/Nikto15–45 Minuten
deepAlle anwendbaren Engines1–3 Stunden

Prioritätsstufen

PrioritätVerhaltenAnwendungsfall
criticalAn die Spitze der Warteschlange, sofortige VerarbeitungAktive Vorfallreaktion
highVor normalen ScansPrüfungen vor dem Deployment
normalStandard-FIFO-ReihenfolgeRoutinebewertungen (Standard)
lowVerarbeitung bei verfügbarer KapazitätHintergrund-/Batch-Scans

Scan abbrechen

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

Erforderlicher Bereich: scans:cancel

Scans auflisten

GET /api/v1/scans

Erforderlicher Bereich: scans:list


Nächste Schritte: