harness-threat-model

Generates categorized MCP-surface threat model reports with severity-ranked findings.

70.1k|8.4k|Updated Jun 2, 2025
One-click install
npx skills add https://github.com/ruvnet/claude-flow --skill harness-threat-model
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: harness-threat-model
Source: https://github.com/ruvnet/claude-flow/tree/main/plugins/ruflo-metaharness/skills/harness-threat-model
Command: npx skills add https://github.com/ruvnet/claude-flow --skill harness-threat-model

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Security teams need a structured, shareable threat model of MCP server surfaces before launches or audits, but manually categorizing threats and assigning severity is slow and inconsistent.

Core Features & Use Cases

  • Categorized Threat Reports: Runs harness threat-model <path> to produce per-threat findings grouped by MCP-surface category, suitable for InfoSec review.
  • Severity Gating: Emits a worst severity of clean, low, medium, or high, and exits non-zero when it meets a configurable --fail-on threshold (default high).
  • Graceful Degradation: When the pinned harness binary is unavailable, emits { degraded: true } and exits 0 instead of failing.
  • Use Case: Before a release, run the threat model against your MCP configuration and attach the JSON output to the release-readiness packet sent to your security team.

Quick Start

Run a threat model on the current project path and fail the check if any finding is rated medium or higher.

Frequently Asked Questions about harness-threat-model

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I generate a threat model for MCP servers?

Run the harness threat-model command against a target path, which scans the MCP surface and returns JSON with a worst severity and per-threat findings. The output is categorized for sharing with security review teams.

How do I fail a CI check based on threat severity?

Use the --fail-on flag with a severity of clean, low, medium, or high. The command exits with code 1 when the reported worst severity meets or exceeds that threshold; the default threshold is high.

What is the difference between harness-mcp-scan and harness-threat-model?

harness-mcp-scan is a per-server static lint of MCP configurations, while harness-threat-model produces a categorized, severity-ranked report designed for enterprise InfoSec review. They are companion skills used together in security workflows.

What happens if the harness binary is not installed?

The skill degrades gracefully: it emits { degraded: true } and exits with code 0 instead of erroring. The binary is resolved from a local install or a version-pinned cache, never from @latest.

What severity levels does the threat model report?

Findings are ranked clean (0), low (1), medium (2), and high (3). The report's worst field reflects the highest severity found across all categorized threats.