Scan-Vorlagen
Scan-Vorlagen ermöglichen es Ihnen, häufig verwendete Konfigurationen für eine schnelle Wiederverwendung zu speichern. Anstatt Scan-Typ, Optionen, Priorität und Tags jedes Mal anzugeben, erstellen Sie eine Vorlage einmal und starten Scans, indem Sie nur das Ziel angeben.
Vorteile​
- Konsistenz — Identische Parameter bei jeder Ausführung anwenden
- Geschwindigkeit — Scans mit einer einzigen Anfrage starten, die nur das Ziel enthält
- Standardisierung — Standardisierte Konfigurationen im Team teilen
- CI/CD-Integration — Vorlagen per ID in Ihren Automatisierungs-Pipelines referenzieren
Vorlage erstellen​
Endpunkt​
POST /api/v1/scan-templates
Erforderlicher Bereich: templates:create
Anfrage​
curl -X POST https://api.cert-ix.com/scan-api/api/v1/scan-templates \
-H "X-API-Key: $CERTIX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "CI Container-Scan",
"description": "Schwachstellenanalyse fĂĽr Container-Images in der CI-Pipeline",
"scanType": "trivy",
"priority": "high",
"options": {
"scanners": ["vuln", "misconfig", "secret"],
"severity": ["CRITICAL", "HIGH"]
},
"tags": ["ci", "container", "produktion"]
}'
Anfrageparameter​
| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
name | string | Ja | Lesbarer Name der Vorlage (max. 255 Zeichen) |
description | string | Nein | Beschreibung des Zwecks und Verhaltens |
scanType | string | Ja | Zu verwendende Scan-Engine |
targetType | string | Nein | Standard-Zieltyp |
priority | string | Nein | Standardpriorität: critical, high, normal, low |
options | object | Nein | Engine-Optionen (identisch mit POST /scans) |
config | object | Nein | Engine-KonfigurationsĂĽberschreibungen |
tags | string[] | Nein | Tags zur Organisation und Filterung |
timeout | integer | Nein | Maximale Dauer in Sekunden |
Antwort (201 Created)​
{
"success": true,
"data": {
"id": "tmpl-a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"tenantId": "7b5b0610-2947-412f-a869-4683da321fcf",
"name": "CI Container-Scan",
"scanType": "trivy",
"priority": "high",
"options": {
"scanners": ["vuln", "misconfig", "secret"],
"severity": ["CRITICAL", "HIGH"]
},
"tags": ["ci", "container", "produktion"],
"usageCount": 0,
"createdAt": "2026-03-06T10:00:00Z"
}
}
Vorlagen auflisten​
GET /api/v1/scan-templates
Erforderlicher Bereich: templates:read
Vorlage abrufen​
GET /api/v1/scan-templates/:templateId
Erforderlicher Bereich: templates:read
Vorlage aktualisieren​
PATCH /api/v1/scan-templates/:templateId
Erforderlicher Bereich: templates:update
Änderbare Felder: name, description, priority, options, config, tags, timeout.
Vorlage löschen​
DELETE /api/v1/scan-templates/:templateId
Erforderlicher Bereich: templates:delete
Das Löschen einer Vorlage hat keine Auswirkungen auf bereits gestartete Scans.
Scan aus einer Vorlage starten​
Starten Sie einen Scan mit den vorkonfigurierten Optionen einer Vorlage. Geben Sie einfach das Ziel an — alles andere wird von der Vorlage übernommen.
Endpunkt​
POST /api/v1/scan-templates/:templateId/launch
Erforderlicher Bereich: scans:create
Anfrage​
curl -X POST "https://api.cert-ix.com/scan-api/api/v1/scan-templates/$TEMPLATE_ID/launch" \
-H "X-API-Key: $CERTIX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"target": "registry.example.com/meineapp:latest"
}'
Start-Parameter​
| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
target | string | Ja | Das Scan-Ziel |
name | string | Nein | Name ĂĽberschreiben (sonst wird der Vorlagenname verwendet) |
priority | string | Nein | Priorität überschreiben |
tags | string[] | Nein | Zusätzliche Tags (mit Vorlagen-Tags zusammengeführt) |
Antwort (201 Created)​
{
"success": true,
"data": {
"id": "scan-new-uuid",
"scanType": "trivy",
"name": "CI Container-Scan",
"target": "registry.example.com/meineapp:latest",
"status": "queued",
"priority": "high",
"templateId": "tmpl-a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"tags": ["ci", "container", "produktion"],
"createdAt": "2026-03-06T10:05:00Z"
}
}
Anwendungsfälle für Vorlagen​
CI/CD-Integration​
# .github/workflows/security-scan.yml
- name: Sicherheitsscan starten
run: |
curl -X POST "$CERTIX_URL/scan-templates/$TEMPLATE_ID/launch" \
-H "X-API-Key: $CERTIX_API_KEY" \
-H "Content-Type: application/json" \
-d '{"target": "ghcr.io/${{ github.repository }}:${{ github.sha }}"}'
Batch-Scan​
TARGETS=("app1.example.com" "app2.example.com" "app3.example.com")
for TARGET in "${TARGETS[@]}"; do
curl -s -X POST "$BASE_URL/scan-templates/$TEMPLATE_ID/launch" \
-H "X-API-Key: $API_KEY" \
-H "Content-Type: application/json" \
-d "{\"target\": \"$TARGET\", \"name\": \"Batch-Scan - $TARGET\"}"
echo "Scan gestartet fĂĽr: $TARGET"
done
Gängige Vorlagenbeispiele​
Schneller Netzwerkscan:
{
"name": "Schneller Netzwerkscan",
"scanType": "nmap",
"options": { "topPorts": 100, "timing": "T4", "serviceDetection": true }
}
OWASP-Webbewertung:
{
"name": "OWASP-Webbewertung",
"scanType": "zap",
"priority": "high",
"options": { "scanPolicy": "full", "spiderMaxDepth": 5, "ajaxSpider": true, "activeScan": true }
}
Umfassende Sicherheitsbewertung:
{
"name": "Umfassende Sentinel-Bewertung",
"scanType": "sentinel",
"priority": "high",
"options": { "depth": "deep", "correlate": true, "riskScore": true }
}
Nächste Schritte: