agent-gate CLAUDE.md

Repository instructions for agent-gate, a local tool that monitors and records the HTTPS traffic made by an AI coding agent and its subprocesses. It includes rules for the launcher, proxy, policy checks, stored records, and local dashboard.

In plain words
What is it for?
Use it when working on the agent-gate repository, especially changes involving the launcher, HTTPS proxy, traffic policies, local JSONL or SQLite records, or the dashboard.
Why use it?
It gives an agent the project context and rules it must follow before making significant changes. This reduces the risk of breaking the local security and audit design.

Instructions file

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add instructions/wz/agent-gate/claude-md
Clone the repo
git clone --depth 1 https://github.com/WZ/agent-gate
Per session 4,691 This file is loaded in full into every session.
When invoked 4,691 The same file — it is already loaded in full.
Security scan A 1 finding. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5 $0.04691 $0.04691
Opus 5 $0.02346 $0.02346
Sonnet 5 $0.00938 $0.00938
Haiku 4.5 $0.00469 $0.00469

Measured 2d ago against content hash de9742d13727, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

agent-gate CLAUDE.md scanned grade A with 1 finding 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 2d 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.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

│ launcher ──spawn──▶ agent (claude, curl, gh, ...) │
CLAUDE.md · 341 lines

How it starts

The opening of the file, as written. The whole thing — 341 lines — stays where its author put it; the contents beside it link to each section on GitHub.

CLAUDE.md — agent-gate

Project memory for AI assistants working on this repo. Read this before making non-trivial changes.

What this is

agent-gate is a personal, single-user audit gate for Claude Code's outbound HTTPS. It TLS-intercepts every request the agent (and its subprocesses) makes, parses + flags + persists the flow, and serves a local web dashboard for review. It does not ship as a service, ship to a backend, or run as multi-tenant. Everything is loopback, single-user, local disk.

Three subsystems share one binary:

┌──────────────────────── agent-gate ────────────────────────┐
│                                                            │
│   launcher  ──spawn──▶  agent (claude, curl, gh, ...)      │
│   (sandbox/jail)              │                            │
│                               │ all egress forced here     │
│                               ▼                            │
│   proxy :8888  ──parse──▶ policy ──▶ store (jsonl+sqlite)  │
│                                            │               │
│   dashboard :7878 ◀────────────────────────┘               │
└────────────────────────────────────────────────────────────┘

The launcher physically forces egress through the proxy via a per-platform network jail (macOS sandbox-exec, Linux user namespace, Windows scaffolded for Plan 4). The proxy is a TLS-MITM forward proxy. The dashboard is read-only against the store.

Critical rules — never break these

  • Audit-log completeness. Every captured flow MUST land in the JSONL + SQLite store. The proxy emits on a buffered channel; if the consumer falls behind, the proxy slows down (and upstream may time out). Drop-on-full is a correctness bug, not a knob. See internal/proxy/proxy.go.
  • Fail-closed posture. If the proxy crashes during agent-gate run, the agent's network goes dark. The supervisor's teardown path may not silently swallow this; the child must die when the proxy dies. See internal/launcher/supervisor.go.
  • Loopback only. The proxy refuses to bind a non-loopback address; same for the dashboard. See isLoopbackAddr in cmd/agent-gate/proxy_cmd.go and isLoopback in internal/dashboard/server.go. Never relax this.
  • File modes. CA private key + JSONL + dismissals.json must be 0600; config + data dirs must be 0700. The CA package refuses to start if key.pem is wider than 0600 — gated on runtime.GOOS != "windows" since Windows ignores unix mode bits. macOS + Linux enforce; Windows skips both in the production check (internal/ca/ca.go) and the unit test (internal/ca/ca_test.go).
  • No secrets in commits. git add files by name, never git add -A or git add .. The user's data dir contains real captured prompts and responses; an accidental add -A would commit them.
  • Don't push without permission. Local merge + tag is fine; pushing to origin always needs explicit user authorization (per the user's global CLAUDE.md).
  • Always execute in a git worktree. Every code change, test run with side effects, and binary build happens inside .worktrees/<branch>/, never in the main checkout. The main checkout is reserved for reading, git operations, and merging PRs. The worktree is created BEFORE work starts — never skip it "just for a small change" and never infer it later. When invoking subagents to execute a plan, instruct them to cd into the worktree as their first step.

Read the full file on GitHub · 341 lines

Changes

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.

  1. 2d ago First seen · 341 lines · 4,691 tokens per session scan A de9742d13727

Subscribe to this mod's changes

agent-gate CLAUDE.md is an instructions file published in the GitHub repository WZ/agent-gate (2 stars, last pushed 3mo ago), licensed Apache-2.0. It adds 4,691 tokens to every session, about $0.0235 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.