前言¶
在 dsh-TUI 生態系統中,將 .env 片段、部署命令或調試日誌粘貼到代理中是泄露活躍密鑰的常見途徑。dsh-TUI Secret Guard 旨在解決這個問題。它是一個插件,用於在發送給模型之前阻止高置信度的憑據,並符合 DSH 生態系統 manifest v0.15。
它是什麼¶
這是一個 dsh-TUI 生態系統的插件。它掃描輸入內容,從不存儲提示內容,並且僅報告憑據類別。它攔截決策事件以阻止發送。如果需要,它具有兼容性回退機制,在模型請求之前在 agent/pre-step 處拒絕最新的用戶消息。
安裝與權限¶
安裝插件需要執行官方命令。
dsh plugin --profile dsh-tui add ./dsh-tui-secret-guard
在 Community v0.15 中,決策攔截默認爲拒絕。需要在 ~/.dsh-tui/extension-grants.json 中聲明權限:
{
"grants": {
"community.dsh-tui.secret-guard": [
{
"name": "session.input.intercept",
"scope": "tui/input"
}
]
}
}
該插件請求以下權限:不存儲、不觀察消息、不進行網絡訪問、不訪問文件系統、不執行命令。
配置¶
插件通過 YAML 配置項控制行爲:
enabled: true
genericAssignments: true
minGenericLength: 24
showStatus: true
genericAssignments:檢測賦值給API_KEY、CLIENT_SECRET、ACCESS_TOKEN、PASSWORD等名稱的值。minGenericLength:僅控制通用賦值。提供者特定的格式保留其自身的嚴格長度限制。showStatus:顯示secret guard: armed和本地進程計數。它不會持久化計數或內容。
佔位符(包括 ${ENV_NAME}、YOUR_API_KEY、redacted 和掩碼值)會被忽略。被阻止的提示必須編輯並重新提交;有意避免自動重寫,因爲靜默更改代碼或憑據可能會產生誤導性的模型輸出。
核心功能¶
- 本地掃描:在發送前檢查輸入。
- 不存儲內容:插件不保存提示內容。
- 僅報告類別:僅報告憑據類別。
- 攔截決策事件:通過
tui.dsh/v1alpha1#DecisionEvents攔截決策。 - 兼容性回退:回退到
agent/pre-step以拒絕最新用戶消息。
注意事項¶
插件以當前 dsh 進程的權限運行。安裝前應檢查源碼和許可證。被阻止的提示必須手動編輯。