Saltar al contenido principal
Version: 1.0.0

Plantillas de análisis

Las plantillas de análisis le permiten guardar configuraciones frecuentemente utilizadas para una reutilización rápida. En lugar de especificar el tipo de análisis, opciones, prioridad y etiquetas cada vez, cree una plantilla una vez y lance análisis proporcionando únicamente el objetivo.

Beneficios​

  • Consistencia — Aplique parámetros idénticos en cada ejecución
  • Rapidez — Lance análisis con una sola solicitud conteniendo solo el objetivo
  • Estandarización — Comparta configuraciones estandarizadas dentro de su equipo
  • Integración CI/CD — Referencie plantillas por ID en sus pipelines de automatización

Crear una plantilla​

Endpoint​

POST /api/v1/scan-templates

Alcance requerido: templates:create

Solicitud​

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": "Scan CI Contenedores",
"description": "Análisis de vulnerabilidades para imágenes de contenedores en pipeline CI",
"scanType": "trivy",
"priority": "high",
"options": {
"scanners": ["vuln", "misconfig", "secret"],
"severity": ["CRITICAL", "HIGH"]
},
"tags": ["ci", "contenedor", "producción"]
}'

Parámetros de la solicitud​

CampoTipoRequeridoDescripción
namestringSíNombre legible de la plantilla (máx. 255 caracteres)
descriptionstringNoDescripción del objetivo y comportamiento
scanTypestringSíMotor de análisis a usar
targetTypestringNoTipo de objetivo predeterminado
prioritystringNoPrioridad predeterminada: critical, high, normal, low
optionsobjectNoOpciones del motor (idénticas a POST /scans)
configobjectNoSobreescrituras de configuración del motor
tagsstring[]NoEtiquetas para organización y filtrado
timeoutintegerNoDuración máxima en segundos

Respuesta (201 Created)​

{
"success": true,
"data": {
"id": "tmpl-a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"tenantId": "7b5b0610-2947-412f-a869-4683da321fcf",
"name": "Scan CI Contenedores",
"scanType": "trivy",
"priority": "high",
"options": {
"scanners": ["vuln", "misconfig", "secret"],
"severity": ["CRITICAL", "HIGH"]
},
"tags": ["ci", "contenedor", "producción"],
"usageCount": 0,
"createdAt": "2026-03-06T10:00:00Z"
}
}

Listar plantillas​

GET /api/v1/scan-templates

Alcance requerido: templates:read

Obtener una plantilla​

GET /api/v1/scan-templates/:templateId

Alcance requerido: templates:read

Actualizar una plantilla​

PATCH /api/v1/scan-templates/:templateId

Alcance requerido: templates:update

Campos modificables: name, description, priority, options, config, tags, timeout.

Eliminar una plantilla​

DELETE /api/v1/scan-templates/:templateId

Alcance requerido: templates:delete

nota

Eliminar una plantilla no afecta los análisis ya lanzados desde ella.

Lanzar un análisis desde una plantilla​

Lance un análisis usando las opciones preconfiguradas de una plantilla. Proporcione simplemente el objetivo — todo lo demás se hereda de la plantilla.

Endpoint​

POST /api/v1/scan-templates/:templateId/launch

Alcance requerido: scans:create

Solicitud​

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/miapp:latest"
}'

Parámetros de lanzamiento​

CampoTipoRequeridoDescripción
targetstringSíEl objetivo del análisis
namestringNoSobreescribir el nombre (sino usa el nombre de la plantilla)
prioritystringNoSobreescribir la prioridad
tagsstring[]NoEtiquetas adicionales (fusionadas con las de la plantilla)

Respuesta (201 Created)​

{
"success": true,
"data": {
"id": "scan-new-uuid",
"scanType": "trivy",
"name": "Scan CI Contenedores",
"target": "registry.example.com/miapp:latest",
"status": "queued",
"priority": "high",
"templateId": "tmpl-a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"tags": ["ci", "contenedor", "producción"],
"createdAt": "2026-03-06T10:05:00Z"
}
}

Casos de uso de plantillas​

Integración CI/CD​

# .github/workflows/security-scan.yml
- name: Lanzar análisis de seguridad
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 }}"}'

Análisis por lote​

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\": \"Análisis lote - $TARGET\"}"
echo "Análisis lanzado para: $TARGET"
done

Ejemplos de plantillas comunes​

Escaneo de red rápido:

{
"name": "Escaneo de red rápido",
"scanType": "nmap",
"options": { "topPorts": 100, "timing": "T4", "serviceDetection": true }
}

Evaluación web OWASP:

{
"name": "Evaluación web OWASP",
"scanType": "zap",
"priority": "high",
"options": { "scanPolicy": "full", "spiderMaxDepth": 5, "ajaxSpider": true, "activeScan": true }
}

Evaluación de seguridad completa:

{
"name": "Evaluación Sentinel completa",
"scanType": "sentinel",
"priority": "high",
"options": { "depth": "deep", "correlate": true, "riskScore": true }
}

Próximos pasos:

¿Te resultó útil esta página?