mcpField
N
nanoclaw-traffic-guardian

nanoclaw-traffic-guardian

github.com/prompt-securityセキュリティ1.1k50 回インストール今日更新
リポジトリ

nanoclaw-traffic-guardian について

nanoclaw-traffic-guardian は、NanoClaw にランタイム通信監視を追加するためのベースライン仕様スキルです。プロキシやランタイムの実装は含まず、オプトイン、検知と記録、マスキング、ホストとコンテナの境界を定めます。

主な機能

  1. 01NanoClaw の通信監視仕様
  2. 02HTTP 検査と任意の HTTPS MITM
  3. 03外向きの情報流出と内向きのインジェクション検知
  4. 04ローカルのマスキング済み検知結果と MCP ステータスツール
  5. 05ホスト管理のプロキシライフサイクルとコンテナ向け IPC

活用シーン

  1. 01NanoClaw の通信監視実装の計画
  2. 02CA キーと通信ログの安全な扱いの定義
  3. 03MCP クライアントへのマスキング済み状態と検知結果の提供

MCP 対応

実装では、状態と検知結果を返す MCP ツールを想定しています。応答にはマスキング済みの検知結果のみを含めます。このスキル自体にはツールの実装はありません。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/prompt-security/clawsec --skill nanoclaw-traffic-guardian

インストール後、Claude Code で/nanoclaw-traffic-guardianを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

CHANGELOG.md
README.md
skill.json
SPEC.md
host-services/
.gitkeep
lib/
.gitkeep
mcp-tools/
.gitkeep
test/
.gitkeep

詳細

NanoClaw トラフィックガーディアン

これはベースライン仕様のスキルです。意図的に、プロキシやランタイムの実装はまだ含めていません。

Vercel Skills のインストール

このハーネスには、Vercel Skills CLI を使ってインストールします。

npx skills add prompt-security/clawsec --skill nanoclaw-traffic-guardian -a openclaw -y

リリースアーティファクトの検証

スタンドアロンでインストールする場合は、SKILL.md、skill.json、またはアーカイブを信頼する前に、署名済みのリリースマニフェストを検証してください。skill.json ファイルはパッケージのメタデータ/SBOM のソースであり、リリースパイプラインは ClawSec リリースキーで checksums.json に署名します。

set -euo pipefail

SKILL_NAME="nanoclaw-traffic-guardian"
VERSION="0.0.1-beta5"
REPO="prompt-security/clawsec"
TAG="${SKILL_NAME}-v${VERSION}"
BASE="https://github.com/${REPO}/releases/download/${TAG}"
ZIP_NAME="${SKILL_NAME}-v${VERSION}.zip"
TMP_DIR="$(mktemp -d)"
trap 'rm -rf "$TMP_DIR"' EXIT

RELEASE_PUBKEY_SHA256="711424e4535f84093fefb024cd1ca4ec87439e53907b305b79a631d5befba9c8"

curl -fsSL "$BASE/checksums.json" -o "$TMP_DIR/checksums.json"
curl -fsSL "$BASE/checksums.sig" -o "$TMP_DIR/checksums.sig"
curl -fsSL "$BASE/signing-public.pem" -o "$TMP_DIR/signing-public.pem"
curl -fsSL "$BASE/$ZIP_NAME" -o "$TMP_DIR/$ZIP_NAME"
curl -fsSL "$BASE/SKILL.md" -o "$TMP_DIR/SKILL.md"
curl -fsSL "$BASE/skill.json" -o "$TMP_DIR/skill.json"

ACTUAL_PUBKEY_SHA256="$(openssl pkey -pubin -in "$TMP_DIR/signing-public.pem" -outform DER | shasum -a 256 | awk '{print $1}')"
if [ "$ACTUAL_PUBKEY_SHA256" != "$RELEASE_PUBKEY_SHA256" ]; then
  echo "ERROR: signing-public.pem fingerprint mismatch" >&2
  exit 1
fi

openssl base64 -d -A -in "$TMP_DIR/checksums.sig" -out "$TMP_DIR/checksums.sig.bin"
openssl pkeyutl -verify -rawin -pubin \
  -inkey "$TMP_DIR/signing-public.pem" \
  -sigfile "$TMP_DIR/checksums.sig.bin" \
  -in "$TMP_DIR/checksums.json" >/dev/null

