---
id: block-wildcard-iam
track: coding
version: 0.1.3
label: blocks
keyword: block
where: write turn-end
sha256: 7b54689a90a3edaf36e5074e2a278fdfe4dfccb10a38834471dbe99e2d33187f
source: https://github.com/open-coder-ai/chock-catalog/tree/1e60d211c1bb767152c6ab0167932da06ab3a10f/agentic-security/block-wildcard-iam
catalog_ref: 1e60d211c1bb767152c6ab0167932da06ab3a10f
---

# Block Wildcard IAM Grants

block-wildcard-iam · version 0.1.3

Blocks — Blocks on an agent's file writes and at turn end. Chock adds friction. It is not a security boundary. 

In a git repo: at commit (Chock refuses the commit, locally and in CI.)



## What it does

Pre-commit gate for the mechanizable slice of ASI03, one line at a time: a wildcard action, resource or principal in string or list form, any quote style (JSON, YAML, Terraform, CDK, escaped JSON), whole-service wildcards on s3, iam, sts, kms and ec2 actions, Allow with an inverted key, administrator, power-user and IAM-admin managed policies, GCP owner and editor roles and public members, Kubernetes RBAC wildcards and cluster-admin, Azure wildcard actions and Owner. Only a one-line strict-JSON AWS Deny statement is exempt. Friction, not a security boundary: grants split across lines (iam-policy-scan reads those), partial wildcards, unlisted services and roles, YAML aliases or tags and runtime-built grants pass; other Deny forms and admission-webhook wildcards are refused. Escape: 'pragma: allowlist broad-privilege' on the same line, honoured at commit; at agent tool-use only when that exact line is already committed in HEAD.

## Its label on each agent

- Claude Code (tested): Blocks — Blocks on an agent's file writes and at turn end. Builder: /coding/builder/#client=claude-code&p=block-wildcard-iam
- Cursor (tested): Blocks — Blocks on an agent's file writes and at turn end. Builder: /coding/builder/#client=cursor&p=block-wildcard-iam
- Codex (tested): Blocks — Blocks on an agent's file writes and at turn end. If the hook errors, the action goes through (not witnessed; the vendor's row is only partly live-run). Builder: /coding/builder/#client=codex&p=block-wildcard-iam
- GitHub Copilot (tested): Blocks — Blocks at turn end only. It does not check a file write when it happens. If the hook errors, the action goes through (not witnessed; the vendor's row is only partly live-run). Builder: /coding/builder/#client=copilot&p=block-wildcard-iam
- Devin (tested): Blocks — Blocks at turn end only. It does not check a file write when it happens. If the hook errors, the action goes through (vendor docs only, not witnessed). Builder: /coding/builder/#client=devin&p=block-wildcard-iam
- Grok (tested): Not graded yet for Grok. Builder: /coding/builder/#client=grok&p=block-wildcard-iam
- goose (tested): Not graded yet for goose. Builder: /coding/builder/#client=goose&p=block-wildcard-iam
- Antigravity (tested): Not graded yet for Antigravity. Builder: /coding/builder/#client=antigravity&p=block-wildcard-iam
- OpenHands (untested): Not graded yet for OpenHands. Builder: /coding/builder/#client=openhands&p=block-wildcard-iam
- Kimi Code (untested): Not graded yet for Kimi Code. Builder: /coding/builder/#client=kimi-code&p=block-wildcard-iam
- Factory Droid (untested): Not graded yet for Factory Droid. Builder: /coding/builder/#client=factory-droid&p=block-wildcard-iam

## What it misses

This policy does not state what it misses.

## Examples

- Refused: A staged IAM policy document grants Action star.
- Allowed: A staged IAM document grants a scoped action on a named resource.

## Latest change

0.1.3 · 2026-10-27 — Title wording only (IR-F40): "Block Wildcard IAM" is now "Block Wildcard IAM Grants". The id, guard and tests are unchanged.

## Provenance

- Tested by 38 of 38 cases run automatically
- SHA-256: `7b54689a90a3edaf36e5074e2a278fdfe4dfccb10a38834471dbe99e2d33187f`
- Catalog commit: https://github.com/open-coder-ai/chock-catalog/commit/1e60d211c1bb767152c6ab0167932da06ab3a10f
- Source: https://github.com/open-coder-ai/chock-catalog/tree/1e60d211c1bb767152c6ab0167932da06ab3a10f/agentic-security/block-wildcard-iam (catalog path `agentic-security/block-wildcard-iam`)
- Presets: Cloud and containers
- JSON: `/api/coding/policies/block-wildcard-iam.json`
- Report a problem: https://chock.sh/report/?policy=block-wildcard-iam&version=0.1.3&page=%2Fcoding%2Fpolicies%2Fblock-wildcard-iam%2F
