← 返回 Skills 市场
abczsl520

Bug Audit

作者 abczsl520 · GitHub ↗ · v1.1.0
cross-platform ⚠ suspicious
566
总下载
0
收藏
1
当前安装
2
版本数
在 OpenClaw 中安装
/install bug-audit
功能描述
Comprehensive bug audit for Node.js web projects. Activate when user asks to audit, review, check bugs, find vulnerabilities, or do security/quality review o...
使用说明 (SKILL.md)

Bug Audit — Dissect, Then Verify

Do NOT run a generic checklist. Instead: read the code, extract every auditable entity, then exhaustively question each one.

Phase 1: Dissect (10-15 min)

Read all project files. Build 7 tables. These tables ARE the audit — everything found here gets verified in Phase 2.

Table 1: API Endpoints

For every route in server-side code:

| # | Method | Path | Auth? | Params validated? | Precondition | Returns | Attack vector |

For each endpoint, ask:

  • Can I call this without authentication?
  • Can I pass 0, negative, NaN, huge numbers, arrays, objects?
  • Can I skip a prerequisite API and call this directly?
  • What happens if I call this 100 times per second?
  • Does the response leak sensitive data (openid, internal IDs, full user objects)?

Table 2: State Machines

For every boolean/enum state variable (isGameOver, battleState, Game.running, phase, mode...):

| # | Variable | Set by | Read by | Init value | Reset when? | Can it leak across lifecycles? |

For each variable, ask:

  • If the game/session ends, does this get reset?
  • If I start a new round immediately, will stale state from the previous round affect it?
  • Are there race conditions between setters?

Table 3: Timers

For every setTimeout/setInterval:

| # | Type | Delay | Created in | Cleared in | What if lifecycle ends before it fires? |

For each timer, ask:

  • Is the handle stored for cleanup?
  • If the game ends / user disconnects / page navigates, does this still fire?
  • If it fires after cleanup, does it reference destroyed objects?

Table 4: Numeric Values

For every user-influenceable number (cost, score, damage, lootValue, kills, quantity...):

| # | Name | Source (client/server/config) | Validated? | Min | Max | What if 0? | What if negative? |

For each value, ask:

  • Is the server-side cap realistic? (kills cap 200 but max enemies is 50?)
  • Can the client send a value the server trusts without verification?
  • Float precision issues? (accumulated math → 290402.0000000001)

Table 5: Data Flows (Critical!)

For every pair of related APIs (buy→use, start→complete, pay→deliver, login→action):

| # | Step 1 API | Step 2 API | Token/link between them? | Can skip Step 1? | Can replay Step 1? |

This is where the biggest bugs hide. For each flow, ask:

  • Can I call Step 2 without ever calling Step 1? (raid-result without buy)
  • Can I call Step 1 once but Step 2 many times? (buy once, submit results 10 times)
  • Is there a one-time token linking them? If not, this is a critical vulnerability.
  • Can I call Step 1 with cost=0 then Step 2 with high reward?

Table 6: Resource Ledger

For every in-game resource (coins, gems, items, XP, energy...):

| # | Resource | All INFLOWS (APIs/events that add) | All OUTFLOWS (APIs/events that subtract) | Daily limits? | Can any inflow be infinite? |

For each resource, ask:

  • Is there any inflow without a corresponding cost? (free coins from quest with no cooldown)
  • Can any outflow go negative? (sell item → coins, but what if coins overflow?)
  • Are items in safe-box excluded from ALL outflows? (trade, sell, merge, fuse, gift)
  • Is there a loop? (buy item A → sell for more than cost → repeat)

Table 7: Concurrency Hotspots (TOCTOU)

For every operation that reads-then-writes shared state (balance check→deduct, stock check→reserve, coupon check→redeem):

| # | Operation | Read step | Write step | Atomic? | What if 2 requests hit simultaneously? |

This catches race conditions that single-request testing misses. For each operation, ask:

  • Is the read-then-write atomic? (SQL UPDATE x=x-1 WHERE x>=1 is atomic; SELECT then UPDATE is NOT)
  • Can two concurrent requests both pass the check and both execute the write? (double-spend)
  • Is there a mutex/lock/transaction? If using SQLite, is WAL mode enabled for concurrent reads?
  • For multi-step flows: can request A be between steps while request B starts the same flow?

