Hook

Hook infra: rileva le configurazioni IaC errate

Analizza Terraform, Dockerfile e GitHub Actions alla ricerca di configurazioni errate, oppure valuta un singolo frammento, dalla riga di comando.

L'hook infra segnala le configurazioni errate dell'infrastructure as code che si possono stabilire dal file stesso: una rete aperta al mondo, un permesso wildcard, un segreto in un manifest, un container eseguito come root, un valore non attendibile in una shell di CI. Legge solo file IaC (.tf/.tf.json/.hcl, Dockerfile*, .github/workflows/**). È il motore deterministico dietro la specializzazione infra, in modalità scan o check.

Come eseguirlo​

npx lagune read infra # scans every IaC file
npx lagune read infra --dir infra # scans a directory
npx lagune read infra --file Dockerfile # scans a single file

L'analisi stampa fino a due sezioni. Infrastructure risks found esce con un codice diverso da zero e contiene i difetti accertabili (un ingresso 0.0.0.0/0 su una porta sensibile, una regola IAM wildcard, un segreto in un manifest, encrypted = false, un modulo git non fissato a una versione, un'immagine che gira esplicitamente come root, un curl | sh, una script injection nella CI, permissions: write-all). Infrastructure hardening advisories non cambia il codice di uscita (un tag di base mutabile, un'action fissata a un tag). Un'esecuzione pulita stampa no infrastructure risks found.

Come leggere il verdetto​

La modalità check stampa il tag di gravità più alta che ha trovato (per esempio public-ingress, iam-wildcard, root-user, curl-pipe, script-injection, write-all), un tag di avviso (mutable-tag, unpinned-action) oppure safe. Solo un tag con gravità da rilievo esce con un codice diverso da zero.

Opzioni della CLI​

OpzioneValoreDescrizione
--patternun frammentoControlla un frammento. Richiede --kind. Ripetila per controllarne diversi.
--kindterraform | dockerfile | github-actionsIl tipo con cui viene giudicato il frammento.
--diruna directoryLimita l'analisi a una directory. Si ripete e si combina con --file.
--fileun fileLimita l'analisi a un singolo file. Si ripete e si combina con --dir.

Senza opzioni analizza ogni file IaC del progetto. --pattern non si può combinare con --dir o --file.

suggerimento

L'hook coglie i casi evidenti e accertabili: la cifratura assente, l'esposizione tramite pull_request_target e il giusto ambito IAM restano valutazioni coperte dalla specializzazione infra.

Domande frequenti

Terraform/HCL (.tf, .tf.json, .hcl), i Dockerfile e lo YAML dei workflow e delle action di GitHub Actions in .github/. Raggiunge quei file anche se gli scanner del sorgente li saltano.