hermes-traffic-guardian について
Hermes のランタイム通信監視を構築するための仕様スキルです。プロキシやランタイム実装は含まず、実装者向けに検査、ログ、安全境界を定めています。
主な機能
- 01HTTP 通信検査の範囲を規定
- 02プロセス単位の任意の HTTPS 検査
- 03外部流出と受信インジェクションを検出
- 04秘匿化したローカル脅威ログを要求
- 05態勢証明向けのステータスを出力
活用シーン
- 01Hermes のランタイム通信監視実装を計画
- 02プロセス単位のプロキシ検査を設計
- 03秘匿化ログとステータス出力を定義
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ prompt-security/ clawsec --skill hermes-traffic-guardianインストール後、Claude Code で/hermes-traffic-guardianを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
CHANGELOG.mdREADME.mdskill.jsonSPEC.mdlib/.gitkeepscripts/.gitkeeptest/.gitkeep詳細
Hermes Traffic Guardian
これはベースライン仕様のスキルです。意図的に、プロキシやランタイムの実装はまだ含まれていません。
Vercel Skills のインストール
このハーネスには、Vercel Skills CLI を使ってインストールします。
npx skills add prompt-security/clawsec --skill hermes-traffic-guardian -a hermes-agent -y
リリース成果物の検証
スタンドアロンでインストールする場合は、SKILL.md、skill.json、またはアーカイブを信頼する前に、署名済みリリースマニフェストを検証してください。skill.json ファイルはパッケージのメタデータ/SBOM の情報源であり、リリースパイプラインは ClawSec リリースキーを使って checksums.json に署名します。
set -euo pipefail
SKILL_NAME="hermes-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."
この検証が成功してから、アーカイブをインストールまたは展開してください。
スコープ
ビルダーは、このスキルをランタイムトラフィック監視のための Hermes の基盤として使用してください。
- オペレーター単位の HTTP プロキシ検査
- プロセスごとの CA 信頼設定による、任意の HTTPS 検査
- 外向きのデータ流出の検出
- 内向きのインジェクションの検出
- ローカル脅威ログの機密情報のマスキング
hermes-attestation-guardian用のステータスエクスポート
hermes-attestation-guardian にプロキシのランタイム管理を追加しないでください。このスキルは、このモニターのステータスと設定を証明するものであり、モニターを実行するものではありません。
安全性に関する契約
- オプトインのみとします。
- デフォルトでは検出とログ記録のみを行います。
- システム CA を自動でインストールしません。
- グローバルなプロキシ環境変数を変更しません。
- 最初の実装ではブロックを行いません。
- ログ、要約、アテステーションに関連付けられた出力の前に、機密情報をマスキングします。
- すべての状態を
HERMES_TRAFFIC_GUARDIAN_HOMEまたは$HERMES_HOME/security/traffic-guardian配下に保持します。
ビルダー向けエントリーポイント
実装する前に SPEC.md を読んでください。プレースホルダーのフォルダーは、次のように使用してください。
| パス | 用途 |
|---|---|
lib/ | 検出ルール、マスキング、ポスチャーのエクスポート、レポートの書式設定 |
scripts/ | 起動、停止、ステータス確認、設定の検証、ログ検索、アテステーションのエクスポート用ヘルパー |
test/ | 単体テスト、プロキシフィクスチャーテスト、マスキングテスト、アテステーションエクスポートテスト |
最初の実装で必須となる動作
- プロキシを起動せずに設定を検証します。
- モニターをフォアグラウンドまたは明示的なバックグラウンドモードで起動します。
- プロキシ環境変数の適用範囲を、対象の Hermes サービスまたは CLI プロセスに限定します。
- HTTP リクエスト/レスポンスのテキストを、上限バイト数の範囲内で検査します。
- オペレーターがプロセスごとの信頼設定を指定した場合に限り、任意の HTTPS MITM をサポートします。
- 機密情報をマスキングしたスニペットを含む JSONL の検出結果を出力します。
hermes-attestation-guardianがトラストアンカーまたは監視対象ファイルとして利用できる、小さなポスチャー JSON ファイルをエクスポートします。
v0.0.1 実装の対象外
- システムの信頼ストアの自動変更
- 透過的なネットワーク傍受
- デフォルトのブロック
- 外部サービスへのトラフィック送信
- リクエスト/レスポンス本文全体の収集
コメント
Markdown 対応