Appearance
SEC429 / MD-WRITE-UNSAFE-PATH
SEC429 flags AI-native markdown frontmatter when allowed-tools or allowed_tools grants Write(...) over an absolute path, home-relative path, Windows drive path, or parent-traversing path.
Why It Matters
Shared instruction frontmatter should keep file-write authority tightly scoped. Repo-external or parent-traversing Write(...) grants can turn routine skills into policy that writes outside the intended workspace.
Trigger Shape
- AI-native markdown surface with parsed frontmatter
- path is not fixture-like
allowed-toolsorallowed_toolscontainsWrite(...)- the inner path starts with
/,~/,~\\, a Windows drive prefix, or contains../or..\\
Clean Cases
- repo-local scopes such as
Write(./artifacts/**) - frontmatter without
Write(...) - fixture-like examples under test or fixture paths
Example Trigger
md
---
allowed-tools: Write(../shared/**), Read(./docs/**)
---Safer Example
md
---
allowed-tools: Write(./artifacts/**), Read(./docs/**)
---How To Fix
Replace repo-external Write(...) grants with narrower repo-local scopes, or remove shared write authority outside the project boundary.