Outsider Stage 0.5
Replay and verify a real, sealed Outsider Stage 0.5 intervention chain.
Translation pending
Belay is a local-first security layer at the tool-call boundary of AI coding agents. Deterministic, sub-100ms, fail-closed. Detect, block, and get notified — no LLM in the decision path.
SecurityRust · TypeScriptGitHub @SECBLOKOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Belay is an open-source, local-first security layer for AI coding agents (Claude Code, Codex, Cursor, OpenClaw, Hermes Agent and MCP) that blocks dangerous commands, secret leaks, and prompt injection at the tool-call boundary in under 100ms — no LLM in the decision path by default, no cloud, no phone-home.
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
Detect · Block · Notify — a defense and monitoring layer for AI coding agents.
Your coding agent has full shell access. One prompt injection in a GitHub issue,
one hallucinated rm -rf, one MCP tool response that isn't what it claims to
be — and it's not a bug report anymore, it's your .env in a stranger's
webhook or your home directory gone.Read the full README ↗Detect · Block · Notify — a defense and monitoring layer for AI coding agents.
Your coding agent has full shell access. One prompt injection in a GitHub issue,
one hallucinated rm -rf, one MCP tool response that isn't what it claims to
be — and it's not a bug report anymore, it's your .env in a stranger's
webhook or your home directory gone.
Belay is an open-source, local-first security layer that gates every tool call an AI coding agent makes — blocking destructive commands, secret leaks, and dangerous MCP tool calls in under 100ms, with no LLM in the decision path, no cloud round-trip, and no phone-home by default.
It auto-detects the agents you already run, blocks dangerous actions outright, escalates ambiguous-but-risky ones to you for a one-tap Allow / Deny (in the terminal, the desktop app, or your phone), and notifies you when something happens.
.env files, API keys, SSH keys, and credentials belonging to other AI tools on the same machinerm -rf /, curl … | sh, fetch→chmod→exec droppers — including common evasion shapes (wrapper prefixes, compound chaining, heredocs, split/long flags)Every rule is tagged with the OWASP Top 10 for Agentic Applications (from OWASP's Agentic Security Initiative), OWASP LLM Top 10, and MITRE ATLAS, and the static scanner emits SARIF 2.1.0 straight into your CI's code-scanning tab.
Known limitation, stated plainly: command-gate detection is pattern-based, not a full sandbox — an interpreter-wrapped call that never surfaces a recognizable shell substring (e.g. a destructive action expressed purely through a scripting language's own API) can still slip through, and a bare network call to a cloud metadata endpoint outside a skill's context isn't yet a dedicated command-gate rule. Belay is defense-in-depth, not a guarantee.
Most agent-safety tools protect one agent. Belay auto-detects and correctly instruments 11 — using the right native mechanism per agent, not a generic shim:
| Agent | Interception |
|---|---|
| Claude Code | native hook |
| Codex | native hook |
| Cursor | native hook |
| Hermes | native hook |
| OpenClaw | exec policy |
| Gemini CLI | config policy |
| Goose | config policy |
| Cline | MCP proxy |
| Roo | MCP proxy |
| Antigravity | MCP proxy |
| Opencode | plugin |
More agents land regularly — run belay detect to check yours, and see
MCP proxy below for wrapping any MCP server Belay doesn't
natively recognize yet.
Step away from your laptop — when a call is an Ask, Belay can send the prompt to a chat app and take your Allow/Deny reply back. Two-way on Telegram, Discord, WhatsApp, Matrix, Mattermost, and Slack; notify-only on ntfy, Teams, WeCom, and webhooks. Enrolment is a one-time pairing code, and it's default-deny — only enrolled approvers can approve, and a prompt that goes stale is auto-denied, never auto-allowed.
detect → protect → serve / desktop app
│ │ │
│ │ └─ live status, triage, and Allow/Deny in the desktop UI
│ └─ gate every tool call: Deny > Ask > Allow (fail-closed)
└─ find the AI agents installed on this machine
Belay gates each tool call deterministically. A Deny can never be downgraded
by the dev-toolchain allowlist; an Ask waits for a human decision and denies on
timeout. Run with --observe first to tune in log-only mode before enforcing.
mcp-proxy) — wrap any MCP server so every tools/call is
gated; fail-closed. Also scans tool responses for embedded injection
markers and alerts, correlated against any secret-holding session.scan) — patterns, AST, taint, YARA, and OSV analyzers
with provenance-weighted scoring and SARIF output for CI. An optional --llm cascade
can filter false positives; with no API keys it runs fully local and heuristic-only.evidence build / evidence verify
(SHA-256 manifest over findings + SARIF).Linux & macOS (CLI):
curl -fsSL https://dl.belay.secblok.io/install.sh | bash
Windows (desktop app, PowerShell 5.1+):
irm https://dl.belay.secblok.io/install.ps1 | iex
Prefer not to pipe a script for a security tool, understandably — read it first, or grab a direct binary and verify its checksum yourself:
# Read before running
curl -fsSL https://dl.belay.secblok.io/install.sh -o install.sh
less install.sh && bash install.sh
# ...or download a checksummed desktop installer directly
# Windows: belay-setup-x64.exe
# macOS (arm): belay-aarch64.dmg macOS (Intel): belay-x64.dmg
# Linux (.deb): belay-amd64.deb Linux (AppImage): belay-amd64.AppImage
# https://github.com/SECBLOK/belay/releases/latest
Every download is checked against a published SHA256SUMS/.sha256 before
installing, refusing on a mismatch. The Windows and macOS installers are
currently unsigned while a code-signing/notarization certificate is
pending — Windows SmartScreen and macOS Gatekeeper may warn on first run
("More info → Run anyway" / right-click → Open).
Uninstall anytime with belay uninstall (add --purge to also remove ~/.belay).
Once installed, drive Belay with the belay binary already on your PATH
(or launch the desktop app, which walks you through the same flow):
# 1. See which agents are installed
belay detect
# 2. Protect one in log-only mode first (tune, no enforcement)
belay protect <agent> --observe
# 3. Enforce
belay protect <agent>
# 4. Run the local backend (the desktop app renders the UI)
belay serve
Review activity with belay status (the last audit rows) and belay logs (a longer
tail).
belay serveexposes a local API + SSE backend on127.0.0.1— it is not a web dashboard. The desktop app is the user interface. Enable boot-start withbelay install-service --enable(systemd / launchd).
Contributors can build the single static binary from a checkout:
cargo build --release --bin belay
The primary Linux target is a fully-static musl build (--target x86_64-unknown-linux-musl), which needs the musl toolchain — install musl-tools
(Debian/Ubuntu: sudo apt install musl-tools) so musl-gcc is available.
Contributions are welcome — see CONTRIBUTING.md. Contributions
require a CLA + DCO sign-off.
| Platform | CLI | Desktop app |
|---|---|---|
| Linux x86_64 | Released — fully-static musl build, runs on any libc | Released — .deb / .AppImage |
| macOS (Intel + Apple Silicon) | Released | Released — .dmg, both architectures |
| Windows | Released | Released — NSIS installer (unsigned, cert pending) |
| Linux aarch64 | Coming soon | Coming soon |
How do I stop my AI coding agent from running rm -rf or other destructive commands?
Install Belay and run belay protect <agent>. Destructive commands — including common
evasion shapes like wrapper prefixes, compound chaining, and heredocs — are denied
outright at the tool-call boundary before they execute.
Can an AI agent leak my API keys or .env secrets?
Not once protected — Belay's rule catalog denies reads/egress of secret-shaped strings
and redacts them from tool output; honeypot canary files trigger a Critical verdict on
any access.
Does Belay work with Claude Code, Cursor, Codex, Cline, and Gemini CLI? Yes — see Supported agents for the full list and how each is intercepted.
What's the difference between an AI agent security tool and a network firewall? A firewall controls network traffic; Belay controls what an agent is allowed to do at the tool-call level — reading files, running commands, calling MCP tools — before any of it reaches the OS or network. (Belay also includes a native host firewall as one layer among several — see Features.)
Is there an open-source alternative to a hosted AI-agent-safety SaaS? Yes — Belay's Community edition is AGPL-3.0-or-later, local-first, and self-hostable; no telemetry, no phone-home. See Editions & licensing.
Full docs live at https://belay.secblok.io/doc (landing page: https://belay.secblok.io) — guides, the complete CLI reference, and configuration.
Belay is open-core.
For AGPL-incompatible use or the Enterprise edition, see COMMERCIAL-LICENSE.md
or contact [email protected].
Published by SECBLOK (Secblok Pty Ltd) · https://www.secblok.io