跳到主要內容
文件SecureStamp Protocol
Execution Governance · MCP · 代理程式 · harness

讓代理程式工作,把最終效果的控制權留在自己手上。

只保護 MCP 伺服器是不夠的:代理程式還能觸及其 harness 允許它觸及的 shell、檔案、API 與自動化。本指南為開發者與機構整理出完整路徑:診斷您現有的設定,測試邊界,只授權確切的候選變更,控制執行過程,並以證據還原實際發生的事。

已推出 · Break the Mandate

適用對象

開發者與維護者

已經把任務委派給程式碼撰寫代理程式、希望讓它們工作更久而不必逐一核准每個指令的團隊。對自己的檔案執行 Doctor,使用無須帳號的本機實驗室,並將收據附在 PR 上。

平台與資安團隊

決定代理程式可以掛載、存取與匯出什麼的人。一份在 Git 中版本化的可攜式設定,CLI 與儀表板採用相同的驗證,hold 與 stop 控制由執行環境確認。

機構與組織

需要為自主軟體對客戶、稽核人員或主管機關所造成的結果負責的一方。授權權限留在代理程式之外,每個效果都會留下可離線驗證的證據,而這些證據的限制也都已寫明。

三個層面,一項原則

代理程式可以提出建議。授權權限留在代理程式之外。涵蓋範圍僅限於已宣告並經過測試的路徑:SecureStamp 不控制繞過該邊界的操作,而是把它們明確指出,而不是隱藏。

Break the Mandate — 演練流程

入口問題很簡單:您的代理程式能否做出超出您所核准任務的事?參考情境以五個步驟回答這個問題,使用合成 fixture,無須帳號,也不需要模型 API 金鑰。

  1. 01

    一項有用的任務

    代理程式在受控的 fixture 內準備一項真實的變更。

  2. 02

    基準線中的缺口

    同樣的越權嘗試,在一個刻意設定為寬鬆的基準線中產生了效果,並由另一個行程觀察到。這是已知的實驗對照,不是在您的機器上發現的漏洞。

  3. 03

    被約束的缺口

    啟用控制後,該路徑被約束,而有用的任務仍能完成。使任務失去用處的拒絕不算作價值。

  4. 04

    環境改變時證據即失效

    設定檔的某個關鍵相依項目發生變化:先前的證據不再為該路徑提供依據,直到重新驗證。

  5. 05

    只有確切的候選變更才能離開

    凍結後的候選變更會受到審查。更改其位元組或目的地會使匯出失效;還原為已核准的內容才允許產生效果。

快速開始

Doctor 不需要 Docker,也不需要模型,並且不會執行它所讀取的任何內容。參考情境是合成的:它絕不會執行專案程式碼,其報告會被標註為模擬證據。

shell
# Node 22.22.3 或更新版本
npm install --save-dev @securestamp/mcp-guard @securestamp/execution-governance

# 1. Doctor:對你所選檔案的靜態診斷
npx securestamp-mcp-doctor scan .mcp.json --propose
npx securestamp-mcp-doctor scan-native <settings.json|config.toml> --format=<shape>
npx securestamp-mcp-doctor scan-workflow .github/workflows/agent.yml

# 2. 可攜情境:驗證並執行參考情境,附 hold
npx securestamp-execution-governance validate scenario.json
npx securestamp-execution-governance run scenario.json --hold-before=step-1

給予無效引數時,每個指令都會列印其用法與支援的格式。如需完整的 HarnessProfileV1,請使用 securestamp-mcp-doctor scan-harness。使用 --hold-before 時,執行會顯示一個被暫置(held)的效果,該效果絕不會被准入。預設不啟用遙測。

Doctor:先看您的原生檔案

