{ "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json", "name": "block-invisible-unicode", "version": "0.0.1", "description": "Pre-commit gate for the mechanizable slice of prompt-injection defense: invisible and direction-override Unicode in staged changes. Bidi controls make code read differently than it parses (Trojan Source, CVE-2021-42574); Unicode tag-block characters smuggle instructions that are invisible to a human reviewer but fully legible to the agent reading the file. Zero-width joiners and bidi marks (ZWJ/ZWNJ/LRM/RLM) are deliberately NOT matched -- they are legitimate in emoji sequences and in Persian, Arabic and Indic text -- so ordinary internationalised content passes; only the override/embed/isolate controls and the tag block, which have no honest use in a source tree, are blocked. Escape: 'pragma: allowlist invisible-unicode' on the same line.", "author": { "name": "chock-core" }, "repository": "https://github.com/open-coder-ai/chock-catalog", "license": "Apache-2.0", "keywords": [ "chock", "policy-as-code", "hook", "block", "{'control': 'asi01', 'coverage': 'partial', 'note': 'blocks the hidden-character slice of goal-hijack payloads a diff can show; semantic injection defense remains advisory (injection-defense, owasp-asi01-agent-goal-hijack)'}" ], "extensions": { "io.github.open-coder-ai": { "manifest": "manifest.yaml", "artifact": "hook", "enforcement": "block", "coverage_without_chock": "advisory" } } }