Skip to content
cccskills
FreePublished on GitHub

review-security-report

Assess FastMCP vulnerability reports by preserving evidence, reproducing claims, and identifying which component owns the failed protection. Establish affected versions and realistic impact, review proposed fixes, and recommend how the report should be handled.

OriginalShow the original description

Review FastMCP vulnerability reports before accepting, rejecting, patching, scoring, or publishing them. Use for security advisories, bug-bounty submissions, OAuth or MCP vulnerability claims, and proposed security fixes.

See how to install

Good for

  • Assessing vulnerability reports and bug bounty submissions
  • Separating OAuth proxy issues from deployment problems
  • Checking affected versions and realistic impact
  • Reviewing security patches and report dispositions

Files included (1)

  • SKILL.md4.6 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Review a FastMCP security report

A working proof of concept establishes behavior, not ownership or classification. Identify the component that violates a promised security boundary before changing code or advisory state.

Preserve the evidence

Before editing an advisory, export the report, comments, proof of concept, configuration, and claimed affected versions. Record the reproduced commit and derive affected releases from history.

Keep the investigation read-only until classification. Do not mutate the advisory or prepare a fix merely because the proof of concept works.

Reproduce the claim

Use the smallest end-to-end reproduction against a supported release. Record:

  • defaults, non-default arguments, environment, and deployment assumptions;
  • what the attacker controls, what the victim does, and what authority the attacker gains;
  • the check or trust boundary allegedly bypassed; and
  • whether the attacker's prerequisites already provide equal or greater authority than the claimed impact.

A non-default configuration may still be vulnerable; a default may intentionally delegate a security decision elsewhere.

Identify the responsible layer

  • FastMCP vulnerability: FastMCP violates a promised boundary in a supported configuration.
  • FastMCP bug: FastMCP behaves incorrectly without creating attacker capability.
  • Upstream vulnerability: The defect belongs to a standard, dependency, identity provider, client, proxy, or platform.
  • Insecure deployment: The operator omits, disables, or delegates a required control without supplying the replacement required by its contract.
  • Expected behavior: The result follows the documented API contract or protocol.
  • Documentation gap: The implementation follows its intended contract, but the guidance creates a reasonable expectation of protection.

Attribute the violated boundary to its owner. Neither a dangerous configuration nor an available external mitigation decides ownership by itself. Distinguish failure of a primary control from failure of defense-in-depth.

Establish FastMCP's contract

Read the code, released documentation, tests, and history. Determine:

  1. What FastMCP promises for the exact configuration, supported API, and affected releases.
  2. Whether the proof of concept bypasses, disables, or delegates that protection.
  3. Whether the behavior follows the implemented protocol despite any stricter FastMCP promise.

If the intended contract remains unclear, ask the subsystem maintainer before accepting the report or proposing a fix. Current code alone does not define supported product behavior.

Separate OAuth proxy boundaries

For OAuth proxy reports, check each layer independently:

  • Open DCR lets unknown clients register redirects; a matching attacker callback is not a redirect validation bypass.
  • FastMCP consent binds the downstream client; ordinary upstream consent binds FastMCP's shared app.
  • require_authorization_consent=False removes consent; "external" delegates equivalent consent and transaction binding outside FastMCP.
  • PKCE protects the verifier, not a code issued for a malicious client's own challenge.
  • Redirect allowlists are optional policy and can break hosted clients or open DCR.

Review the proposed fix independently

A patch can block the proof of concept and still be wrong. Verify that it:

  • fixes the violated boundary at its source and enforces the claimed property;
  • does not silently change an intentional default or opt-in contract; and
  • preserves supported workflows without assuming one replacement control is the only valid design.

Treat a change to the supported product contract as an enhancement requiring maintainer agreement, independently of the security report.

Classification checkpoint

Before any GitHub mutation, state the decisive configuration and affected versions, boundary owner, realistic impact, and one disposition:

  • accept a draft advisory and prepare a private patch;
  • request specific missing evidence;
  • route as a normal FastMCP bug or upstream issue;
  • close as expected behavior or an insecure deployment;
  • ask the relevant maintainer to decide the contract.

Separately recommend any documentation or warning clarification warranted by the investigation.

When rejecting a report, acknowledge any valid reproduction and explain the decisive precondition.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

docs

FreeSummary

Write and revise FastMCP documentation pages with consistent structure, clear explanations, and runnable code examples. Covers accessibility, link and Python checks, and the publishing steps needed to confirm changes reach the live site.

  • Documenting a new FastMCP feature
  • Reworking an existing documentation page
  • Reviewing accessibility and page consistency
PrefectHQ/fastmcp28.2KUpdated Oct 22, 2026

Discover MCP servers and inspect their available tools from the command line, then invoke operations with typed arguments or JSON. Use local files, remote endpoints, or configured server names, and return structured output for scripts.

  • Finding MCP servers configured in editors or a project
  • Inspecting available tools and input definitions
  • Calling tools on local or remote MCP servers
PrefectHQ/fastmcp28.2KUpdated Oct 22, 2026

fastmcp-server

FreeSummary

Build, extend, or review Python FastMCP servers using documentation for the installed version. Design operations that agents can discover and use, then check input definitions, results, error handling, and representative agent workflows.

  • Building an MCP server with Python FastMCP
  • Adding tools, resources, or reusable prompts
  • Reviewing input definitions and error handling
PrefectHQ/fastmcp28.2KUpdated Oct 22, 2026

fix-issue

FreeSummary

Take a selected FastMCP bug from a reproducible failure to a focused fix. Check compatibility, run required validation, prepare a pull request, and follow automated checks and review feedback after publication.

  • Fixing a reproducible FastMCP bug
  • Checking compatibility before publishing a fix
  • Following checks and feedback after opening a pull request
PrefectHQ/fastmcp28.2KUpdated Oct 22, 2026

python-tests

FreeSummary

Write regression tests that catch recurring bugs in FastMCP changes using pytest. Covers reproducing failures before a fix, testing requests without a network server, and checking outgoing requests while replacing external services with test substitutes.

  • Reproducing a bug before testing its fix
  • Testing MCP behavior without a network server
  • Checking requests sent to external services
PrefectHQ/fastmcp28.2KUpdated Oct 22, 2026

release

FreeSummary

Prepare and publish FastMCP releases, from reviewing changes and crediting contributors to updating changelogs, creating release tags, checking Python package publication on PyPI, and confirming that the documentation site reflects the release.

  • Previewing changes for the next FastMCP release
  • Preparing release notes and contributor credits
  • Publishing a patch or maintenance release
PrefectHQ/fastmcp28.2KUpdated Oct 22, 2026

See all skills by PrefectHQ

Report a problem with this skill