Hooks

Hook infra: Oppdag feilkonfigurasjon i IaC

Skann Terraform, Dockerfiles og GitHub Actions etter feilkonfigurasjon, eller vurder ett enkelt kodeutdrag, rett fra kommandolinjen.

Hooken infra flagger feilkonfigurasjon i infrastruktur som kode som kan avgjøres ut fra selve filen: et nettverk som er åpent for hele verden, en tillatelse med jokertegn, en hemmelighet i et manifest, en container som kjører som root, en ikke-klarert verdi i et CI-skall. Den leser bare IaC-filer (.tf/.tf.json/.hcl, Dockerfile*, .github/workflows/**). Den er den deterministiske motoren bak spesialiseringen infra, i modusen scan eller check.

Kjør​

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

Gjennomgangen skriver ut opptil to seksjoner. Infrastructure risks found avslutter med en exit-kode som ikke er null, og inneholder feilene som kan avgjøres (en ingress fra 0.0.0.0/0 på en sensitiv port, en IAM-setning med jokertegn, en hemmelighet i et manifest, encrypted = false, en git-modul som ikke er låst til en versjon, et image som eksplisitt kjører som root, en curl | sh, en skriptinjeksjon i CI, permissions: write-all). Infrastructure hardening advisories endrer ikke exit-koden (en foranderlig basistagg, en action som bare er låst til en tagg). Finner den ingenting, skriver den ut no infrastructure risks found.

Slik leser du konklusjonen​

Modusen check skriver ut taggen med høyest alvorlighetsgrad som den traff (for eksempel public-ingress, iam-wildcard, root-user, curl-pipe, script-injection, write-all), en anbefalingstagg (mutable-tag, unpinned-action) eller safe. Bare en tagg med alvorlighetsgraden til et funn avslutter med en exit-kode som ikke er null.

CLI-alternativer​

AlternativVerdiBeskrivelse
--patternet kodeutdragSjekk ett kodeutdrag. Krever --kind. Gjenta for flere.
--kindterraform | dockerfile | github-actionsTypen kodeutdraget vurderes som.
--diren mappeAvgrens gjennomgangen til en mappe. Kan gjentas og kombineres med --file.
--fileen filAvgrens gjennomgangen til én fil. Kan gjentas og kombineres med --dir.

Uten alternativer skanner den alle IaC-filer i prosjektet. --pattern kan ikke kombineres med --dir eller --file.

Velg hva den skanner​

Den utelater det Git ignorerer. For å utelate mer, eller for å skanne det Git ignorerer, gi infra egne innstillinger:

npx lagune write add --ignore examples --checker infra
{
"checkers": {
"infra": { "gitignore": false, "ignore": ["examples"] }
}
}

Konfigurer hookene dekker alle innstillingene.

tip

Hooken fanger de opplagte tilfellene som kan avgjøres: Manglende kryptering, eksponering via pull_request_target og riktig IAM-omfang er vurderinger som spesialiseringen infra fortsatt dekker.

Vanlige spørsmål

Terraform og HCL (.tf, .tf.json, .hcl), Dockerfiles og workflow- og action-YAML for GitHub Actions under .github/. Den når disse filene selv om skannerne for kildekode hopper over dem.