基本概念
| 用語 | 定義 |
|---|---|
| PreToolUse フック | ツールの実行前に発生するエージェントのイベント。CC Safety Net はこのイベント、または各エージェントの同等のイベントを使って、コマンドを実行前に検査します。仕組みを参照してください。 |
| フェイルクローズ | CC Safety Net が信頼できる判定に到達できないとき、そのツール呼び出しを許可せずに拒否すること。セキュリティモデルを参照してください。 |
| 判定 | 1 つのツール呼び出しに対する許可または拒否の結果。監査ログに記録されます。監査ログを参照してください。 |
| セグメント | 複合コマンドを &&、||、|、;、改行で分割した 1 つのコマンド。CC Safety Net がいずれかのセグメントをブロックすると、コマンド全体が拒否されます。仕組みを参照してください。 |
| 解析エンジン | コマンドを解析し、ブロックするかを決めるコア。すべてのエージェント連携が共有します。仕組みを参照してください。 |
| 連携方式 | エージェントが CC Safety Net を実行する方法。フックのサブプロセスやプロセス内のプラグインなどがあります。連携方式を参照してください。 |
設定
| 用語 | 定義 |
|---|---|
| ポリシー | 設定ファイル policy.json。既定の場所は ~/.cc-safety-net/policy.json です。安全プリセット、機能のオーバーライド、ワークツリーモード、保護の有効・無効、監査ログの保持期間を格納します。ポリシーを参照してください。 |
| プロジェクトポリシー | プロジェクトルートに任意で置く .cc-safety-net/policy.json。記載したフィールドだけを、ユーザーポリシーの上に設定します。プロジェクトポリシーを参照してください。 |
| 実効ポリシー | ユーザーポリシーの上にプロジェクトポリシーを重ねたもの。ポリシーを参照してください。 |
| ポリシースナップショット | CC Safety Net がツール呼び出しのたびに、ポリシーファイル、rule.json、ルールブックから読み直す設定。状態は ready か degraded のどちらかです。設定の復旧を参照してください。 |
| プリセット | 機能の既定値を決める safety.level の値。standard、strict、paranoid のいずれかです。オーバーライドの結果がどのプリセットにも一致しない場合、有効なレベルは custom と表示されます。モードを参照してください。 |
| 機能 | プリセットとは別に有効・無効を切り替えられる個々の保護。fail_closed、paranoid_rm、paranoid_interpreters のいずれかです。モードを参照してください。 |
| Degraded | CC Safety Net が設定元を拒否し、保護的な既定値にフォールバックしたまま作業を続けている状態。設定の復旧を参照してください。 |
シェルコマンドの形式
| 用語 | 定義 |
|---|---|
| シェルラッパー | bash -c 'git reset --hard' のように別のコマンドを実行するシェルコマンド。CC Safety Net はラップを外して中のコマンドを検査します。ブロックされるコマンドを参照してください。 |
| インタープリターのワンライナー | python -c 'import os; os.system("rm -rf /")' のように、インタープリターがインラインで実行するコード。CC Safety Net は危険なパターンがないかを検査します。ブロックされるコマンドを参照してください。 |
| 動的置換 | $(...)、<(...)、$VAR のように、実行時の展開に依存する値。一部の安全レベルではブロックされます。ブロックされるコマンドを参照してください。 |
再帰削除とパス
| 用語 | 定義 |
|---|---|
| カレントディレクトリ自体を指す対象 | rm -rf . のように、作業ディレクトリそのものを指す再帰的な rm の対象。すべての安全レベルでブロックされます。ブロックされるコマンドを参照してください。 |
| 実効カレントディレクトリ | 1 つの複合コマンドの中で、cd をまたいで CC Safety Net が追跡する作業ディレクトリ。ファイルシステムコマンドを参照してください。 |
| カレントディレクトリ配下の対象 | 作業ディレクトリ内を指す再帰的な rm または find -delete の対象。CC Safety Net は既定で許可し、paranoid_rm 機能が有効だとブロックします。ファイルシステムコマンドを参照してください。 |
モード
ルール
| 用語 | 定義 |
|---|---|
| ルールブック | rules/<name>/rulebook.json に置く、カスタムのブロックルールを収めた JSON ファイル。rule.json に設定元として登録し、CC Safety Net がツール呼び出しのたびに読み取ります。カスタムルールを参照してください。 |
| 透過ラッパー | nohup や timeout のように、CC Safety Net がその先で実行されるコマンドまで透過して検査するコマンド。追加のラッパーは rule.json で宣言します。透過ラッパーを参照してください。 |
| 取り込まれたルールブック | rule add と rule update がリポジトリに書き込む、リモートのルールブックのローカルコピー。更新で何が変わったかを差分で確認できます。公式ルールブックを参照してください。 |