前言¶
在 DeepSeek Harness(DSH)的生態中,分離職責是安全審計的核心目標之一。NIST 定義了多種 SoD 類型(靜態、動態、基於對象等),現有插件如 dsh-guarded-hcl 主要針對優化器/評估器/策略邊界,而 dsh-decision-effect-proof 負責決策與效果的 reconciling。
本插件解決的問題是:針對一套已供應的 DSH 工作流收據,如何離線、確定性地證明其是否遵守了聲明的職責衝突策略?
定位¶
dsh-duty-separation-proof 是一個專注於事後審計的離線證據生成工具。它不提供實時控制,而是對提供的收據鏈進行完整性校驗和策略合規性分析。
- 名稱:
dsh-duty-separation-proof - 維護者:
dongsheng123132 - 分類:
admin-security - 許可證:
MIT
核心功能¶
- 離線確定性證據:不依賴實時系統狀態,基於輸入數據生成固定結果。
- 流程順序校驗:嚴格驗證請求、批准、執行、觀察的精確順序。
- 身份與哈希綁定:驗證工作流、對象、修訂版本的身份與哈希綁定。
- 收據鏈連續性:檢查收據鏈是否斷裂或異常。
- 主體互斥校驗:驗證執行主體與批准主體是否屬於互斥集合。
- 法定人數驗證:確保批准流程達到預設的法定人數。
- 主體多樣性驗證:驗證主體和觀察者的身份多樣性與新鮮度。
- 內容尋址輸出:生成經過脫敏、內容尋址的 JSON 判定報告。
使用方法¶
插件提供了命令行工具進行檢查和驗證。DSH Bundle 暴露了 dsh_duty_separation_inspect 和 dsh_duty_separation_verify 工具,Standalone MCP Server 也提供了等效的 proof-only inline tools。
# 運行測試
npm test
# 運行靜態檢查
npm run check
# 檢查特定示例
node bin/dsh-duty-separation-proof.mjs inspect examples/settled.json
# 驗證證據
node bin/dsh-duty-separation-proof.mjs verify examples/settled.json
技術細節¶
- Manifest 邊界:所有工作流、對象、修訂、策略、主體、觀察者和收據的身份均爲
lowercase SHA-256值。報告僅包含有界的proofId哈希。 - 標準序列:驗證的序列必須以
request開始,包含execute,以observe結束,中間可包含多個approve階段。 - 策略輸入:
disjointDutySets(互斥職責集)和法定人數閾值是明確的策略輸入。
注意事項¶
- 非授權系統:本插件不是授權系統。它不授予角色、批准請求、執行更改、認證收據、檢查實時系統或證明提供的賬本詳盡無遺。
- 報告屬性:生成的報告故意將
authenticatesReceipts、provesLedgerExhaustive和provesAbsenceOfUndeclaredActions標記爲false。