You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
EA1: YAML block-list and JSON quoted-key wildcard grants are never detected #445
The EA1 wildcard-tool-access pattern only matches when the * value sits inline after the key on the same starting position. The two most idiomatic real-world encodings of exactly this grant have never matched — in the pre-#417 pattern or the current one:
Case 1: YAML block list
tools:
- "*"
The block-sequence dash is not part of the pattern, so the value branch fails at -. This is the idiomatic frontmatter form for agent/skill manifests (e.g. allowed-tools: style lists).
Case 2: JSON quoted key
"tools": ["*"]
The pattern's key prefix (?:tools?|permissions?)\s*: requires the colon immediately after the key word, so the closing quote of a JSON key breaks the match. MCP server configs and agent manifests are JSON — the quoted-key form is arguably the most common encoding of a wildcard tool grant.
Also related: an inline list where the wildcard is not the first element is missed today:
tools: ["search", "*"]
(the pattern requires the * right after the opening bracket).
Proposed fix
Allow an optional quote around the key: ['\"]?(?:tools?|permissions?)['\"]?.
For inline lists, allow a quoted* anywhere inside the same-line brackets (\[[^\]\r\n]*['\"]\*['\"]). Quoted-only, so markdown link/bold text inside square brackets cannot satisfy it.
Scope note: the block-list branch intentionally matches only the first item. A wildcard buried later in a multi-item block list stays out of scope until there's evidence it occurs in practice — matching arbitrary item positions across lines widens the false-positive surface for markdown lists.
Implementation is in progress in PR #447, which adds EA1 coverage for YAML block-list and JSON quoted-key wildcard grants. Keeping this issue open until the PR merges and the positive/negative fixtures pass on main.
Activity
fix(ea1): reject footnote-legend '*', bound pre-colon gap, detect blo…
rng1995 commentedon Sep 16, 2026
Implementation is in progress in PR #447, which adds EA1 coverage for YAML block-list and JSON quoted-key wildcard grants. Keeping this issue open until the PR merges and the positive/negative fixtures pass on
main.rng1995 commentedon Oct 4, 2026
PR-state snapshot checked on 2026-10-04:
Keeping this issue open: the relevant implementation is not merged. Check/review status is a point-in-time snapshot, not a claim of merge readiness.