安全性掃描技能
使用 AgentShield 審計您的 Claude Code 設定是否存在安全問題。
何時啟用
- 設定新的 Claude Code 專案時
- 修改
.claude/settings.json、CLAUDE.md或 MCP 設定後 - 提交設定變更之前
- 加入帶有現有 Claude Code 設定的新儲存庫時
- 定期安全衛生檢查
掃描項目
| 檔案 | 檢查內容 |
|---|---|
CLAUDE.md | 硬編碼機密、自動執行指令、提示注入模式 |
settings.json | 過度寬鬆的白名單、缺少黑名單、危險的繞過標誌 |
mcp.json | 高風險 MCP 伺服器、硬編碼環境變量、npx 供應鏈風險 |
hooks/ | 透過插值命令注入、資料外洩、靜默錯誤抑制 |
agents/*.md | 無限制的工具存取、提示注入表面、缺少模型規格 |
先決條件
必須安裝 AgentShield。檢查並在需要時安裝:
# 檢查是否已安裝
npx ecc-agentshield --version
# 全域安裝(建議)
npm install -g ecc-agentshield
# 或直接透過 npx 執行(無需安裝)
npx ecc-agentshield scan .
使用方法
基本掃描
針對當前專案的 .claude/ 目錄進行掃描:
# 掃描當前專案
npx ecc-agentshield scan
# 掃描指定路徑
npx ecc-agentshield scan --path /path/to/.claude
# 使用最低嚴重性篩選
npx ecc-agentshield scan --min-severity medium
輸出格式
# 終端機輸出(預設)— 彩色報告及評級
npx ecc-agentshield scan
# JSON — 適用於 CI/CD 整合
npx ecc-agentshield scan --format json
# Markdown — 適用於文件
npx ecc-agentshield scan --format markdown
# HTML — 自包含的深色主題報告
npx ecc-agentshield scan --format html > security-report.html
自動修復
自動套用安全修復(僅修復標記為可自動修復的項目):
npx ecc-agentshield scan --fix
這將:
- 將硬編碼機密替換為環境變量引用
- 將萬用字元權限收緊為限定作用域的替代方案
- 永不修改僅供手動建議的項目
Opus 4.6 深度分析
執行對抗性三管道進行更深入分析:
# 需要 ANTHROPIC_API_KEY
export ANTHROPIC_API_KEY=your-key
npx ecc-agentshield scan --opus --stream
這將執行:
- 攻擊者(紅隊) — 尋找攻擊向量
- 防禦者(藍隊) — 建議強化措施
- 審計員(最終裁決) — 綜合雙方觀點
初始化安全設定
從頭建立全新的安全 .claude/ 設定:
npx ecc-agentshield init
建立:
settings.json附帶限定作用域的權限和黑名單CLAUDE.md附帶安全最佳實踐mcp.json佔位符
GitHub Action
新增至您的 CI 管道:
- uses: affaan-m/agentshield@v1
with:
path: '.'
min-severity: 'medium'
fail-on-findings: true
嚴重性等級
| 等級 | 分數 | 含義 |
|---|---|---|
| A | 90-100 | 安全設定 |
| B | 75-89 | 輕微問題 |
| C | 60-74 | 需要注意 |
| D | 40-59 | 重大風險 |
| F | 0-39 | 嚴重漏洞 |
解讀結果
嚴重發現(立即修復)
- 設定檔中的硬編碼 API 金鑰或令牌
- 白名單中的
Bash(*)(無限制的 shell 存取) - 透過
${file}插值進行命令注入的鉤子 - 執行 shell 的 MCP 伺服器
高風險發現(上線前修復)
- CLAUDE.md 中的自動執行指令(提示注入向量)
- 權限中缺少黑名單
- 具有不必要 Bash 存取權限的代理
中等發現(建議修復)
- 鉤子中的靜默錯誤抑制(
2>/dev/null、|| true) - 缺少 PreToolUse 安全鉤子
- MCP 伺服器設定中的
npx -y自動安裝
資訊發現(僅需了解)
- MCP 伺服器缺少描述
- 禁止性指令正確標記為良好實踐