vet is a software supply-chain security tool that examines open-source packages for malware, vulnerabilities, license issues, and policy violations. Developers use it to scan package manifests, repositories, container images, or SBOMs and to enforce security policies in CI/CD systems.
Borrowing it
Nothing to install: this file belongs to safedep/vet. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/safedep/vet/v2/AGENTS.mdgit clone --depth 1 https://github.com/safedep/vetWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/instructions/safedep/vet/agents-md)<a href="https://agentmods.dev/instructions/safedep/vet/agents-md"><img src="https://agentmods.dev/badge/instructions/safedep/vet/agents-md/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/instructions/safedep/vet/agents-md"><img src="https://agentmods.dev/badge/instructions/safedep/vet/agents-md.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.02045 | $0.02045 |
| Opus 5.5 | $0.00818 | $0.00818 |
| Sonnet 5.5 | $0.00409 | $0.00409 |
| Haiku 4.5 | $0.00204 | $0.00204 |
Grade A, and why
vet AGENTS.md scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 122 lines — stays where its author put it; the contents beside it link to each section on GitHub.
AGENTS.md
This file gives guidance to AI coding agents that work on vet. .claude/CLAUDE.md imports it, so
Claude Code loads it. Git ignores a CLAUDE.md at the root.
Build and test
make check # the gate before a push: build, vet for each OS, tests, lint, hermetic acceptance
make fmt # format with the gci and gofumpt rules of the lint
make golden # rewrite the golden files and the report schemas, then read the diff
go test ./internal/engine/ -run TestName -count=1 # one test
- Run
make checkbefore each push. CI runs the same steps. make checklints only the lines that changed sinceorigin/v2. SetLINT_BASEfor another base.make goldensetsUPDATE_GOLDEN=1andUPDATE_SCHEMA=1. Commit a golden change only when the output change is the purpose of the commit.- The acceptance suite runs the real binary against an in-process stub, with no network. It needs the
build tag:
go test -tags acceptance ./test/acceptance/ -run TestAcceptance/scan/output. - A bug fix needs a test that fails without the fix. Run the test against the old code before you commit.
Find what exists before you write it
Read docs/glossary.md before you name a thing. It names each concept of vet and the code that owns it. Use its term and its type. Do not add a second word or a second type for a concept that it lists. When a change adds a concept, or overrules a term, update the glossary in the same pull request.
vet and dry already have most of the parts that a change needs. Search before you add a type, a
helper or a list. Each row is the one place for its concern.
| Concern | Use |
|---|---|
| Terminal output: messages, tables, panels, progress, prompts, banner | internal/tui/..., which wraps dry/tui. Look in dry/tui first for a missing part. |
| Stderr view of a scan: steps, diagnostics, gate line | internal/view |
| What a person sees first in a report: findings in order, diagnostics, what a change adds | internal/overview. The view and the sinks read it. |
Stdout data in the -o format |
internal/tui/printer |
| Untrusted text on a terminal (package names, paths from a repository) | internal/tui/escape |
| Log lines of libraries | internal/logging. They print only with -v. Do not write to the standard log package. |
| The list of built-in plugins with a config section | internal/plugins/builtin. Do not list plugins by hand. |
| The extractor set of a scan, declared and installed packages | internal/plugins/extractors (For), with internal/plugins/extractors/installed |
| Control plugins, report formats | internal/plugins/controls, internal/plugins/sinks |
| Enrichers and their cache settings | internal/plugins/enrichers |
| The JSON Schema of plugin options | internal/plugins/internal/optschema |
| Config: struct, defaults, layers, validation, lockdown | internal/config |
| Global flags, exit codes, usage errors | internal/app |
| Scan state, scan files, enrichment cache | internal/state |
| Wiring of one scan from the config | internal/runner |
A path pattern of scan.exclude or of a policy suppression |
internal/pathglob |
| A token in a git URL | git.Redact in internal/plugins/sources/git |
| GitHub token and client | internal/github |
The CI platform and the change that it builds, the adapters that write to it, and the setup files of vet ci |
internal/ci |
| Package identity: compare, key, order, PURL and the wire form of a package version | model.PackageVersion. It wraps the dry/api/pb rules. |
| SPDX license expressions: parse, compare, allow and deny, the OSI and FSF sets | internal/spdxlicense. Do not call go-spdx from another package. |
| Source code: parse, walk, and what a JavaScript name or call stands for | safedep/code (parser.ParseBytes, pkg/ts, lang/ecmascript), only from internal/plugins/enrichers/codeusage and internal/plugins/internal/hiddencode. Do not import a tree-sitter grammar. |
| Report types and the JSON Schema of the report | report |
| Golden file comparison in tests | internal/golden |
| Sample report for sink and view tests | plugin/plugintest |
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 4d ago Changed · +7 lines · +208 tokens per session e14b75dd6a09
- 5d ago Changed · +2 lines · +45 tokens per session eb12547e1193
- 7d ago First seen · 113 lines · 1,792 tokens per session scan A 7cf73b2d9584
vet AGENTS.md is an instructions file published in the GitHub repository safedep/vet (1,113 stars, last pushed today), licensed Apache-2.0. It adds 2,045 tokens to every session, about $0.0082 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-10.
Other instructions, from other repositories
vscode buildNext.instructions.md
Working notes and architecture documentation for the new esbuild-based build system in build/next. Use when making changes to the new build pipeline (transpile/bundle commands, NLS plugin, source-map handling, resource copying, or self-hosting watch tasks).
next.js AGENTS.md
AGENTS.md instructions for vercel/next.js, covering next.js development guide, codebase structure, monorepo overview, core package: packages/next and other important packages.
vscode oss-third-party-notices.instructions.md
Instructions for microsoft/vscode, covering vs code oss third-party-notices pipeline, architecture, pipeline flow in ci, cache eligibility and rollout and applying the notice (cutover).
langchain AGENTS.md
AGENTS.md instructions for langchain-ai/langchain, covering global development guidelines for the langchain monorepo, corridor security analysis, project architecture and context, monorepo structure and development tools & commands.
deepseek-harness AGENTS.md
AGENTS.md instructions for deepseek-ai/deepseek-harness, covering agents.md, pre-stable apis and released session data, repository layout, commands and host sandbox failures.
vscode copilot-instructions.md
Copilot instructions for microsoft/vscode, covering vs code copilot instructions, project overview, root folders, core architecture (src/ folder) and built-in extensions (extensions/ folder).