Vibeleaderboard
Index / tool
Visit github.com
Category
Cybersecurity
Rank
No. 1483Tools index

Previous survey · No. 1457 ·

Pricing
Open Source
Type
TOOL
Use case
Security & Identity
Interfaces
CLI
GitHub
19 stars
Latest release
v0.28.0
Date

About

Stroq is a local, deterministic firewall that hooks into AI coding agents (Claude Code, Cursor, Codex, Copilot CLI, Windsurf, OpenClaw, MCP clients) to scan content the agent reads for injected instructions, taint the session, and block or ask before risky follow-up actions like shell execution, secret exfiltration, or external git pushes. It ships a built-in replay suite that tests the default policy against 13 real-world agent-hijacking incidents, all fully offline with no cloud dependency.

What it does

Stroq sits on the tool-call hooks that coding assistants already expose and remembers what each session has read. When the assistant later tries to run a command that matches text it picked up from a file, an issue or a server response, Stroq names that source and either stops the command or prompts the user. A second mode works backwards: it opens the transcripts Claude Code, Codex CLI and Cursor keep on disk and reports which credentials from the machine's key files already went to the model provider, printing names and file locations but never the values.

Why it's ranked here

The distinctive idea is provenance: judging a command by where it came from rather than by how it looks, since a malicious package install and a legitimate one are the same text. The default policy denies outbound use of any known credential value whatever the session state, and the project gates its own CI on a mutation fuzzer with a baseline of zero escapes. It is Apache 2.0, pre-1.0, and publishes a false-positive rate of 14.9% on 121 benign READMEs rather than claiming none. That candour, plus adapters for seven agents and an MCP proxy, makes it one of the more serious agent guardrails available.

What's good

Secrets are indexed as salted SHA-256 hashes, never stored in the clear, and the index ignores any credential file over 256 KB and keeps at most 2,000 entries. The attack command replays 21 scenarios, twelve drawn from public incidents such as the Sentry agentjacking and s1ngularity attacks, and exits nonzero if any one gets through, so a weakened policy fails a pipeline. The coverage report maps those scenarios to MITRE ATLAS techniques and marks most as not covered, with a stated limit for each. CI runs the suite on Linux, macOS and Windows and replays a demo for every agent adapter.

Tradeoffs

Five risky action classes, including network commands, reading secret files and pushing to external remotes, are allowed in a clean session and blocked only after a scan flags something, a choice the default policy explains in writing. Roughly one benign README in seven still trips a rule. The security policy lists known gaps: shell evasions built from quote splicing, patches whose text is never scanned, and a Windsurf hook that cannot see command output. Windows gets weaker file-permission guarantees. The optional MCP value-masking mode keeps a reversible dictionary of real values on disk. The docs disagree with themselves on small counts, such as how many synthetic scenarios exist.

How to use it well

Run the look-back report first: it needs no install and tells you whether credentials have already reached a provider. Then install the hooks for your agent and run the attack replay against your own policy in CI, so any loosening fails a build. Teams with many MCP servers can put the proxy in front of any client that launches local servers. Expect to clear a false-positive taint by hand now and then. For filesystem isolation, the launcher can wrap the agent in Anthropic's sandbox runtime when it is installed. It does not see injections typed straight into the chat.

Technical notes+

packages/cli/src/index.ts sends hook events around the terminal-safe output wrapper and, when its watchdog answers first, flushes stdout and stderr before exiting so an agent timeout cannot turn into an allow; its comments record that Windsurf treats any exit other than 2 as an allow and Codex reads exit 1 as a hook failure. packages/core/src/secrets/index.ts builds the index from four home credential files plus up to 32 project env files, hashing each value with a per-index salt; setting STROQ_SECRET_SOURCES_SEALED stops a sandboxed run rebuilding an empty index over the real one. policies/default.yaml is first-match-wins with a 0.6 taint threshold, and .github/workflows/ci.yml fails on any fuzz escape.

Observed

License
Apache-2.0 (LICENSE, package.json)
Language
TypeScript, requires Node.js 22 or later
Packaging
npm package @stroq/cli, runnable through npx without installing
Interfaces
CLI with per-agent hook entrypoints, plus a stdio MCP proxy
Agent support
Hooks for Claude Code, Cursor, Codex, Copilot CLI, Windsurf and Antigravity; a plugin for OpenClaw
Platform support
CI runs the test suite on Linux, macOS and Windows (.github/workflows/ci.yml)
Runtime dependencies
yaml and zod only (packages/cli/package.json)
Maturity
Pre-1.0; only the newest npm release is supported (SECURITY.md)
Network behaviour
README states the hooks make no network calls and send no telemetry

Read from README.md, package.json, LICENSE, docs/GUIDE.md, docs/COVERAGE.md, docs/BENCH.md, packages/cli/package.json, packages/cli/src/index.ts, packages/core/src/index.ts, packages/core/src/secrets/index.ts, policies/default.yaml, rules/stroq/STROQ-2026-00001-instruction-override.yaml, .github/workflows/ci.yml, SECURITY.md.

What it can do

  • Scan content read by AI coding agents for injected instructions

    Content read by AI agent (files, web pages, tool output) → Detection of prompt injection attempts

  • Taint session state when malicious content is detected

    Scan results → Tainted session flag

  • Block or prompt for confirmation before risky follow-up actions (shell execution, secret exfiltration, external git pushes)

    Agent action request → Allow/block/ask decision

  • Run a built-in replay suite testing default policy against 13 documented real-world agent-hijacking incidents

    Recorded attack scenarios → Pass/fail results per incident

Tags

ai-securityprompt-injectionagent-securityfirewallclimcpclaude-codedeveloper-tools

Tech Stack

Node.js

Media

Stroq

Comments (0)

No comments yet

Editorially curated, with community endorsements as a secondary signal. Corrections welcome.