Agent security · cost · supply-chain · open-core

Your AI agents have a shell, a token, and no manager.

Perimeter is a one-command audit for your agent toolchain — MCP servers, hooks and skills. It tells you what they can do, what they cost, and what changed since last week; then gates CI.

npm i -g perimetercli See how it works
~/acme-agent — perimeter
$ perimeter audit
Perimeter — agent toolchain audit
======================================
Scanned 3 servers · 1 context file
Verdict: HIGH
  0 critical · 1 high · 2 medium · 3 low · 0 info

── Servers (3) ──
  shell-helper       MEDIUM 2 caps · 2,600 tok · .mcp.json
  paybot             HIGH 2 caps · 5,000 tok · .mcp.json
  websearch          LOW 1 caps · 2,100 tok · .mcp.json

── Findings (7) ──
  [MEDIUM] RISK-FSWRITE · Filesystem write access
      shell-helper (@modelcontextprotocol/server-filesystem) — The server can create or modify files. Ensure writes are confined to the project directory.
      Fix: Pin the working directory; deny paths outside an allowlist.
  [MEDIUM] SUP-CREDS-ENV · Secrets present in server config env
      shell-helper (@modelcontextprotocol/server-filesystem) — Credential-like env vars are configured: API_TOKEN. They may be visible in version control.
      Fix: Reference secrets from the runtime secret store; never commit them.
  [LOW] SUP-UNPINNED · Unpinned package version
      shell-helper (@modelcontextprotocol/server-filesystem) — The server is fetched at runtime (npx/uvx) without a pinned version or lockfile.
      Fix: Pin an exact version or vendor the package into the lockfile.
  [HIGH] RISK-PAYMENT · Payment / financial capability
      paybot (@stripe/mcp) — The server can initiate transactions or alter balances. Unauthorised or prompt-injected calls can move money.
      Fix: Require a human approval gate; scope keys to a read-only or sandboxed account.
  [LOW] SUP-UNPINNED · Unpinned package version
      paybot (@stripe/mcp) — The server is fetched at runtime (npx/uvx) without a pinned version or lockfile.
      Fix: Pin an exact version or vendor the package into the lockfile.
  [LOW] SUP-UNPINNED · Unpinned package version
      websearch (@modelcontextprotocol/server-brave-search) — The server is fetched at runtime (npx/uvx) without a pinned version or lockfile.
      Fix: Pin an exact version or vendor the package into the lockfile.
  [HIGH] INJECT-002 · Suspicious instructions in agent context file
      AGENTS.md — Embedded instruction phrasing detected in AGENTS.md. An agent reads this text every session, so it can redirect behaviour.
      Fix: Review the file and remove embedded instruction phrasing; consider pinning or signing it.

── Cost ──
  model claude-sonnet · ~9,700 tokens/load · $0.10/load

Know what your agents can actually do

Three questions, one command.

🛡️

Risk

Catches tool poisoning, shell execution, file/credential access, payments, cloud writes and typosquatted packages — mapped to OWASP Agentic risks.

💰

Cost

Every server burns context before it works. Measure the token footprint and dollar cost of your MCP configuration per load.

🔍

Drift

Record a baseline and flag servers that are new or silently changed — the rug-pull pattern attackers use.

🚦

CI gate

--enforce exits non-zero on a finding. Block a PR before a poisoned tool reaches your agents.

👁️

Observe what ran

perimeter session reads real agent logs and reports which tools were actually called, with exact token spend.

📄

Reports

Text, JSON, Markdown, SARIF and a shareable HTML dashboard. Drop SARIF into GitHub code scanning.

⚡

Zero deps

Node built-ins only. Works offline. Install globally, run anywhere, never leaves your machine.

How it works

Two steps from an invisible setup to an audited one.

perimeter baseline

Snapshot

Signature-hashes every server you currently use.

perimeter audit

Audit

Scores risk, measures cost, flags drift.

perimeter audit --enforce

Gate

Blocks the PR / deploy when the verdict crosses your threshold.

Pricing

The scanner is free and open source. Pay for governance at scale.

Community
$0
  • Full CLI audit
  • Open source (MIT)
  • CI gate + SARIF
  • Local + offline
Install
Team
$79/month
  • Everything in Pro
  • Team policy
  • Fleet-wide visibility
  • Priority support
Contact

Try it in 30 seconds

Runs on macOS, Linux and Windows.

terminal
$ npm install --global perimetercli
$ perimeter audit
Verdict: LOW  (or CRITICAL, if you're on the bad kind of stack)

FAQ

Does it use a cloud service?

Not by default. The CLI is fully offline and only reads your local files. Hosted Pro features are opt-in.

What agent ecosystems does it cover?

MCP servers (Claude Code, Cursor, Claude Desktop, `.mcp.json`), plus agent instruction files like `AGENTS.md` and skills.

Is the risk scoring perfect?

No — it's a heuristic, offline scan. It's a strong, fast first pass for CI and audit, not a runtime sandbox. Be honest about that in your own reviews.

What's the license?

The core CLI is MIT. Perimeter Pro is a separate hosted product.