Phase 2: Verify (main audit)

Go through every row in every table. For each row, determine:

  • 🔴 Critical: exploitable security hole, data loss, crash
  • 🟡 Medium: logic error, inconsistency, performance issue
  • 🟢 Minor: code quality, edge case, UX issue
  • ✅ OK: verified correct

Output format:

Bug N: [🔴/🟡/🟢] Brief description
- Row: Table X, #Y
- Cause: ...
- Fix: ...
- File: ...

Do NOT stop when you run out of "inspiration". You stop when every row in every table has been verified ✅ or flagged 🔴/🟡/🟢. This is exhaustive, not heuristic.

Phase 3: Red Team / Blue Team

After verifying all tables, switch to adversarial mode. Read references/redblue.md for the full playbook.

Structure

The playbook has 4 parts:

  1. Universal Chains (5) — apply to ALL projects: Auth Bypass, Injection, Rate Abuse, Data Leakage, Concurrency/Race Conditions
  2. Type-Specific Chains — pick sections matching the project:
    • 🎮 Game: Skip-Pay-Collect, Economic Loop, State Manipulation, Anti-Cheat Bypass
    • 📊 Data Tool: Data Access Control, Data Integrity, Scheduled Task Abuse
    • 🔌 API Service: Key/Token Abuse, Upstream Dependency, Response Manipulation
    • 🤖 Bot: Message Injection, Bot State Abuse
    • 🔧 WeChat: OAuth & Identity, WebView Compatibility, H5 Hybrid
    • 📈 Platform: Cross-Service Trust, Multi-Tenant Isolation
  3. Blue Team Defense — for each finding, verify 4 layers: Prevention → Detection → Containment → Recovery
  4. Execution Guide — step-by-step for the auditor

How to Run

  1. From Phase 1 dissection, identify project type(s) — a project can match multiple types
  2. Run ALL 5 Universal Chains
  3. Run type-specific chains matching the project
  4. For each 🔴 finding: verify all 4 Blue Team layers
  5. For each 🟡 finding: verify Layer 1 (Prevention) at minimum

Phase 4: Supplement

After red/blue team, run generic checks as a final safety net. Read references/modules.md and pick sections matching the project:

  • 🔒 Security (S1-S3): CORS, XSS, SQLi, brute force — if project has users
  • 🔐 Crypto (C1): Hardcoded secrets, weak hashing, plaintext storage, insecure random — all projects
  • 📊 Data (D1-D3): Timezone, atomic ops, float precision — if project has DB
  • ⚡ Performance (P1-P2): Memory leaks, hot paths — if project is large/realtime
  • 🎮 Game (G1-G4): State guards, rendering, config — if project is a game
  • 🔧 WeChat (W1-W3): ES6 compat, CDN, debugging — if runs in WeChat WebView
  • 🔌 API (A1-A3): Interface standards, rate limiting — if project is an API service
  • 🤖 Bot (B1): Timeout, dedup, sensitive words — if project is a bot
  • 🚀 Deploy (R1-R2): PM2, nginx, SSL, SDK overwrite — all projects
  • 🧪 Error Handling (E1-E2): Network errors, server errors, graceful degradation — all projects
  • 📱 UX Robustness (U1-U2): Error states, edge case UX — all projects with UI
  • 📦 Supply Chain (SC1): npm audit, dependency vulnerabilities, lockfile integrity — all Node.js projects
  • 📝 Logging (L1): Security event logging, audit trail completeness — all projects with users

Phase 5: Regression + Verify

  • Check that fixes didn't introduce new bugs
  • After modular split: verify cross-file variable/function reachability
  • Live smoke test: homepage 200, key APIs return JSON, login works, core feature functional

Phase 6: Archive

Update project docs with: date, tables built, bugs found/fixed, key pitfalls for next audit.

Key Principles

  1. Tables first, checking second. Building the tables IS the hard work. Once you have them, verification is mechanical.
  2. Exhaustive, not heuristic. Don't stop when you "feel done." Stop when every row is verified.
  3. Think like an attacker. For every API: "How would I exploit this?" For every value: "What if I send garbage?"
  4. Data flows are where critical bugs hide. The link (or lack thereof) between related APIs is the #1 source of exploitable vulnerabilities.
  5. Generic checklists are supplements, not the main event. They catch known patterns; the tables catch project-specific logic bugs.

