跳至主要內容

指南

危害登記冊

危害是系統中可能出錯的事,寫下來時要附上負責人和衡量它的東西。登記冊放在發布政策旁的 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 將其回報為團隊的說法。

下一步