@@ -441,6 +441,54 @@ grep -n "Extract as scheduled\|処理対象" .claude/commands/teamkit/apply-feed
441441- apply-feedback 後に ` generate-mock ` が呼ばれ、仕様変更がモックに反映されること
442442- feedback.md の TODO が ` [x] ` に更新され、再実行時に二重適用されないこと
443443
444+ ### 9. Install Script Security Verification
445+
446+ リモートから ` curl ` 経由で ` install.sh ` がダウンロード・実行された場合に、開発・保守用のエージェントファイルがインストール先に配布されないことを検証する。
447+
448+ #### 9-1. エージェントファイルがインストール対象に含まれていないこと
449+
450+ ` install.sh ` の ` COMMAND_FILES ` , ` SKILL_FILES ` , ` THEME_FILES ` 配列に、エージェントファイル(` verifier.md ` , ` doc-maintainer.md ` )が含まれていないことを確認する。
451+
452+ ``` bash
453+ # COMMAND_FILES にエージェントファイルが含まれていないこと
454+ grep -n " verifier\.md\|doc-maintainer\.md" install.sh
455+ ```
456+
457+ ** 検証ポイント** :
458+ - ` COMMAND_FILES ` 配列に ` verifier.md ` が** 存在しない** こと
459+ - ` COMMAND_FILES ` 配列に ` doc-maintainer.md ` が** 存在しない** こと
460+ - ` SKILL_FILES ` 配列に ` verifier.md ` が** 存在しない** こと
461+ - ` SKILL_FILES ` 配列に ` doc-maintainer.md ` が** 存在しない** こと
462+ - ` THEME_FILES ` 配列に ` verifier.md ` が** 存在しない** こと
463+ - ` THEME_FILES ` 配列に ` doc-maintainer.md ` が** 存在しない** こと
464+
465+ #### 9-2. ダウンロード URL に ` .claude/agents/ ` パスが含まれていないこと
466+
467+ リモートモードで構築されるダウンロード URL が ` .claude/agents/ ` ディレクトリを参照していないことを確認する。
468+
469+ ``` bash
470+ # ダウンロード先パスにエージェントディレクトリが含まれていないこと
471+ grep -n " \.claude/agents" install.sh
472+ ```
473+
474+ ** 検証ポイント** :
475+ - ` download_file ` , ` download_skill ` , ` download_theme ` 各関数の URL 構築に ` .claude/agents/ ` パスが** 使用されていない** こと
476+ - ` BASE_URL ` と組み合わせて ` .claude/agents/ ` 配下のファイルをダウンロードする処理が** 存在しない** こと
477+
478+ #### 9-3. インストール先に ` .claude/agents/ ` ディレクトリが作成されないこと
479+
480+ ` install.sh ` の ` mkdir -p ` やファイルコピー先のパスに ` .claude/agents/ ` が含まれていないことを確認する。
481+
482+ ``` bash
483+ # ターゲットディレクトリにエージェントディレクトリを作成する処理がないこと
484+ grep -n " agents" install.sh
485+ ```
486+
487+ ** 検証ポイント** :
488+ - ` TARGET_DIR/.claude/agents/ ` を作成する ` mkdir ` コマンドが** 存在しない** こと
489+ - エージェントファイルを ` TARGET_DIR ` 配下にコピーする処理が** 存在しない** こと
490+ - ローカルモード (` LOCAL_MODE=true ` ) でもエージェントファイルがコピー対象に含まれていないこと
491+
444492## Output
445493
446494検証結果をマークダウン形式のレポートファイルに保存する。
0 commit comments