本卡屬 FR-186(Agent 本體資安掃描第二輪),第 2 批 I2:LDAP 登入、離線操作者、來源網段白名單(Agent repo,9 檔/約 1104 行)。只掃不修。工作坊用 .claude/workshop-prompts/dispatch-<本卡號>.md 當開場 prompt 直接啟動掃描。

這一棒在做什麼(白話)

用 Claude Code 官方 claude-security plugin 掃 Guidant AI Agent(repo evidence-agent)的「LDAP 登入、離線操作者、來源網段白名單」,找出資安問題,寫成 PM 與新手工程師都看得懂的報告。只找問題、不修問題。

為什麼切這一塊

FR-177 掃過(舊卡 CM-3514),之後有改動;這次重掃要回答兩件事:上次修的有沒有守住、新改的程式有沒有新洞。 範圍按業務模組垂直切(入口→流程→資料),權限漏洞常在層與層的接縫上。

掃描範圍(scope,與開場 prompt 的 --scope 一致)

guidant_agent/identity/adapters/ldap_source.py
guidant_agent/identity/app/ldap_source.py
guidant_agent/identity/app/offline_operators.py
guidant_agent/identity/app/offline_login_window.py
guidant_agent/identity/app/allow_cidr.py
guidant_agent/identity/domain/allow_cidr.py
guidant_agent/identity/ports/source_cidr_guard.py
guidant_agent/identity/adapters/operator_repo.py
guidant_agent/console/api/ldap_routes.py

檔數 9、約 1104 行。驗檔數:git ls-files -- guidant_agent/identity/adapters/ldap_source.py guidant_agent/identity/app/ldap_source.py guidant_agent/identity/app/offline_operators.py guidant_agent/identity/app/offline_login_window.py guidant_agent/identity/app/allow_cidr.py guidant_agent/identity/domain/allow_cidr.py guidant_agent/identity/ports/source_cidr_guard.py guidant_agent/identity/adapters/operator_repo.py guidant_agent/console/api/ldap_routes.py | grep -v /tests/ | wc -l 應為 9。scope 外的檔不要當發現報;為核對呼叫端翻範圍外的檔可以,報告標「只為查證」。

重點看什麼

首腦標的思考起點,不是檢查清單。掃完後 runner 逐條對一遍:工具沒報的,開檔看一眼寫「人工查過:成立/不成立/為什麼」。FR-177 的人工補查抓到的問題不比工具少。(以下沿用 FR-177 舊卡的重點,行號是舊版、以檔名與函式名為準。)

已知背景

FR-177 25 棒報告在 Agent repo docs/security-scan/FR-177/scan-*.md,已登記的 22 條在主系統 repo docs/features/security-scan-consolidated/README.md §3.1 第 219~240 項(全部已修)。已修而且修法成立的不重報;修法不完整、或同一族換個欄位又出現,才報並註明對應項次。

怎麼做