CTF sandbox エントリ(サイドカー、二重ルーターではない)
アクション必須(読んだらすぐ実行)
NOW:../scripts/case-init.ps1を実行する。auth.status=grantedになるまでは、実際の外部ネットワークへのアクションを禁止する。競技/靶場では-NetworkProfile labまたはofflineを使用する。NOW: パッケージルート下の../../CTF-Sandbox-Orchestrator/ctf-sandbox-orchestrator/SKILL.mdを開き、その sandbox の前提に従って続行する。MUST NOT: 40 以上のcompetition-*サブスキルをrouting.jsonに書き込んではならない。このエントリは単一の PRIMARY 門閂である。ACT: orchestrator が downstream のcompetition-*を選択する。問題の種類が既に明確な場合(pwn/ROP、APK、IDA)は、routing.jsonのより先頭に近いルールが勝っているはずなので、割り込まない。
なぜ独立したレイヤーか
CTF-Sandbox-Orchestrator/ は GPL バイパスパッケージであり、ライセンスのデフォルトはサンドボックス内部限定です。コアルーティングパッケージは引き続き MIT + scope.md アクセス制御の下にあります。このスキルは単なるキーワードエントリであり、競技ツリーをコアに統合しません。
タスク完了自己チェック(完了宣言の前に MUST で通過)
- 先に case-init / scope を実行したか?「ユーザーが CTF と言った」だけで外部ネットワークが認可されたと見なしていないか?
- sidecar orchestrator を開いたか?40 のサブスキルを PRIMARY として扱っていないか?
- タスクが実際には pwn/APK/IDA である場合、より具体的な PRIMARY に引き継がせたか?