Appearance
SEC431 / MD-GLOB-UNSAFE-PATH
SEC431 flags AI-native markdown frontmatter when allowed-tools or allowed_tools grants Glob(...) over an absolute path, home-relative path, Windows drive path, or parent-traversing path.
Why It Matters
Shared frontmatter should keep file-discovery scopes inside reviewed repo-local boundaries. Repo-external or parent-traversing Glob(...) grants make discovery policy broader than the project itself.
Trigger Shape
- AI-native markdown surface with parsed frontmatter
- path is not fixture-like
allowed-toolsorallowed_toolscontainsGlob(...)- the inner path starts with
/,~/,~\\, a Windows drive prefix, or contains../or..\\
Clean Cases
- repo-local scopes such as
Glob(./docs/**) - frontmatter without
Glob(...) - fixture-like examples under test or fixture paths
Example Trigger
md
---
allowed-tools: Glob(/var/log/**), Read(./docs/**)
---Safer Example
md
---
allowed-tools: Glob(./docs/**), Read(./docs/**)
---How To Fix
Replace repo-external Glob(...) grants with narrower repo-local scopes, or remove shared file-discovery authority outside the project boundary.