Doctor 產出已宣告的事實,每項都附上來源檔案與欄位,並提供一份部分診斷,說明它讀取了哪些層、哪些仍然未知。相容性以「形態 + 傳輸 + 經過測試的用戶端」來描述;它不認得的格式會被回報為不支援,絕不會被悄悄略過。

  • .mcp.json · 含 mcpServers 的 JSON(stdio)

    已宣告的指令、憑證參照、寫入檔案的密鑰、透過 shell 的啟動方式,以及可變動或 @latest 的套件。固定的版本並不能確立完整性:將實際生效的產物與已核准的產物進行比對,是執行方的職責。

  • settings.json · config.toml ([mcp_servers])

    權限、工具與已辨識的設定層,包括衝突與缺漏的資料。單一檔案無法顯示受管理的原則、CLI 覆寫或繼承的設定:輸出中會註明這一點。

  • .github/workflows/*.yml

    Agent Workflow Doctor:抵達代理程式的不受信任 issue、PR 或留言輸入,已宣告的權限,密鑰參照,寬鬆的工具,以及對外部內容的 checkout。它不會下載 action、不會解析密鑰,也不會執行 YAML。

  • HarnessProfileV1

    供進階使用者使用的完整設定檔。Doctor 絕不會僅憑單一檔案憑空建構它:掛載、觀察者、實際生效的憑證與後端均由操作方選定並驗證。

  • 只讀取所指定的檔案;不會遍歷家目錄。
  • 不執行檔案中的任何指令、hook 或運算式。
  • 不解析密鑰,也不驗證 token。
  • 在副本上提出可供審查的修補;絕不覆寫原始檔案。
  • 對「無問題」的結果與對發現項目同等重視地呈現。
  • 靜態診斷既不能確立隔離,也不能確立保護。

Exact Export:代理程式準備,由您授權確切的變更

代理程式在您專案的受控副本中準備變更。匯出憑證留在它的環境之外,只有經過審查的候選變更才會透過 Execution Guardian 離開。

  1. 01

    準備

    在隔離環境中,以所選專案的快照為基礎;您的 .git 絕不會被當作可信任的基底重複使用。

  2. 02

    凍結

    在審查之前固定候選變更:基底、位元組與摘要、ref、目的地以及先前狀態。

  3. 03

    授權

    核准與該候選變更綁定。之後的任何更改都會使其失效;--yes 不能取代 MFA 或法定人數。

  4. 04

    執行

    由 Guardian 保管,並檢查目的地的狀態:偏移與競態絕不會被覆寫。

  5. 05

    驗證

    對後置條件進行獨立驗證,並產生可附在 PR 或 issue 上的收據。

初始目的地是本機 Git 儲存庫。在取得授權的設定檔與目的地下,GitHub 轉接器會建立一個新的 ref:它不會更新任何分支、不會強制推送、不會合併,也不會部署;開啟 PR 是另一個獨立的效果,需要各自的授權。只有當某個設定檔以實際生效的身分、掛載、socket 與網路,以及來自代理程式情境的 canary 證明了憑證保管,才會宣稱其具備憑證保管能力。

一份可攜式設定,三種介面

設定是一個在您的儲存庫中版本化的 JSON 檔案。函式庫會產生完整的合約及其摘要;沒有人手寫簽章。CLI 與儀表板匯入與匯出相同的表示形式,並通過相同的驗證:不存在與 Git 中原則不同的網頁原則。每次編輯都會建立新的修訂版本,進行中的執行保留其快照。

情境

具版本的 SSPI-execution-scenario:參數、含候選與基準摘要的專案原始碼,以及帶有操作與預期效果的步驟。它不接受任意指令碼,也不接受為了把缺口變成成功而被竄改的預期結果。

設定檔(Profile)

runner 及其設定檔:後端、觀察者租約與控制通道租約。系統會檢查它們的可用性以及證據的適用性。

授權(Mandate)

效果與時間的限制、每個效果與資源的摘要,以及所需的核准:一份代理程式無法觸及的 Task Contract。

  • npm · @securestamp/execution-governance

    可攜的情境契約、具備 hold、resume 與 stop 的控制平面,以及已遮蔽的報告:驗證並序列化情境、啟動執行、發出冪等指令,並建立、驗證與比較報告。它不授予任何權限,不隔離主機,也不取代客戶的 Guardian。

  • CLI · securestamp-mcp-doctor · securestamp-execution-governance

    用於診斷的 scan、scan-native、scan-workflow 與 scan-harness;用於情境的 validate 與 run。無需帳號。每次執行都會產生自己的報告,不會覆寫其他報告。

  • Dashboard · securestamp.online/dashboard/agents

    在由客戶營運的已註冊 runner 上進行情境、準備、執行、即時詳情與執行後分析。瀏覽器不執行測試,也不接收提供者憑證;連接 runner 為自願選擇(opt-in)。

Hold、resume、stop

這些控制作用於由 Guardian 中介的路徑。當其效果被扣留時,代理程式可以繼續推理;介面將其顯示為「效果已扣留 / 行程執行中」,絕不會顯示為代理程式被凍結。

Hold

Guardian 關閉對新效果的准入,並保留預算、已消耗的授予與歷史記錄。它不會凍結已送出的呼叫,也不會為過期的效果建立佇列。

Resume

重新開放之前,會重新驗證授權、有效期限、原則、設定檔、觀察者與預算。每個新請求都會重新評估。

Stop

對本次執行而言是終結性的:持久地關閉准入,取消待處理的工作,並終止受監督的行程及其子行程。它優先於 resume 與重新連線。

成功的 HTTP 回應僅確認指令已收到。儀表板會分別顯示已請求的內容、監督器已套用的內容,以及已觀察到的內容。若遠端通道中斷而觀察者運作正常,准入會在本機維持扣留;若觀察者失效,設定檔會切斷對外流量並終止容器。本機 stop 從不依賴儀表板。

報告:不會被簡化為紅綠燈的狀態

執行報告只帶有資訊性的 checksum,宣告證據等級並支援比較執行;checksum 不是發行者驗證。附有完整 Action Proof bundle 時,獨立驗證器使用報告外提供的信任錨點離線驗證,並繫結精確候選、目的地、權限和觀測到的 receipt 結果。FAIL、SKIP、缺少證據和未評估路徑持續可見;儀器失敗會使執行保持 INCOMPLETE,絕不會是 PASS。

執行狀態queued · running · held · stopping · stopped · completed · failed · incomplete
路徑結果PASS · FAIL · SKIP
涵蓋範圍protected · contradicted · partial · not_evaluated
整合simulated · integration_real · no_evaluated
完整性complete · incomplete
報告結果PASS · FAIL · INCOMPLETE
效果結果succeeded · failed_no_effect · indeterminate

Checksum 僅供參考

報告摘要會檢查所呈現的位元組,但任何能重寫報告的人都能重新計算它。它不是發行者驗證。

該操作方信任的簽發者

僅相對於操作方自行安裝的錨點而言。產物自帶的錨點並不會使其變得可信。

已由第三方重現

其他人執行了同一個 pack 並得到相同結果。這是另一種主張,會單獨回報。

資訊性的 pull request 檢查

使用相同的匯入器與規則比較原生檔案的 base 與 head,顯示已宣告的變更、未知項目與需要重新驗證的候選項目,並對照錨點驗證附帶的收據。它從固定的可信任修訂版本執行,僅有讀取權限,沒有密鑰,也不執行 PR 中的程式碼。它為審查提供資訊:它不是授權匯出的檢查,也不能取代 Guardian 或 ruleset。

這不能做什麼

  • 它不會讓模型變得安全,也不證明整體對齊:它只在已宣告的設定檔上測試執行邊界。
  • 它不控制繞過 Guardian 的路徑;沒有探針的路徑維持 not_evaluated,絕不會因繼承而被視為受保護。
  • 它不會復原已經發生的效果:hold 與 stop 不是回復(rollback)。
  • 收據在其錨點之下顯示完整性與範圍;它並不表示已核准的程式碼是無害的,也不表示有獨立方稽核過。
  • 它不是全公司範圍的緊急停止開關:v1 僅控制所選的執行及其已宣告的 runner。
  • 相容性依設定檔、版本與環境發布。某個 harness 上的 PASS 不會轉移到其他作業系統、路徑或用戶端。

繼續閱讀

狀態

已推出:針對原生檔案的 Doctor,透過 npm、CLI 與儀表板執行參考情境,匯出至本機 Git 的 Exact Export,以及資訊性的 PR 檢查。報告區分只有 checksum 的歷史和附帶的 Action Proof bundle;只有 bundle 存在並以外部錨點驗證時才標示可分享 receipt。每項能力都依設定檔與環境公布證據等級——模擬、真實整合或未評估。

開放且可重現

情境、fixture、配方與向量均已公開,讓第三方能重現或反駁每一項屬性。反例以 issue 的形式提交,附上 seed、設定檔與觀察到的結果;敏感的發現則遵循 SECURITY.md。沒有「安全代理程式」排行榜,也沒有通用徽章。

Execution Governance — MCP、代理程式與 harness 的安全 | SecureStamp Foundation