# Offense — security tools for AI coding agents Offense is a product by Offense Research (https://offenseresearch.com/). Canonical home: https://offense.sh/. Offense gives coding agents security tools through CLI, MCP and HTTP API to audit dependencies, inspect source and workflows, and build DevSecOps agents. The agent investigates findings, makes authorized changes and runs tests with its existing model and repository permissions. The broader agent-security platform and harness is the direction being built, not a claim that every planned capability is available today. The source is public at https://github.com/offense-research/offense, with an Apache-2.0 root license and component notices. Optional hosted tools use quoted, prepaid per-tool pricing. Basic npm/pnpm dependency advisory audits are free and need no Offense account or model key. Check the live catalog for enabled tools and current prices instead of assuming every listed engine is available. ## Product and workflow references - Product questions, compatibility and data scope: https://offense.sh/#faq - Public source and local quick start: https://github.com/offense-research/offense - Per-agent setup: https://github.com/offense-research/offense#choose-your-agent - Dependency bot, PR review, secrets, CI and API recipes: https://github.com/offense-research/offense/blob/main/docs/recipes.md - Self-hosting: https://github.com/offense-research/offense/blob/main/docs/self-hosting.md - Current hosted catalog and prices: https://offense.sh/v1/catalog The agent recipes are workflows users build, not preinstalled bots, schedules, or drop-in replacements for Dependabot or human reviewers. Users supply triggers, repository access, instructions, tests and approval rules. Local dependency analysis queries public advisory/package metadata without uploading source. Hosted source checks send selected files or artifacts to the service; preview and approve that scope first. The independent local engine requires Node.js 24+ and has a separate setup from the hosted-service CLI below. ## Set up your agent Read the maintained skill and client installation reference. Install only in the requested project scope, preserve customizations and inspect helpers before execution. Installation does not authorize scans, purchases or application edits. - Skill: https://offense.sh/skills/offense/SKILL.md - Installation: https://offense.sh/skills/offense/references/install.md - CLI/tool workflow: https://offense.sh/skills/offense/references/tools.md - Setup page: https://offense.sh/skill - Account, balance and API keys: https://offense.sh/account The helper bundle includes scripts/cli.mjs. Device login opens a first-party browser page; the human checks the comparison code and approves the account. The key is received once and stored privately by the CLI, never in project MCP configuration. No GitHub App installation, Cloudflare connection or OpenRouter key is required for tool access. After installing a skill or MCP configuration, start a new coding-agent session. Use the CLI immediately while a new session is pending. Preserve native project trust and tool permissions; report provider safeguard blocks accurately. ## Human CLI Choose one method for the hosted-service CLI. It does not install scanner engines or the agent skill. Review the current installation guide: https://github.com/offense-research/offense#install-the-cli Homebrew on macOS or Linux (includes its own Node.js dependency): ```sh brew tap offense-research/offense https://github.com/offense-research/offense.git brew install offense-research/offense/offense ``` Run once with npx, with Node.js 20+ and npm installed: ```sh npx --yes --allow-remote=all --package=https://offense.sh/downloads/offense-cli.tgz offense --help ``` Or install globally with npm, with Node.js 20+: ```sh npm install --global --allow-remote=all https://offense.sh/downloads/offense-cli.tgz ``` These npm/npx commands use the hosted archive, not an npm registry release. `--allow-remote=all` permits the URL download for this command; npm 12 blocks remote tarballs by default. It does not change your global npm configuration. Do not substitute `npx offense` or `npm install -g offense`. The Homebrew formula and hosted archive can have different versions; check `--version` and `--help`. After installing, when the user chooses to connect to the hosted service: ```sh offense login offense tools offense balance offense topup offense mcp install --client codex --project . ``` The standalone file is https://offense.sh/downloads/offense-cli.mjs and its SHA256 manifest is https://offense.sh/downloads/offense-cli-manifest.json. ## API and MCP - Public catalog with availability and prices: https://offense.sh/v1/catalog - Authenticated catalog: GET https://offense.sh/v1/tools - Account: GET https://offense.sh/v1/account - Quote: POST https://offense.sh/v1/quotes - Tool call: POST https://offense.sh/v1/call/ - Asynchronous job/result: /v1/scans and /v1/scans/ - Usage and balance: GET https://offense.sh/v1/usage - Whop top-up link: POST https://offense.sh/v1/billing/topups with an empty object - Hosted MCP: https://offense.sh/mcp Use one Bearer Offense API key for hosted tools. Inspect a quote and set an explicit maximum charge before a paid call. Idempotency keys prevent duplicate jobs/charges; preserve the same key and input when recovering uncertain outcomes. Whop handles payment approval. A browser return does not grant funds; verified payment readback and the durable ledger credit purchases once. The authenticated CLI MCP proxy exposes catalog, quote, call, result, account and top-up capabilities. Anonymous native HTTP MCP retains the free `offense.audit_dependencies` capability. The current agent keeps repository connections, applicability review, edits and tests. Findings are review signals, not confirmed exploitable vulnerabilities. Old app.purpleteam.sh endpoints, account identities, balances, keys and advanced /skills/purple resources remain compatibility aliases. New public branding is Offense, a product by Offense Research. The public repository is https://github.com/offense-research/offense.