📌 本文重點
- Claude Security 能掃整個 Git repo 並理解跨檔案資料流
- 透過自我對抗驗證大幅降低誤報
- 發現漏洞可直接產生 patch、開 Jira 並推送到 Slack
一句話定位:Claude Security 是一個接上 Git repo 就能跑的 AI 白箱資安顧問,負責掃整個程式碼庫、自己驗證結果、再幫你開 ticket 與產生修補。
工具網址(企業公測):https://www.anthropic.com/news/claude-security
Reddit 討論:https://www.reddit.com/r/ClaudeAI/comments/1t12l3t/anthropic_just_launched_claude_security_in_public/
核心功能 1:掃「整個 repo」而不是只看單檔
傳統 SAST 常見問題:
- 只能做規則 / 字串匹配(例如
eval(、exec() - 很難理解「資料怎麼在多支檔案間流動」
- 幾乎不看 Git 歷史與商業邏輯
Claude Security 的做法:
- 接 GitHub / GitLab Repo
-
直接連到你的程式碼庫,讀取:
- 主幹分支(例如
main/master) - 重要 feature branch
- Commit history(看某段敏感程式碼是怎麼演進的)
- 主幹分支(例如
-
跨檔案資料流分析
AI 會像資安研究員那樣追蹤「一個輸入是怎麼一路走到危險函式」: -
例如:
- 使用者輸入 → Controller → Service → Repository → SQL 查詢
- 使用者上傳檔案 → S3 → 後續背景 Job 處理
-
可以找出:
- SQL Injection(多層 function call 之後才被拼接)
- 反序列化漏洞
- 跨檔案間的權限檢查缺失
-
看 Commit History 找風險變更
Claude 會用 Git 歷史當線索: -
最近誰改了認證、授權、檔案上傳相關的程式
- 有沒有「暫時先放過」的 TODO / FIXME 被留在敏感路徑
💡 關鍵: 透過整個 repo 與
commit history視角,Claude 能找出傳統只看單檔規則匹配時容易漏掉的跨檔案風險。
你可以立刻做的事:
- 先挑一個 repo,把以下幾類關鍵目錄標記為「高優先級」讓 Claude 重點掃描:
auth/、security/、config/、payments/、billing/- 涉及外部 API 呼叫(支付 / 身份驗證 / 儲存)的模組
核心功能 2:用「自我對抗驗證」降低誤報,不再被假警報淹沒
多數掃描器的痛點是:誤報太多,最後大家乾脆全部略過。
Claude Security 的差異點,在 Reddit 的描述裡很清楚:
「Most security scanners use rule-based pattern matching… Claude Security takes a different approach: it reasons through the code like a security researcher would… The part that stood out to me: every finding goes through an adversarial verification step.」
簡單說:
- 第一層:像資安研究員一樣找洞
-
AI 先「提出指控」:
- 例如:「這個 API 可能允許未授權使用者修改他人資料。」
-
第二層:自我對抗驗證(adversarial verification)
- 系統再啟動另一個「反方 AI」,專門負責駁斥剛剛的發現:
- 嘗試從程式碼找證據證明「其實沒問題」
- 或提出「可行攻擊路徑」來強化原本的發現
-
結果是:
- 沒有完整攻擊路徑、缺乏證據的 finding 會被降權或標註為低優先
-
輸出是「情境完整」的漏洞敘述
每個 finding 通常包含: -
風險描述(具體攻擊路徑)
- 涉及的檔案與 function
- 可能的影響(帳號竊取、資料外洩、本地權限提升…)
💡 關鍵: 透過「主張 AI」與「反方 AI」對抗式驗證,每個漏洞都需經過完整攻擊路徑推演,能大幅降低傳統 SAST 的誤報噪音。
你可以立刻做的事:
- 把一個現有的 SAST / SonarQube 報告交給 Claude Security,比較它:
- 會自動排除哪些「假陽性」
- 會把哪幾個風險排到最前面
- 把團隊一直懷疑但沒時間查的「灰色區域」(例如某個老舊模組)設定為掃描目標,看看 Claude 是否能給出完整攻擊路徑。
核心功能 3:發現問題直接產生 Patch、開 Jira、推 Slack
光知道有洞不夠,誰修?何時修?怎麼跟開發流程接在一起?
Claude Security 提供三個實用的動作:
- 自動產生 Patch
- 基於整個 repo 的上下文生成修補:
- 修改危險 API 呼叫方式
- 補上輸入驗證 / 權限檢查
- 調整錯誤訊息避免資訊外洩
-
以 PR diff 形式呈現,工程師可以:
- 手動 review + merge
- 或先在測試分支試跑
-
整合 Jira:自動開 ticket
- 發現高風險漏洞時:
- 建立 Jira ticket(含完整描述、檔案路徑、建議修補)
- 指派給對應 team / owner
-
你可以設規則,例如:
critical→ 必須在 24 小時內回應high→ 必須在下個 sprint 內解決
-
整合 Slack:即時通知
- 把重要 finding 推到指定 Slack channel:
#security-alerts/#devsecops
- 讓開發、DevOps、產品都看得到同一份風險脈絡
💡 關鍵: 從發現漏洞到開
Jira ticket、推Slack再加上自動產生patch,讓安全掃描真正嵌進現有開發與排程流程,而不是變成額外負擔。
你可以立刻做的事:
- 選一個現成的「安全債務」項目,讓 Claude Security:
- 找出相關程式碼
- 產生具體 patch
- 自動開 Jira ticket,讓它直接進到你的 sprint backlog
適合誰用?三類團隊的實際場景
1. 中小團隊,沒有專職 AppSec
典型狀況:
- 只有 3–10 人開發,沒有專職資安工程師
- 安全檢查通常只剩「上線前掃一次」
Claude Security 的用法:
- 把它當成「第一次安全評估」的替代方案:
- 每次重大 release 之前跑一次全 repo 掃描
- 對照結果決定要不要延後上線
可行動:
- 選一個核心產品 repo:
- 設定 每週一 自動跑一次掃描
- 把
critical/high的 finding 直接映射到 Jira Sprint board
2. DevSecOps 團隊,人手不足的企業
典型狀況:
- 有基本安全流程,但 SAST 報告看不完
- 每次新漏洞(例如像近期 Linux
CopyFail CVE-2026-31431這種)出來,都要人工盤點受影響範圍
Claude Security 的用法:
- 作為 現有工具上層的 AI 分析層:
- 接收 SAST / DAST 的結果
- 用 AI 重新分級、補上攻擊路徑說明
- 新 CVE 出來時:
- 用 Claude 搜索 repo 中相關 code path,快速列出受影響服務
可行動:
- 針對某個關鍵系統,設定:
- PR 時跑輕量掃描
- 每晚跑全 repo 深度掃描
- 把最常被忽略的中風險漏洞交給 Claude 重新評估,重排優先順序。
3. 大量使用 AI 生成程式碼的團隊
典型狀況:
- 團隊已經在用 Cursor、GitHub Copilot、Claude 編程
- 產出速度變快,但「AI 生出來的程式碼到底安不安全」沒人有空仔細看
Claude Security 的用法:
- 把它當作「AI 生成程式碼的第二道保險」:
- 對含有大量 AI commit 的 branch 開啟加強掃描
- 特別檢查:
- 序列化 / 反序列化
- 檔案上傳 / 下載
- 第三方套件版本
可行動:
- 在 PR template 裡加一條:
- 「勾選:已通過 Claude Security 掃描」
- 把掃描報告連結附在 PR 描述
怎麼開始:最小可行流程(MVP)
以下是一個 從 0 開始接上一個 GitHub repo 的最小流程:
步驟 1:申請 Claude Security 公測與連接 Repo
- 到官方頁面填申請表:https://www.anthropic.com/news/claude-security
- 取得企業帳號後:
- 在 Claude Security 後台新增一個 Project
- 授權存取你的 GitHub / GitLab 組織
- 選擇要掃描的 repo(先從一個開始)
步驟 2:設定掃描範圍與頻率
建議初始設定:
- 掃描範圍:
- 先只勾:
main/master+ 1–2 個關鍵 branch - 排除:自動產生的檔案、第三方庫(
/vendor、/node_modules) - 掃描頻率:
- 每日一次:整個 repo 深度掃描
- PR event:輕量掃描(只看這次 diff + 相關檔案)
步驟 3:插到 CI Pipeline 裡
以 GitHub Actions 為例,可用類似這種結構(實際 YAML 依官方範本為準):
name: security-scan
on:
pull_request:
branches: [ main ]
jobs:
claude-security-scan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run Claude Security
uses: anthropic/claude-security-action@v1
with:
api_key: ${{ secrets.CLAUDE_SECURITY_API_KEY }}
repo_path: '.'
fail_on: 'critical'
做法:
- 把
CLAUDE_SECURITY_API_KEY放在 repo secret - 設定
fail_on: - 例如遇到
critical漏洞就直接讓 CI fail,阻止 merge
步驟 4:簡單實作範例——針對 SQL Injection 跑一輪掃描與修補
假設你有一個典型的 Node.js/Express API:
// userController.js
router.get('/user', async (req, res) => {
const id = req.query.id; // 直接用 query
const sql = `SELECT * FROM users WHERE id = ${id}`; // 直接拼字串
const result = await db.query(sql);
res.json(result.rows[0]);
});
你可以這樣用 Claude Security:
- 在已接上的 repo 中,觸發一次手動掃描(或 push 一個小改動觸發 CI)
- 觀察 Claude 的輸出:
- 它應該會指出:
- 未經處理的
req.query.id被直接拼接進 SQL - 可能導致 SQL Injection
- 未經處理的
- 並提供 patch 建議,例如改成參數化查詢:
const id = parseInt(req.query.id, 10);
const sql = 'SELECT * FROM users WHERE id = $1';
const result = await db.query(sql, [id]);
- 接受 patch:
- 由 Claude 產生 PR,或直接貼出 diff
-
你的工程師只要 review + merge
-
確認 CI:
- 再跑一次安全掃描,確認同路徑不再出現相同風險
這樣你就完成了一次「發現 → 驗證 → 修補 → 再驗證」的完整迴圈,整個過程大部分由 AI 代勞,人力只在決策點與 code review 出現。
小結:先把它當成你團隊的「安全第二意見」
不需要一開始就把所有 repo 都接給 Claude Security。更實際的做法是:
- 先挑一個產品線
- 只掃最敏感的模組
- 讓它幫你建立「安全風險清單 + patch 建議」
當你發現:
- 誤報比傳統掃描器少
- 產生的 patch 不需要重寫太多
就可以逐步擴大到更多 repo,讓這個「駐場白箱資安顧問」真的融入你現有的 DevSecOps 流程。
🚀 你現在可以做的事
- 到官方頁面申請 Claude Security 公測帳號並連接一個測試用 Git repo
- 選定一個含敏感模組的產品線,設定每日與 PR 事件掃描流程
- 把一次完整的掃描結果導入 Jira 與 Slack,測試從發現到修補的端到端流程


發佈留言