Supply-chain linting and integrity manifests for agent instructions, skills, and MCP configuration.
Agent behavior can change without application code changing. AGENTS.md, SKILL.md, editor rules, and MCP configuration are executable context in practice—so ProvenanceLint treats them like a supply chain.
python -m pip install -e .
provenancelint scan .
provenancelint manifest . --output provenancelint.lock.json
provenancelint verify provenancelint.lock.json- Private keys and common live-token shapes in instruction surfaces.
- Invisible Unicode and bidirectional control characters.
- Download-and-execute shell pipelines.
- Instruction-override and approval-bypass phrases.
- Unauthorized addition, removal, or modification of instruction files.
Discovery includes AGENTS.md, CLAUDE.md, GEMINI.md, SKILL.md, .skill.md, .cursor/rules/*.mdc, Copilot instructions, and MCP JSON files. Build and dependency directories are ignored.
provenancelint scan . --format sarif --output provenancelint.sarifJSON output has stable finding fingerprints; SARIF output can be uploaded to GitHub code scanning. Use --fail-on medium|high|critical|none to select the gate.
The manifest command hashes only discovered instruction surfaces. Review and commit the lock file, then run verify before trusting a new checkout or agent session:
provenancelint manifest . --output provenancelint.lock.json
git add provenancelint.lock.jsonExit codes: 0 clean, 1 threshold reached, 5 manifest drift, 2 invalid input.
ProvenanceLint is a fast static signal, not proof that an instruction is safe. Findings are deliberately narrow and reviewable. A clean result should be combined with repository permissions, pinned dependencies, and runtime tool controls.
python -m pip install -e .
python -m unittest discover -s tests -vCreated and maintained by SamAlpha1. The canonical origin is SamAlpha1/ProvenanceLint; see .provenance/origin.json, NOTICE, and the immutable Git history.
MIT licensed. Copies must preserve the copyright and license notice.