Appearance
SEC447 / MD-PACKAGE-INSTALL-ALLOWED-TOOLS
SEC447 flags AI-native markdown frontmatter when allowed-tools grants exact package-install authority such as Bash(pip install) or Bash(npm install).
Why It Matters
Shared package-install authority turns dependency mutation into default team policy. In AI-native instruction files, that makes supply-chain changes easy to cargo-cult without a reviewed install workflow.
Trigger Shape
The rule triggers only when all of these are true:
- the file is an AI-native markdown instruction surface with parsed frontmatter
- the path is not fixture-like
allowed-toolsorallowed_toolscontains one of these exact tokens:Bash(pip install)Bash(pip3 install)Bash(python -m pip install)Bash(yarn install)Bash(npm install)Bash(pnpm install)Bash(bun install)
Clean Cases
These stay clean:
- more specific non-install commands such as
Bash(pip cache purge) - frontmatter that does not grant package installation
- fixture-like examples under test or fixture paths
Example Trigger
md
---
allowed-tools:
- Bash(pip install)
- Read
---Safer Example
md
---
allowed-tools:
- Bash(pip cache purge)
- Read
---How To Fix
Replace shared package-install authority with a narrower reviewed workflow, or remove install privileges from shared frontmatter entirely.