Reference Files

  • references/modules.md — Generic audit modules (Security, Crypto, Data, Performance, Game, WeChat, API, Bot, Deploy, Error Handling, UX, Supply Chain, Logging) for Phase 4 supplementary checks.
  • references/redblue.md — Red team attack chains (universal + 6 project types) and blue team defense verification playbook for Phase 3.
  • references/pitfalls.md — Real-world pitfall lookup table from 200+ bugs, plus WeChat WebView remote debugging techniques.
安全使用建议
This skill appears coherent for its stated purpose (Node.js project audits) and has low operational footprint (no installs, no credentials). However: 1) Review the SKILL.md yourself before enabling — it contains a prompt-injection pattern; don't allow it to override platform safety policies. 2) Limit the agent's file access to the project root (do not grant access to your home directory, /etc, cloud credential files, or other projects). 3) Treat any reported secrets or credentials as sensitive — do not paste them into external tools or chat without redaction. 4) If you install the optional git clone from the README, inspect that repository before running. 5) Prefer running audits in an isolated environment (container or VM) if the agent will execute any commands or if the project may contain unknown scripts. If you need higher assurance, ask the skill author for explicit scoping language (e.g., "only read files under the current project directory") and removal of any instruction that attempts to override host/platform instructions.
功能分析
Type: OpenClaw Skill Name: bug-audit Version: 1.1.0 The 'bug-audit' skill bundle is a comprehensive security and logic auditing framework designed for AI agents to review Node.js projects. It implements a structured methodology (Dissect-Verify-Supplement) that guides the agent to create detailed matrices of API endpoints, state machines, and data flows to identify project-specific vulnerabilities. The reference files (modules.md, redblue.md, pitfalls.md) contain high-quality security checklists and adversarial testing patterns aligned with OWASP standards. No evidence of malicious intent, data exfiltration, or harmful prompt injection was found; the bundle functions as a legitimate security tool.
能力评估
Purpose & Capability
Name/description (Node.js bug audit) match the SKILL.md: it explicitly instructs reading code, building per-project tables, and running logic/flow checks. No unrelated binaries, env vars, or installs are requested — capabilities requested are proportionate to an audit tool.
Instruction Scope
The SKILL.md tells the agent to "Read all project files" and to exhaustively extract endpoints, state, timers, flows, and secrets — appropriate for an audit — but it does not explicitly constrain the file scope to a safe project root or forbid reading system/user files. The pre-scan found a prompt-injection pattern (see scan findings) inside SKILL.md which suggests the skill content itself attempts to influence agent instruction handling; together this raises risk that an agent could be directed to read or exfiltrate sensitive files outside the intended project.
Install Mechanism
Instruction-only skill with no install spec and no code executed by the platform. This minimizes supply-chain risk; README notes an optional git clone for manual install, which is user-driven and not executed automatically.
Credentials
The skill declares no required environment variables, no credentials, and no config paths. The audit content recommends searching source for secrets (expected for audits) but does not itself request external secrets or unrelated credentials.
Persistence & Privilege
Flags are default (always:false). The skill does not request permanent presence or system-wide config changes. No indication it will modify other skills or system settings.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install bug-audit
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /bug-audit 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.1.0
Added AI Dev Quality Suite cross-references, ClawHub badges, improved install instructions
v1.0.0
Initial release: dynamic bug audit flow for Node.js projects (games, data tools, WeChat, APIs, bots). 200+ real-world pitfalls included.
元数据
Slug bug-audit
版本 1.1.0
许可证
累计安装 1
当前安装数 1
历史版本数 2
常见问题

Bug Audit 是什么?

Comprehensive bug audit for Node.js web projects. Activate when user asks to audit, review, check bugs, find vulnerabilities, or do security/quality review o... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 566 次。

如何安装 Bug Audit?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install bug-audit」即可一键安装,无需额外配置。

Bug Audit 是免费的吗?

是的,Bug Audit 完全免费(开源免费),可自由下载、安装和使用。

Bug Audit 支持哪些平台?

Bug Audit 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Bug Audit?

由 abczsl520(@abczsl520)开发并维护,当前版本 v1.1.0。

💬 留言讨论