Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/risk-paths.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ blocked:
- '.github/workflows/**'
- '.github/risk-paths.yml'
- '.github/CODEOWNERS'
- 'infra/**'
- 'infra/iam/**' # narrowed 2026-05-22 (was 'infra/**' — over-classified safe IaC sync PRs)
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Coverage gap — non-IAM sensitive infra paths now fall through to standard

The existing catchalls in this file are:

  - '**/.env*'
  - '**/secrets*'

**/secrets* matches files whose name starts with secrets (e.g. infra/secrets.yaml). It does not match files inside a directory named secrets/ (e.g. infra/secrets/prod-credentials.json). Under the old infra/**, both were blocked. Under infra/iam/**, only the IAM subtree is blocked.

Concrete paths that lose blocked status:

  • infra/secrets/<anything> — often used for Vault seeds, KMS configs, or bootstrap credentials
  • infra/vault/<anything> — Vault policies/AppRole configs can be privilege-escalation vectors
  • infra/certs/<anything> — private keys / CA bundles; compromise isn't git-revertable

If no repo in the fleet uses these layouts the gap is harmless, but consider adding explicit entries or extending the catchall:

Suggested change
- 'infra/iam/**' # narrowed 2026-05-22 (was 'infra/**' — over-classified safe IaC sync PRs)
- 'infra/iam/**'
- 'infra/secrets/**'
- 'infra/vault/**'
- 'infra/certs/**'

Or if the intent is truly "only IAM is non-revertable, everything else is fine", leave as-is and document that explicitly so future readers don't re-add infra/** as a "safety fix".

- 'terraform/**'
- 'k8s/**'

Expand Down Expand Up @@ -88,4 +88,4 @@ trivial:
- 'LICENSE'
- '.gitignore'
- '.github/ISSUE_TEMPLATE/**'
- 'docs/**'
- 'docs/**'
Loading