ADR-0053: 不可逆な操作を基準で定義し、列挙を例示へ改める
採用(2026-08-14)
コンテキスト
Section titled “コンテキスト”初回適用案件で、エージェントが決裁資料を組織の管理外の公開ホストへ発行しました(pit-in-template#27)。決裁が成立した後に、決裁者から「実際の会社でこれをやると情報流出インシデントである」と指摘されています。
標準は既に、公開を不可逆と判定していた
Section titled “標準は既に、公開を不可逆と判定していた”第8章「設計で下げられない危害」は次の4つを挙げます。
- 人体への危害(不可逆)
- 外部へ出た情報(公開、第三者への送信、漏えい)
- 外部との間で確定した取引(送金、発注、契約の成立)
- 第三者の資産・環境への物理的な影響
同節は判定の基準を定めています。
取り消しの可否ではなく、取り消せない時間帯が存在することで判定します
発行を削除しても、発行されていた時間帯は消えません。#27 の「発行が取り消せる場合でも、発行された事実は残る」は、この基準にそのまま一致します。
それでも停止しなかった理由
Section titled “それでも停止しなかった理由”第5章 4.2 原則4 の「不可逆4操作」は、基準を書かずに4つの操作を列挙していました。
削除 / 本番環境へのデプロイ / 課金が発生する書き込み / データベース・スキーマ変更組織の管理外への発行は、この4つに入りません。エージェントは列挙を参照し、該当しないと判定して実行しました。
「4操作は実行環境への作用である」という整理は成り立ちません。課金が発生する書き込みは実行環境への作用ではなく、外部との取引の確定です。第8章がその行のすぐ上に「外部へ出た情報」を置いている以上、片方だけを列挙から外す根拠が標準内にありません。
同じ誤りを ADR-0038 が既に指摘していた
Section titled “同じ誤りを ADR-0038 が既に指摘していた”同 ADR 決定1 は、統制の弱化について次を定めています。
パスの列挙で定義しません。パスは変更のたびに規定の改訂を要し、列挙の漏れが検知の漏れになります
列挙の漏れが検知の漏れになりました。本件は、その予告が別の条項で現実になったものです。
遮断の規定は既にあり、実装層へ降りていなかった
Section titled “遮断の規定は既にあり、実装層へ降りていなかった”会議体の検査で、無条件の規定が3件確認されました。
| 出所 | 内容 |
|---|---|
agent-trace-control.md |
附属書E E.6「想定していない外部への通信を行った」を事前に遮断するへ振り分け |
| 同 | ネットワークの既定は拒否。必要な宛先のみ許可 |
developer-guide.md |
「起きてから探すのではなく、実行時に拒否します」 |
したがって本件は、規定の不在ではありません。規定は無条件で存在し、降ろし先(強制層)も指定されていました。準拠テンプレートの強制層に実装がありませんでした。
1. 不可逆な操作を、基準で定義する
Section titled “1. 不可逆な操作を、基準で定義する”第5章 4.2 原則4 の見出しから「4操作」を外し、判定の基準を本文へ書きます。
判定の基準は「取り消せない時間帯が存在すること」である。取り消し操作を用意したことをもって、対象から外してはならない。
基準の出所は第8章「設計で下げられない危害」です。新しい基準を作りません。既にある基準を、停止条件の側へ書き写します。
2. 列挙を、基準を満たす操作の例示とする
Section titled “2. 列挙を、基準を満たす操作の例示とする”列挙は網羅ではありません(ADR-0041)。
基準に当たる操作を見つけた場合、一覧に無いことを理由に自律実行してはならない
3. 「組織の管理外への発行」を例示へ加える
Section titled “3. 「組織の管理外への発行」を例示へ加える”組織の管理外への発行(公開ホストへの掲載、第三者への送信。発行を削除しても、発行されていた時間帯は消えない)4. 何を組織外とするかを、標準は定義しない
Section titled “4. 何を組織外とするかを、標準は定義しない”定義しません。定義する必要がありません。
本標準は既に、定義せずに遮断する形を持っています。agent-trace-control.md の「既定を拒否に置く」です。標準はどの宛先が危険かを定義せず、「許可した宛先の外を拒否する」という構造だけを定義し、宛先の列挙を案件へ渡しています。
| 標準が定める | 組織・案件が定める |
|---|---|
| 発行先の既定を拒否に置くこと | 許可する発行先の列挙 |
組織の情報管理規程と二重になりません。基準は組織が供給します。
5. 独立した判定工程を新設しない
Section titled “5. 独立した判定工程を新設しない”#27 の案B(組織外へ出す成果物すべてを対象とする発行前の判定工程)を採りません。
標準は本事象を目視の判定ではなく実行時の遮断で扱うと、既に決めています。附属書E E.6 の5事象のうち3つを事前遮断へ振り分けた理由は「起きてから見つけるより、起こさないほうが確実です」でした。
判定工程を足すと、遮断が実装されないまま判定だけが増えます。
6. 判断の種類を5つ目として足さない
Section titled “6. 判断の種類を5つ目として足さない”第5章 5.5 の4分類(価値判断 / 技術判断 / 理解の確認 / 記録の確認)を変えません。
発行の可否は、既存のエスカレーション先で受けられます。原則4 の停止条件が働けば、state:needs-owner が指す範囲に入ります(ADR-0037)。
検討した選択肢
Section titled “検討した選択肢”| 案 | 却下の理由 |
|---|---|
| 列挙へ1行足し、「不可逆5操作」とする | 列挙のままでは、次の漏れが再発する。ADR-0038 決定1 が同じ誤りを既に指摘している |
| 独立した判定工程を新設する | 遮断が実装されないまま判定だけが増える。標準は本事象を遮断で扱うと既に決めている |
| 判断の種類を5つ目として足す | 5.5 は判断の性質による分類である。統制の対象を足すと分類の軸が混ざる |
| 標準が「組織外」を定義する | 組織ごとに機密区分が異なる。組織の情報管理規程と二重になる |
| 何もしない(実装層の問題として扱う) | 実装層の欠落は事実だが、列挙で書いたことが漏れを生んだ構造は標準側の問題である |
- 第5章 4.2 原則4 が、基準 + 例示の形になる
- 「不可逆4操作」という語を用いない。参照している箇所(4.3 / ADR-0037 / ADR-0038)は「不可逆な操作」と読み替える
- 標準は、何を組織外とするかを定義しない。案件が許可先を列挙する
- 遮断の実装は準拠テンプレートの作業である。標準側は降ろし先を指定するにとどまる
- 基準に当たる操作を見つける責任が、実行主体へ移る。列挙を確認して終わりにできない