bounty-start

bounty-start is a command for coding agents from skyxtools/bountyproof-mcp. It costs 12 tokens per session (598 once invoked), scanned A, original, MIT.

A command for starting an authorised bug-bounty engagement, where security researchers test a program under stated rules. It collects the program, allowed and forbidden targets, rules, scanning permissions, and permitted testing activities before any network-active action.

In plain words
What is it for?
Starting a rules-gated engagement, recording in-scope and out-of-scope hosts or URLs, checking whether automated scanning is allowed, and selecting permitted BountyProof activities.
Why use it?
It prevents security testing from beginning with missing or assumed scope and permissions.

Command

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 commands/skyxtools/bountyproof-mcp/bounty-start
Clone the repo
git clone --depth 1 https://github.com/skyxtools/bountyproof-mcp

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for bounty-start

README.md
[![agentmods](https://agentmods.dev/badge/commands/skyxtools/bountyproof-mcp/bounty-start.svg)](https://agentmods.dev/commands/skyxtools/bountyproof-mcp/bounty-start)
Your own site
<a href="https://agentmods.dev/commands/skyxtools/bountyproof-mcp/bounty-start"><img src="https://agentmods.dev/badge/commands/skyxtools/bountyproof-mcp/bounty-start.svg" alt="Measured on agentmods" height="20"></a>
Per session 12 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 598 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. 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.00012 $0.00598
Opus 5 $0.00006 $0.00299
Sonnet 5 $0.00002 $0.00120
Haiku 4.5 $0.00001 $0.00060

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

Security

Grade A, and why

bounty-start scanned grade A with 0 findings 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 3d 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.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.opencode/commands/bounty-start.md · 25 lines

What it actually says

Start a new authorized bug-bounty engagement with the bountyproof MCP server.

Do not call any network-active tool yet. Use OpenCode's question tool to ask the user for every item below. Do not infer or silently fill missing scope or rules:

  1. Program name.
  2. Exact in-scope hosts or URLs. Explain that supported forms are example.com, *.example.com, or a URL/path prefix such as https://app.example.com/api/.
  3. Exact out-of-scope hosts or URL/path prefixes. Require the user to explicitly say none when there are none, then pass an empty list rather than the string none.
  4. The program rules or a faithful concise summary, including whether automated scanning is allowed.
  5. Which BountyProof activities the rules explicitly permit: preflight, discovery, nuclei-scan, verification, origin-discovery, origin-verification, surface-import, and/or authorization-testing. Explain that origin-discovery uses DNS/passive history, while origin-verification sends one direct HTTPS request to a candidate IP using the target hostname. Explain that authorization testing only replays imported GET requests and requires separately supplied identity profiles. Do not enable an activity merely because it seems useful.
  6. Forbidden test categories, such as DoS, brute force, social engineering, account takeover attempts, or testing third parties.
  7. Maximum permitted requests per second, between 1 and 10.
  8. Explicit confirmation that the user is authorized to test the stated scope under those rules.

Summarize the answers and ask the user to correct anything inaccurate. Only after confirmation, call bountyproof_start_session with authorization_confirmed=true.

Return the session_id, show the stored scope/out-of-scope/rate limit, and ask which exact in-scope URL should receive the first preflight. Do not automatically start preflight.

If find_origin_candidates later returns candidates, follow its next_action exactly. Never scan a candidate IP. Before verify_origin_candidate, show the exact IP and hostname to the user and obtain a fresh explicit confirmation for that candidate. After verification, stop automatic execution and present the result and rules check to the user.

For authorization testing, never ask the user to paste tokens, cookies, API keys, or session secrets into chat. Ask them to set secrets as environment variables outside OpenCode, then collect only the environment-variable names through register_auth_profiles. Before compare_authorization, ask the user which imported GET endpoint is being tested, which profile owns the object, which profiles should be denied, and whether the expected policy is owner-only, authenticated-only, or public. Never change object IDs automatically. After a candidate is returned, obey next_action and stop.

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. 3d ago First seen · 25 lines · 12 tokens per session scan A ca1088437254

Subscribe to this mod's changes

bounty-start is a command published in the GitHub repository skyxtools/bountyproof-mcp (0 stars, last pushed 1mo ago), licensed MIT. It adds 12 tokens to every session and 598 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.