コンテンツにスキップ

ADR-0053: 不可逆な操作を基準で定義し、列挙を例示へ改める

採用(2026-08-14)

初回適用案件で、エージェントが決裁資料を組織の管理外の公開ホストへ発行しました(pit-in-template#27)。決裁が成立した後に、決裁者から「実際の会社でこれをやると情報流出インシデントである」と指摘されています。

標準は既に、公開を不可逆と判定していた

Section titled “標準は既に、公開を不可逆と判定していた”

第8章「設計で下げられない危害」は次の4つを挙げます。

  • 人体への危害(不可逆)
  • 外部へ出た情報(公開、第三者への送信、漏えい)
  • 外部との間で確定した取引(送金、発注、契約の成立)
  • 第三者の資産・環境への物理的な影響

同節は判定の基準を定めています。

取り消しの可否ではなく、取り消せない時間帯が存在することで判定します

発行を削除しても、発行されていた時間帯は消えません。#27 の「発行が取り消せる場合でも、発行された事実は残る」は、この基準にそのまま一致します。

第5章 4.2 原則4 の「不可逆4操作」は、基準を書かずに4つの操作を列挙していました。

削除 / 本番環境へのデプロイ / 課金が発生する書き込み / データベース・スキーマ変更

組織の管理外への発行は、この4つに入りません。エージェントは列挙を参照し、該当しないと判定して実行しました。

「4操作は実行環境への作用である」という整理は成り立ちません。課金が発生する書き込みは実行環境への作用ではなく、外部との取引の確定です。第8章がその行のすぐ上に「外部へ出た情報」を置いている以上、片方だけを列挙から外す根拠が標準内にありません。

同 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)。

案 却下の理由
列挙へ1行足し、「不可逆5操作」とする 列挙のままでは、次の漏れが再発する。ADR-0038 決定1 が同じ誤りを既に指摘している
独立した判定工程を新設する 遮断が実装されないまま判定だけが増える。標準は本事象を遮断で扱うと既に決めている
判断の種類を5つ目として足す 5.5 は判断の性質による分類である。統制の対象を足すと分類の軸が混ざる
標準が「組織外」を定義する 組織ごとに機密区分が異なる。組織の情報管理規程と二重になる
何もしない(実装層の問題として扱う) 実装層の欠落は事実だが、列挙で書いたことが漏れを生んだ構造は標準側の問題である
  • 第5章 4.2 原則4 が、基準 + 例示の形になる
  • 「不可逆4操作」という語を用いない。参照している箇所(4.3 / ADR-0037 / ADR-0038)は「不可逆な操作」と読み替える
  • 標準は、何を組織外とするかを定義しない。案件が許可先を列挙する
  • 遮断の実装は準拠テンプレートの作業である。標準側は降ろし先を指定するにとどまる
  • 基準に当たる操作を見つける責任が、実行主体へ移る。列挙を確認して終わりにできない