讓代理程式工作,把最終效果的控制權留在自己手上。
只保護 MCP 伺服器是不夠的:代理程式還能觸及其 harness 允許它觸及的 shell、檔案、API 與自動化。本指南為開發者與機構整理出完整路徑:診斷您現有的設定,測試邊界,只授權確切的候選變更,控制執行過程,並以證據還原實際發生的事。
已推出 · Break the Mandate
適用對象
開發者與維護者
已經把任務委派給程式碼撰寫代理程式、希望讓它們工作更久而不必逐一核准每個指令的團隊。對自己的檔案執行 Doctor,使用無須帳號的本機實驗室,並將收據附在 PR 上。
平台與資安團隊
決定代理程式可以掛載、存取與匯出什麼的人。一份在 Git 中版本化的可攜式設定,CLI 與儀表板採用相同的驗證,hold 與 stop 控制由執行環境確認。
機構與組織
需要為自主軟體對客戶、稽核人員或主管機關所造成的結果負責的一方。授權權限留在代理程式之外,每個效果都會留下可離線驗證的證據,而這些證據的限制也都已寫明。
三個層面,一項原則
代理程式可以提出建議。授權權限留在代理程式之外。涵蓋範圍僅限於已宣告並經過測試的路徑:SecureStamp 不控制繞過該邊界的操作,而是把它們明確指出,而不是隱藏。
MCP 伺服器
透過 shell 啟動的伺服器、寫入檔案中的密鑰,或未固定版本的套件,會讓一個工具變成無人審查過的授權路徑。
Doctor 讀取所選檔案並提出修正後的副本;MCP Guard 對呼叫進行中介,Action Proof 將授權綁定到確切的效果。
Action Proof代理程式
代理程式可以透過 MCP、shell、指令碼或直接的 API 呼叫嘗試同樣的事。它的日誌與摘要描述的是它自稱做過的事,而不是實際發生的事。
客戶的 Execution Guardian 對每個經過中介的效果放行或扣留;代理程式之外的觀察者記錄結果,Task Contract 限定步驟、資源、預算與有效期限。
Task ContractHarness
掛載、socket、憑證輔助程式、代理伺服器與實際生效的網路,決定了代理程式真正擁有的權限,即使宣告的設定另有說法。
實驗室逐條路徑測試 harness 設定檔,並與寬鬆的基準線對照,對每條沒有探針的路徑標記為 not_evaluated。
代理程式與 harness 實驗室Break the Mandate — 演練流程
入口問題很簡單:您的代理程式能否做出超出您所核准任務的事?參考情境以五個步驟回答這個問題,使用合成 fixture,無須帳號,也不需要模型 API 金鑰。
- 01
一項有用的任務
代理程式在受控的 fixture 內準備一項真實的變更。
- 02
基準線中的缺口
同樣的越權嘗試,在一個刻意設定為寬鬆的基準線中產生了效果,並由另一個行程觀察到。這是已知的實驗對照,不是在您的機器上發現的漏洞。
- 03
被約束的缺口
啟用控制後,該路徑被約束,而有用的任務仍能完成。使任務失去用處的拒絕不算作價值。
- 04
環境改變時證據即失效
設定檔的某個關鍵相依項目發生變化:先前的證據不再為該路徑提供依據,直到重新驗證。
- 05
只有確切的候選變更才能離開
凍結後的候選變更會受到審查。更改其位元組或目的地會使匯出失效;還原為已核准的內容才允許產生效果。
快速開始
Doctor 不需要 Docker,也不需要模型,並且不會執行它所讀取的任何內容。參考情境是合成的:它絕不會執行專案程式碼,其報告會被標註為模擬證據。
# 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/*.ymlAgent Workflow Doctor:抵達代理程式的不受信任 issue、PR 或留言輸入,已宣告的權限,密鑰參照,寬鬆的工具,以及對外部內容的 checkout。它不會下載 action、不會解析密鑰,也不會執行 YAML。
HarnessProfileV1供進階使用者使用的完整設定檔。Doctor 絕不會僅憑單一檔案憑空建構它:掛載、觀察者、實際生效的憑證與後端均由操作方選定並驗證。
- 只讀取所指定的檔案;不會遍歷家目錄。
- 不執行檔案中的任何指令、hook 或運算式。
- 不解析密鑰,也不驗證 token。
- 在副本上提出可供審查的修補;絕不覆寫原始檔案。
- 對「無問題」的結果與對發現項目同等重視地呈現。
- 靜態診斷既不能確立隔離,也不能確立保護。
Exact Export:代理程式準備,由您授權確切的變更
代理程式在您專案的受控副本中準備變更。匯出憑證留在它的環境之外,只有經過審查的候選變更才會透過 Execution Guardian 離開。
- 01
準備
在隔離環境中,以所選專案的快照為基礎;您的 .git 絕不會被當作可信任的基底重複使用。
- 02
凍結
在審查之前固定候選變更:基底、位元組與摘要、ref、目的地以及先前狀態。
- 03
授權
核准與該候選變更綁定。之後的任何更改都會使其失效;--yes 不能取代 MFA 或法定人數。
- 04
執行
由 Guardian 保管,並檢查目的地的狀態:偏移與競態絕不會被覆寫。
- 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。沒有「安全代理程式」排行榜,也沒有通用徽章。