合規控制報告(SOC2 / ISO 27001)
AutoControl 已內建稽核員關注的*控制項* —— 網路出口允許清單、即時憑證租約、
maker-checker 審批、密鑰掃描器、稽核記錄、CycloneDX SBOM。
build_compliance_report() 把「這些控制項是否到位?」轉化為稽核員可讀的**控制證
據報告**:你提供一個扁平的 evidence 觀察事實對應表,每個編目控制項即被標記為
satisfied / gap / not_assessed。
它是報告*輔助工具*,非認證 —— 它記錄你所聲明的證據,並不自行驗證控制項。純標準函式
庫,不匯入 PySide6。
對應的控制項
無頭 API
from je_auto_control import build_compliance_report, write_compliance_report
report = build_compliance_report({
"egress_allowlist_enforced": True,
"jit_credentials_used": True,
"secrets_scanned": True,
"audit_logging_enabled": True,
"change_approval_required": True,
"sbom_generated": True,
}, frameworks=["SOC2"]) # frameworks 為選用
print(report["summary"]) # {satisfied, gap, not_assessed, total}
write_compliance_report(report, "build/compliance.html", fmt="html")
當控制項的證據鍵為真時為 satisfied,明確為假時為 gap,鍵不存在時為
not_assessed —— 因此部分證據字典會產生誠實的缺口分析。render_compliance_html
回傳獨立的 HTML 表格;``write_compliance_report`` 寫出 json 或 html。
執行器指令
AC_compliance_report 接受 evidence``(JSON 物件,或視覺化建構器傳入的 JSON 字
串)、選用的 ``frameworks 清單/逗號字串,以及選用的 path + fmt 以寫出檔案;
回傳 {summary, controls, path?}。相同操作亦提供為 MCP 工具
ac_compliance_report,以及 Script Builder 中 Report 分類下的指令。