本文へスキップ

ガイド

ハザード登録簿

ハザードとは、システムで起こりうる不具合を、その担当者と測定するものとあわせて書き留めたものです。登録簿はリリースポリシーの隣の hazards.yaml に置き、プロジェクトの他の部分と同じくプルリクエストでレビューします。各実行は、読み取ったバージョンを記録します。

登録簿を書く

version: 1
hazards:
  - id: rag-leak
    title: A poisoned document makes the assistant disclose a customer's data
    systems: [support-bot]
    triggers: [a retrieved document carries an instruction]
    exposed: customers whose tickets the assistant reads
    severity: {level: 5, narrative: customer data leaves the company}
    occurrence: {level: 2}
    detectability: {level: 3}
    controls: [retrieved text is quoted, never obeyed]
    residual: Low while the leak ceiling holds; reviewed after every model change.
    owner: [email protected]
    review_by: 2026-12-01
    state: open
    measured_by: [no-leak]
    tested_by: [safety]

各ハザードは、それを測定するルールを measured_by に挙げます。これらは release.yaml の上限でなければなりません。max: ルールか max_failures: ルールです(リスクの上限)。下限はうまくいく頻度を測るため、下限で測定するハザードは拒否されます。systems と tested_by は、証拠を読むシステムとスイートを絞り込みます。省略するとすべてが対象です。

重大度、発生度、検出度は、故障モード影響解析の 1 から 5 の順序評価で、人が付けます。Oloproof は付けられたとおりに示し、決して組み合わせません。リスク優先数も残存リスクのスコアもありません。順序評価の積は、誰も測っていない精度だからです。残存リスクは担当者の一文です。ハザードの state(open、mitigated、accepted、closed)はチームのもので、決定ではありません。

確認する

oloproof hazards check

確認では、ポリシーにないルールや下限を挙げたハザードを含む登録簿を拒否し、2 で終了します。そうでなければ、各ハザードを評価、担当者、状態とともに一覧にし、期限切れのレビューを知らせ、各測定ルールを、各システムの各スイートでの最新実行においてエンジンが決定したとおりに読みます。測定ルールのないハザードは未測定として示され、どの最新実行も決定していないルールは名前が挙がります。--json は同じレポートをパイプライン向けに書き出します。

表示される場所

oloproof run は実行とともに登録簿を記録し、oloproof push はそれをワークスペースに運び、oloproof export はローカルのワークベンチが読むバンドルの隣に書き出します。Safety and risk ページでは、各ハザードを上限の上に、評価、管理策、測定する上限の状態とともに表示し、それぞれが証拠にリンクします。登録簿が変更されて元に戻った場合、現在の登録簿は最後に書かれたものではなく、最新の実行が記録したものです。決定レコードはその実行が記録した登録簿を名指しし、record verify はそれをチームの言明として報告します。

次に読むページ

  • リスクの上限 では、ハザードを測定するルールを説明します。
  • Gating では、上限がリリースを止める仕組みを説明します。