hash_file() {
  if command -v shasum >/dev/null 2>&1; then
    shasum -a 256 "$1" | awk '{print $1}'
  else
    sha256sum "$1" | awk '{print $1}'
  fi
}

verify_manifest_file() {
  asset="$1"
  path="$2"
  expected="$(jq -r --arg asset "$asset" '.files[$asset].sha256 // empty' "$TMP_DIR/checksums.json")"
  if [ -z "$expected" ]; then
    echo "ERROR: checksums.json missing $asset" >&2
    exit 1
  fi
  actual="$(hash_file "$path")"
  if [ "$actual" != "$expected" ]; then
    echo "ERROR: checksum mismatch for $asset" >&2
    exit 1
  fi
}

expected_archive="$(jq -r '.archive.sha256 // empty' "$TMP_DIR/checksums.json")"
if [ -z "$expected_archive" ]; then
  echo "ERROR: checksums.json missing archive.sha256" >&2
  exit 1
fi
actual_archive="$(hash_file "$TMP_DIR/$ZIP_NAME")"
if [ "$actual_archive" != "$expected_archive" ]; then
  echo "ERROR: archive checksum mismatch" >&2
  exit 1
fi

verify_manifest_file "SKILL.md" "$TMP_DIR/SKILL.md"
verify_manifest_file "skill.json" "$TMP_DIR/skill.json"

echo "Signed release manifest, archive, SKILL.md, and skill.json verified."

検証に成功した後でのみ、アーカイブをインストールまたは展開してください。

スコープ

ビルダーは、このスキルをランタイムのトラフィック監視用 NanoClaw ランディングゾーンとして使用してください。

  • ホスト側での HTTP プロキシ検査
  • ホストが保持する CA 素材を使用した、任意の HTTPS 検査
  • 外向きのデータ流出検出
  • 内向きのインジェクション検出
  • ローカルでの脅威ログの秘匿化
  • ステータス、検出結果、設定チェック用の MCP ツール
  • コンテナから安全にホストと通信するための IPC ハンドラー

既存のアドバイザリー/署名/整合性スイートへの必須の拡張ではなく、clawsec-nanoclaw の任意の補完機能として使用してください。

安全性の契約

  • オプトインのみです。
  • デフォルトでは検出してログに記録します。
  • システム CA の自動インストールは行いません。
  • コンテナから CA 秘密鍵にアクセスすることはできません。
  • 初回実装ではブロックしません。
  • ログや MCP レスポンスに含める前に、シークレットを秘匿化します。
  • すべての状態を NANOCLAW_TRAFFIC_GUARDIAN_HOME またはホスト管理の NanoClaw セキュリティデータディレクトリ配下に保持します。

ビルダー向けエントリーポイント

実装する前に SPEC.md を読んでください。プレースホルダーのフォルダーは次のように使用します。

パス想定用途
lib/検出ルール、秘匿化、型、レポートのフォーマット
host-services/ホスト側のプロキシライフサイクル、ログアクセス、IPC ハンドラー
mcp-tools/ステータスと検出結果を扱う、コンテナ側の MCP ツール
test/単体テスト、ホスト/コンテナ間の IPC テスト、秘匿化テスト

初回実装で必須の動作

  1. プロキシを起動せずに設定を検証します。
  2. ホスト管理のライフサイクル経路を通じてモニターを起動します。
  3. CA キー素材をホスト側に保持します。
  4. 上限バイト数までの HTTP リクエスト/レスポンスのテキストを検査します。
  5. オペレーターがランタイムごとの信頼設定を提供した場合に限り、任意の HTTPS MITM をサポートします。
  6. 秘匿化した抜粋を含む JSONL 形式の検出結果を出力します。
  7. ステータスと秘匿化した検出結果のみを返す MCP ツールを公開します。

v0.0.1 実装の対象外

  • システムの信頼ストアの自動変更
  • 透過的なネットワーク傍受
  • デフォルトでのブロック
  • 外部サービスへのトラフィック送信
  • コンテナへの未加工のリクエスト/レスポンス本文の公開

コメント