api-security
Use for authorized security assessment of REST, GraphQL, WebSocket, or SOAP APIs, including discovery, authentication,…
對使用者自己的程式碼做防禦性安全審查,檢測資安漏洞、資料外洩風險、壓力/效能風險與程式品質,並產出「依嚴重度排序的風險報告 + 修正後程式碼」。涵蓋 Google Apps Script(Workspace 自動化)、前端 HTML/CSS/JS、後端 API(Node/Python/PHP 等)。特別適用於「使用者用 AI 生成 / vibe coding 寫出來、希望更安全、避免被攻擊或破壞」的網頁程式碼。MANDATORY TRIGGERS:使用者要求「檢測程式碼安全」「幫我看這段 code 有沒有漏洞」「防止資料外洩」「review
Claude Code
$ npx -y skills add goingli0324/web-security-reviewer --skill web-security-reviewer --agent claude-code
Codex
$ npx skills add goingli0324/web-security-reviewer --skill web-security-reviewer -a codex -y
Cursor
$ npx skills add goingli0324/web-security-reviewer --skill web-security-reviewer -a cursor -y
Gemini CLI
$ npx skills add goingli0324/web-security-reviewer --skill web-security-reviewer -a gemini-cli -y
GitHub Copilot
$ npx skills add goingli0324/web-security-reviewer --skill web-security-reviewer -a github-copilot -y
OpenCode
$ npx skills add goingli0324/web-security-reviewer --skill web-security-reviewer -a opencode -y
Windsurf
$ npx skills add goingli0324/web-security-reviewer --skill web-security-reviewer -a windsurf -y
name: web-security-reviewer description: 對使用者自己的程式碼做防禦性安全審查,檢測資安漏洞、資料外洩風險、壓力/效能風險與程式品質,並產出「依嚴重度排序的風險報告 + 修正後程式碼」。涵蓋 Google Apps Script(Workspace 自動化)、前端 HTML/CSS/JS、後端 API(Node/Python/PHP 等)。特別適用於「使用者用 AI 生成 / vibe coding 寫出來、希望更安全、避免被攻擊或破壞」的網頁程式碼。MANDATORY TRIGGERS:使用者要求「檢測程式碼安全」「幫我看這段 code 有沒有漏洞」「防止資料外洩」「review 我的網頁/後端程式」「這段會不會被攻擊/被駭」「加固 / harden」「壓力測試」「優化程式碼安全性」「個資會不會外洩」「這是 AI 寫的幫我看安不安全」,或貼上一段前端/後端/Apps Script 程式碼並要求審查、找漏洞、修正建議、加固時,都要套用此 skill。即使使用者沒明說「資安」,只要意圖是審查或加固自己的程式碼,就觸發。SCOPE:本 skill 僅用於防禦性檢測——找出並修補使用者自己程式碼裡的漏洞;不協助撰寫可直接攻擊用的 exploit、不協助繞過資安機制。本 skill 同時是 agentic-dev-loop「Verify 雙閘」的安全閘:當該編排器要在部署前驗證安全/個資時會呼叫本 skill;使用者單獨要求安全審查時仍直接觸發本 skill。
對使用者提供的程式碼做有系統的防禦性審查,輸出一份結構化風險報告與可直接套用的修正版程式碼。目標是「找出問題 → 解釋為什麼危險 → 給可調整的修補方向」,而不是只丟一句「有漏洞」。
1. **嚴重度看脈絡,不確定就先問。** 同一段程式碼,部署成「只有自己能用的內部工具」和「對外公開的網路服務」,嚴重度天差地遠。動手前先確認:這段程式碼的用途、執行環境、是否處理個資、怎麼部署、誰會存取。脈絡不清時,先問一兩個關鍵問題再審查,不要自己腦補成「比較安全」的版本。
2. **誠實標註限制。** 靜態讀程式碼 ≠ 滲透測試或資安稽核,一定有抓不到的東西(商業邏輯漏洞、執行期才暴露的問題)。報告「乾淨」不等於系統安全。每份報告都要有「未能評估的部分」這一段。
3. **套件漏洞不要憑記憶背。** 相依套件的 CVE 依賴當前漏洞資料庫與 lockfile,模型的知識有時間截點。要明確要求使用者跑 `npm audit` / `pip-audit` / `osv-scanner`,不要列出可能過時的 CVE 編號當定論。判斷該專案是否適用、選哪個工具、怎麼讀結果,見 `references/dependency-scanning.md`(純 GAS 線上專案通常不適用,要特別留意)。
4. **能直接修的就直接修,不能替使用者決定的才用列的。** 把每個發現歸成三類並標記:
邊界:skill 只在「輸出的程式碼」裡套用修正,**絕不**代替使用者操作其環境(不改部署、不動分享權限、不寫入真實金鑰、不執行交易)。
5. **要詳盡。** 每個發現不要只說「有漏洞」。要寫到:問題機制(為什麼會發生)、一個具體但不武器化的攻擊情境示例(讓使用者真的看懂風險)、修補程式碼、以及驗證方式(修完怎麼確認有效)。寧可細,不要含糊。
6. **給方向、標取捨。** 「可選」建議要說明採納好處、不採納後果與取捨(例如為了效能快取資料,反而可能放大外洩面)。
7. **防禦導向。** 描述漏洞時,講清楚到「足以理解並修補」即可,不要寫成可直接複製拿去攻擊的武器化 payload。
確認受檢程式碼、執行環境、是否處理個資、部署方式、預期使用者規模。若關鍵脈絡缺失(尤其「是否對外公開」與「是否碰個資」),先問再審。
依程式碼語言/框架,讀取需要的 reference(只讀相關的,不要全載):
**快速加固模式**:使用者剛貼上一段新生成的碼、只想要快速回饋時,用簡版輸出(見 report-format.md 簡版模式)——以 AI 生成弱點清單快掃、直接給修正版,省略完整壓測/優化段,但保留「限制」與「需你處理」。
對照載入的清單逐類檢查。優先順序大致是:注入(injection)> 認證/授權 > 資料外洩 > 設定與標頭 > 其他。把每個發現記下「位置、問題、影響、修補」。
依 `data-leakage.md` 走一遍——硬寫的金鑰、過度詳細的錯誤訊息、log 寫入 PII、URL 帶敏感參數、source map 暴露、CORS 過寬等。處理真實個資時,提醒這牽涉《個人資料保護法》,但只做提醒、不下法律判斷,建議使用者諮詢權責單位。
分兩件事:(a) 靜態找出風險點(無上限迴圈、缺分頁、缺限流、N+1、Apps Script 配額/執行時間);(b) 產出一份「壓測計畫」(工具、場景、指標、通過門檻)。明講:這是計畫,不是結果;真正壓測要對著已部署的非正式環境跑。
可讀性、錯誤處理、結構、重複碼、命名。這一段的建議**預設標為「可選」**,除非某個寫法本身是安全問題。
依該模板產出詳盡報告:每個發現含機制/攻擊情境/修補/驗證方式並標 ✅/⚠️/🔧;把所有 ✅ 整合成「可直接貼上的修正版程式碼」;把 ⚠️ 與 🔧 整理成「需你親自處理」的勾選清單。
用「可能性 × 影響」概估(OWASP 風險評等的精神),需要更嚴謹可改用 CVSS 並註明。
| 等級 | 意義 | 處置 | |---|---|---| | **Critical** | 直接可被利用、導致資料外洩/系統被接管/遠端執行 | 立即修,未修不應上線 | | **High** | 在常見條件下可被利用,影響嚴重 | 上線/下次部署前修 | | **Medium** | 真實風險,但需特定條件或影響有限 | 排程儘快修 | | **Low** | 輕微、屬縱深防禦 | 有空再修 | | **Info** | 非漏洞,是強化建議或最佳實務 | 視情況採納 |
本 skill 只做「審查自己程式碼、找漏洞、給修補」。若請求變成「寫一個能攻擊/繞過某系統的程式」「幫我利用這個漏洞」,那超出範圍,應婉拒並把方向拉回防禦與修補。
A Claude Code skill for defensive security review of your own code. Detects security vulnerabilities, data-leakage risks, stress/performance risks, and code quality issues, then produces a severity-ranked risk report plus corrected code.
Use for authorized security assessment of REST, GraphQL, WebSocket, or SOAP APIs, including discovery, authentication,…
Extract and decrypt Windows DPAPI-protected secrets (Credential Manager, browser logins/cookies, Wi-Fi credentials, KeePass keys)…
Clean and finalize authorized natural-language text intended for readers by auditing suspicious invisible Unicode and rewriting…