本卡屬 FR-076(母卡 CM-1566),掃 License 鏈的第 4 棒:License Center 網頁後台(license_center)。只掃不修。
用 Claude Code 的 claude-security plugin,掃 license_center 的「License Center 網頁後台」這一塊(約 43 個檔),找出資安問題並產出報告。只找問題、不修問題——修正是後續另外開卡的事。
簽發站的操作介面,是唯一對外開網頁的部分。攻擊面性質與前三棒完全不同:登入、session、CSRF、模板注入、權限控制這些傳統 web 問題。後台一旦被攻破,攻擊者可以直接簽一張自己要的照,不必碰密碼學。
這些是給你的思考起點,不是檢查清單——掃描工具會自己找,這裡列的是首腦讀過程式碼後認為最容易出事的地方:
web/auth.py):密碼怎麼存與比對、session cookie 的 flag(HttpOnly/Secure/SameSite)、有沒有登入失敗鎖定(repo 有 auth_login_attempts 表,確認真的有用)、session 固定攻擊?(本 repo 從未被掃過)
第一步:確認 plugin 在,並讀掃描 job 的作業書,照它的步驟走:
ls /Users/chouraymond/.claude/plugins/cache/claude-plugins-official/claude-security/0.10.2.3/skills/claude-security/
cat /Users/chouraymond/.claude/plugins/cache/claude-plugins-official/claude-security/0.10.2.3/skills/claude-security/jobs/scan-codebase.md
第二步:驗 scope 檔數,對上 43 才啟動(避免整包誤掃):
cd /Users/chouraymond/Projects/Billows/Audit-Manager/license_center && GIT_CONFIG_GLOBAL=/dev/null git ls-files -- src/license_center/web | grep -v 'static/vendor' | wc -l
第三步:啟動。作業書會要你先建報告目錄、跑 write_scan_meta.py,然後呼叫 Workflow 工具:
Workflow({ name: "claude-security:scan",
args: { scanRoot: "/Users/chouraymond/Projects/Billows/Audit-Manager/license_center",
runDir: <你建的 .claude-security-run 絕對路徑>,
mode: "scan", effort: "low",
scope: "src/license_center/web",
range: null, diffFileCount: null, diffLineCount: null,
scopeFileCount: 43,
topLevelDirs: null,
focus: "attack-surface" } })
第四步:等它跑完(用作業書教的 keep-waiting.sh),期間不要做別的事。第五步:照作業書 Delivery 段產報告。
effort: xhigh 且要求追完每個 caller,讀到 20 幾萬 token 時每步思考變慢,超過 workflow 的 180 秒無 tool call 即判 stalled 就被砍掉從零重派,四棒共燒 29.6 小時零產出。