
DepAlert è un gate di sicurezza open-source per la tua pipeline CI/CD. Analizza gli SBOM rispetto ai dati di intelligence sulle minacce e ti dice rapidamente se la tua build include pacchetti maligni noti.
Questo strumento fa parte della piattaforma CTWall. Vedi: CTWall
DepAlert è un gate di sicurezza open source per la tua pipeline CI/CD. Analizza gli SBOM rispetto ai dati di intelligence sui malware e ti dice rapidamente se la tua build include pacchetti dannosi noti.
DepAlert risolve problemi fondamentali della supply chain del software che hanno un impatto diretto su velocità, rischio e costi di rilascio:
MALWARE, CLEAN, UNKNOWN) in ogni esecuzione della pipeline.fail-on) e un flusso di lavoro per eccezioni verificabile.Vedi 00_quick_start.md per istruzioni dettagliate.
depalert è un CLI per CI/CD che:
POST /api/v1/ingest)GET /api/v1/tests/{testId}/revisions/{revisionId}/depalert-verdict)Lo strumento è limitato al progetto. Puoi selezionare il progetto target tramite:
project-id (UUID), oppureproject-name (risolto tramite API).Se vengono forniti entrambi, project-id ha la precedenza.
DepAlert restituisce i risultati di una revisione:
CLEAN - nessun rilevamento malware - exit 0MALWARE - almeno un rilevamento malware nella revisione - exit 1UNKNOWN - analisi non ancora completata - exit 2 (oppure exit 0 con fail-on=NONE)Formato output CLI:
VERDICT: <MALWARE|CLEAN|UNKNOWN> (malware=<n> clean=<n> unknown=<n> total=<n>, elapsed=<t>)
La modalità JSON è disponibile tramite --format json (o CTWALL_OUTPUT=json).
Esempio di output 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 = pass1 = fallimento policy o errore runtime2 = il verdetto finale è UNKNOWN e fail-on non è NONEproject-id o project-name è richiesto.project-name viene risolto utilizzando GET /api/v1/projects.https è richiesto per host non locali.--allow-insecure, oppureCTWALL_ALLOW_INSECURE=true.--skip-tls-verify, oppureCTWALL_SKIP_TLS_VERIFY=true.Vedi
DepAlert è concesso in licenza secondo i termini della licenza BSD 3-Clause
| Flag | ENV | Richiesto | Predefinito | Descrizione |
|---|
--url | CTWALL_API_URL | sì | http://localhost:8080 | URL dell'API CTWall |
--key | CTWALL_API_KEY | no | vuoto | token API (Authorization: Bearer ...) |
--project-id | CTWALL_PROJECT_ID | condizionale | nessuno | UUID del progetto target (ha priorità su project-name) |
--project-name | CTWALL_PROJECT_NAME | condizionale | nessuno | Nome del progetto target (risolto in UUID tramite API) |
--file | CTWALL_SBOM_FILE (o legacy SBOM_FILE) | sì | nessuno | Percorso del file SBOM |
--product | CTWALL_PRODUCT | sì | nessuno | Nome del prodotto |
--scope | CTWALL_SCOPE | sì | nessuno | Nome dell'ambito |
--test | CTWALL_TEST | sì | nessuno | Nome del test |
--fail-on | CTWALL_FAIL_ON | no | MALWARE | Elenco verdetti CSV: MALWARE,CLEAN,UNKNOWN o NONE |
--ignore-file | CTWALL_IGNORE_FILE | no | depalert.ignore | File opzionale di eccezioni YAML per sovrascrittura locale del verdetto + aggiornamenti triage |
--format | CTWALL_OUTPUT | no | text | Formato output: text o json |
--timeout-seconds | CTWALL_WAIT_TIMEOUT_SECONDS | no | 180 | Timeout di attesa sincrona in secondi |
--allow-insecure | CTWALL_ALLOW_INSECURE | no | false | Consenti HTTP per host non locali |
--skip-tls-verify | CTWALL_SKIP_TLS_VERIFY | no | false | Salta la verifica del certificato TLS per HTTPS (non sicuro, solo test) |