在 CI 中阻擋高風險的 agent 變更
何時使用: 你開發自訂 MCP/skill,並希望每個 PR 都通過 Snyk 閘門。
步驟
-
接線在 CI 中加入 agent-scan 步驟,並設定 SNYK_TOKEN。✓ 已複製→ 步驟執行
-
分類處理高嚴重性發現會讓 PR 失敗;進行審查。✓ 已複製→ 基準線乾淨
結果: agent 供應鏈與你的應用程式碼具備相同的閘門。
作者 snyk · snyk/agent-scan
Snyk 官方針對 agent 供應鏈的掃描器:掃描 MCP 伺服器、skills 及 agent 程式碼,偵測注入模式、洩漏的工具描述和已知問題依賴。
基於 Snyk 漏洞資料庫,此工具將一般的 SCA 掃描延伸至 AI agent 特有風險:工具描述提示注入、skill SKILL.md 污染、弱 hook 模式,以及依賴 CVE。
%APPDATA%\Claude\claude_desktop_config.json{
"mcpServers": {
"snyk-agent-scan": {
"command": "uvx",
"args": [
"snyk-agent-scan"
],
"env": {
"SNYK_TOKEN": "${SNYK_TOKEN}"
}
}
}
}
開啟 Claude Desktop → Settings → Developer → Edit Config。儲存後重啟應用。
{
"mcpServers": {
"snyk-agent-scan": {
"command": "uvx",
"args": [
"snyk-agent-scan"
],
"env": {
"SNYK_TOKEN": "${SNYK_TOKEN}"
}
}
}
}
Cursor 使用與 Claude Desktop 相同的 mcpServers 格式。專案級設定優先於全域。
{
"mcpServers": {
"snyk-agent-scan": {
"command": "uvx",
"args": [
"snyk-agent-scan"
],
"env": {
"SNYK_TOKEN": "${SNYK_TOKEN}"
}
}
}
}
點擊 Cline 側欄中的 MCP Servers 圖示,然後選 "Edit Configuration"。
{
"mcpServers": {
"snyk-agent-scan": {
"command": "uvx",
"args": [
"snyk-agent-scan"
],
"env": {
"SNYK_TOKEN": "${SNYK_TOKEN}"
}
}
}
}
格式與 Claude Desktop 相同。重啟 Windsurf 生效。
{
"mcpServers": [
{
"name": "snyk-agent-scan",
"command": "uvx",
"args": [
"snyk-agent-scan"
]
}
]
}
Continue 使用伺服器物件陣列,而非映射。
{
"context_servers": {
"snyk-agent-scan": {
"command": {
"path": "uvx",
"args": [
"snyk-agent-scan"
]
}
}
}
}
加入 context_servers。Zed 儲存後熱重載。
claude mcp add snyk-agent-scan -- uvx snyk-agent-scan
一行命令搞定。用 claude mcp list 驗證,claude mcp remove 移除。
何時使用: 你開發自訂 MCP/skill,並希望每個 PR 都通過 Snyk 閘門。
結果: agent 供應鏈與你的應用程式碼具備相同的閘門。
以 Cisco 的行為探針搭配 Snyk 的依賴與 lint 檢查分層
| 工具 | 輸入參數 | 何時呼叫 | 成本 |
|---|---|---|---|
| scanner CLI | (詳見文件) | 非 MCP 工具暴露——這是 CLI 掃描器 | 1 次呼叫 |
401Token 錯誤或已過期——在 Snyk 儀表板重新產生
| 替代方案 | 何時用它替代 | 權衡 |
|---|---|---|
| cisco-mcp-scanner | 你需要行為探針 | 無 SCA |