$ the-wire · showcase
Guardrails adds CEL rules per tool, agent-scan stops missing Copilot CLI projects
By RepoJournal · Filed · About Agent Security · Composed from the cited sources · methodology
Two operator-visible fixes landed: NVIDIA-NeMo/Guardrails gained a deterministic CEL rail that reads tool-call arguments directly, and snyk/agent-scan now finds MCP servers and skills in Copilot CLI projects it previously skipped.
feat: add per-tool CEL expression rail NVIDIA-NeMo/Guardrails
NVIDIA-NeMo/Guardrails shipped a `cel` rail that blocks a tool call or tool result when any Common Expression Language expression evaluates to true. Because an expression reads the structured fields of a call rather than matching text, one rule can combine arguments, as in `has(args.cwd) && args.cwd.startsWith("/etc")`, and it calls no model.
fix: ADS-1387 discover Copilot CLI session projects snyk/agent-scan
snyk/agent-scan read project roots only from `permissions-config.json`, but Copilot CLI also records projects in `~/.copilot/session-state/<id>/workspace.yaml`, so those projects' MCP servers and skills were never scanned. The tool now also collects roots from each session's `cwd`/`git_root` and the trusted-folders list, verified on Linux, macOS and Windows.
fix: require success:true payload for the hooksConfigured test event snyk/agent-scan
Agent Monitor answers HTTP 200 with an empty body when a push key is rejected, which meant agent-scan's install-time hooksConfigured test event passed with an invalid key. The test now counts as successful only when the hook script's stdout is a JSON object with `"success": true`; a non-zero exit still fails, and other callers of `_invoke_hook_script` keep the old exit-code behavior behind an o...
docs(i18n): match the OWASP badge to the mapping in every README microsoft/agent-governance-toolkit
Four translated READMEs still carried the `10/10 Covered` OWASP badge and linked to a mapping that says otherwise, after the English badge was corrected to `7 Full, 3 Partial`. This pass brings the translations in line, so readers of the ja and other localized docs stop getting the wrong compliance picture.