Skip to main content

harness-mcp-scan

Static security scan of a harness's declared MCP surface via `harness mcp-scan <path>`. Reads `.mcp/servers.json` + `.harness/claims.json`. Pure-read, no dispatch. Exits 1 on findings at or above `--fail-on` severity.

インストールへ移動

ソース情報

リポジトリ
ruvnet/ruflo
ソースの最終更新活動
2026年7月3日 20:52
検出された SKILL.md の言語
英語
スター
73,010
フォーク
8,665

インストール方法

デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。

ソースファイルを確認

インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。

SKILL.md を表示中

SKILL.md
ソースの指示 · 読み取り専用プレビュー
name
harness-mcp-scan
description
Static security scan of a harness's declared MCP surface via `harness mcp-scan <path>`. Reads `.mcp/servers.json` + `.harness/claims.json`. Pure-read, no dispatch. Exits 1 on findings at or above `--fail-on` severity.
argument-hint
[--path .] [--fail-on low|medium|high] [--format table|json]
allowed-tools
Bash
Calls `harness mcp-scan` to enumerate every declared MCP server + tool and flag policy / permission / dependency issues. Never executes any tool; pure static analysis. ## Algorithm Implementation: [`scripts/mcp-scan.mjs`](../../scripts/mcp-scan.mjs). 1. Invoke the pinned `harness` binary (`metaharness@~0.3.0`, resolved from a local install or the one-time `~/.ruflo/metaharness-cache-<pin>` cache — never `@latest`): `harness mcp-scan <path> --json`. 2. Parse `findings[]` with `{ severity, id, server, tool, message }`. 3. `--fail-on <severity>`: exit 1 when any finding is at or above that level. Default `high`. 4. Output JSON (default) or markdown table. ## Severity rank | Severity | Rank | |---|---:| | low | 1 | | medium | 2 | | high | 3 | `--fail-on high` (default) only fails on HIGH; `--fail-on medium` also fails on MEDIUM; `--fail-on low` fails on any finding. ## CI integration ```yaml - name: MCP static scan run: node plugins/ruflo-metaharness/scripts/mcp-scan.mjs --fail-on high ``` The exit code is the only thing CI watches; the JSON output goes to artifacts for human review. ## Graceful degradation When `harness` binary is unavailable (no network, blocked registry), emits structured `{ degraded: true, reason: 'metaharness-not-available' }` and exits 0. Ruflo continues — ADR-150 architectural constraint.
GitHubで見る