
DepAlert es una puerta de seguridad de código abierto para tu pipeline CI/CD. Analiza SBOMs contra datos de inteligencia de malware y te indica rápidamente si tu compilación incluye paquetes maliciosos conocidos.
Esta herramienta forma parte de la plataforma CTWall. Ver: CTWall
DepAlert es una puerta de seguridad de código abierto para tu pipeline CI/CD. Analiza SBOMs contra datos de inteligencia de malware y te dice rápidamente si tu compilación incluye paquetes maliciosos conocidos.
DepAlert resuelve problemas fundamentales de la cadena de suministro de software que impactan directamente en la velocidad de lanzamiento, el riesgo y el costo:
MALWARE, CLEAN, UNKNOWN) en cada ejecución del pipeline.fail-on) y un flujo de trabajo de excepciones auditable.Consulta 00_quick_start.md para obtener instrucciones paso a paso.
depalert es una CLI de CI/CD que:
POST /api/v1/ingest)GET /api/v1/tests/{testId}/revisions/{revisionId}/depalert-verdict)La herramienta está limitada al ámbito del proyecto. Puedes seleccionar el proyecto objetivo mediante:
project-id (UUID), oproject-name (resuelto a través de la API).Si se proporcionan ambos, project-id tiene prioridad.
DepAlert devuelve un resultado por revisión:
CLEAN - no se detectó ningún hallazgo de malware - salida 0MALWARE - se detectó al menos un hallazgo de malware en la revisión - salida 1UNKNOWN - el análisis aún no está completo - salida 2 (o salida 0 con fail-on=NONE)Formato de salida de la CLI:
VERDICT: <MALWARE|CLEAN|UNKNOWN> (malware=<n> clean=<n> unknown=<n> total=<n>, elapsed=<t>)
El modo JSON está disponible mediante --format json (o CTWALL_OUTPUT=json).
Ejemplo de salida JSON:
{
"version": "1.1.0",
"status": "success",
"exitCode": 0,
"projectId": "28e241e3-b924-4e1a-abc2-d592e8dd811c",
"testId": "13271a70-cf47-4f3b-9e33-cb41ed0c793e",
"revisionId": "c4d1f1a4-c018-488e-9dd0-6cfdbed83bf3",
"verdict": "CLEAN",
"malwareComponents": 0,
"cleanComponents": 12,
"unknownComponents": 0,
"totalComponents": 12,
"elapsedMs": 1842,
"timedOut": false,
"failOn": "MALWARE",
"message": "depalert completed"
}
VERDICT: <MALWARE|CLEAN|UNKNOWN> (malware=<n> clean=<n> unknown=<n> total=<n>, elapsed=<t>)
0 = aprobado1 = fallo de política o error en tiempo de ejecución2 = el veredicto final es UNKNOWN y fail-on no es NONE| Flag | ENV | Requerido | Predeterminado | Descripción |
|---|---|---|---|---|
--url | CTWALL_API_URL | sí | http://localhost:8080 | URL de la API de CTWall |
--key | CTWALL_API_KEY | no | vacío | Token de API (Authorization: Bearer ...) |
--project-id | CTWALL_PROJECT_ID | condicional | ninguno | UUID del proyecto objetivo (tiene prioridad sobre project-name) |
--project-name | CTWALL_PROJECT_NAME | condicional | ninguno | Nombre del proyecto objetivo (resuelto a UUID a través de la API) |
--file | CTWALL_SBOM_FILE (o legacy SBOM_FILE) | sí | ninguno | Ruta del archivo SBOM |
--product | CTWALL_PRODUCT | sí | ninguno | Nombre del producto |
--scope | CTWALL_SCOPE | sí | ninguno | Nombre del ámbito |
--test | CTWALL_TEST | sí | ninguno | Nombre de la prueba |
--fail-on | CTWALL_FAIL_ON | no | MALWARE | Lista CSV de veredictos: MALWARE,CLEAN,UNKNOWN o NONE |
--ignore-file | CTWALL_IGNORE_FILE | no | depalert.ignore | Archivo YAML opcional de excepciones para anulación local de veredicto + actualizaciones de triaje |
--format | CTWALL_OUTPUT | no | text | Formato de salida: text o json |
--timeout-seconds | CTWALL_WAIT_TIMEOUT_SECONDS | no | 180 | Tiempo de espera de sincronización en segundos |
--allow-insecure | CTWALL_ALLOW_INSECURE | no | false | Permitir HTTP para hosts no locales |
--skip-tls-verify | CTWALL_SKIP_TLS_VERIFY | no | false | Omitir verificación del certificado TLS para HTTPS (inseguro, solo pruebas) |
project-id o project-name.project-name se resuelve usando GET /api/v1/projects.https para hosts no locales.--allow-insecure, oCTWALL_ALLOW_INSECURE=true.--skip-tls-verify, oCTWALL_SKIP_TLS_VERIFY=true.Por favor, consulta
DepAlert está licenciado bajo la Licencia BSD de 3 Cláusulas