Code Review Fix Hardened

SuspiciousAudited by ClawScan on May 10, 2026.

Overview

The code-review feature is mostly purpose-aligned, but the package includes a hardcoded billing key and attempts automatic paid SkillPay charges after the free trial.

Review the billing code before installing or running this skill. Only use it if you are comfortable with SkillPay charges after three free uses, replace or remove the embedded billing key, set a non-identifying SKILLPAY_USER_ID if needed, and run --fix only in a version-controlled workspace where you can inspect changes.

Findings (5)

Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.

What this means

A packaged billing credential can be abused or misused, and users cannot easily verify what account or authority it represents.

Why it was flagged

A real-looking billing API credential is bundled directly in the distributed source and used to authorize SkillPay requests.

Skill content
const BILLING_API_KEY = 'sk_9733...bd8'; ... 'X-API-Key': BILLING_API_KEY
Recommendation

Do not ship live API keys in skill code. Move billing credentials to a declared, user-controlled secret/config path and rotate the exposed key.

What this means

Using the tool after the trial may debit a SkillPay balance without a separate per-charge confirmation step.

Why it was flagged

After three free calls, normal review execution attempts to charge the user through SkillPay before continuing.

Skill content
if (!isFree) { ... const result = await chargeUser(userId); ... console.log(`✅ 扣费成功!当前余额: ${result.balance} USDT`); }
Recommendation

Require explicit confirmation before each paid charge, clearly declare the billing capability in metadata, and provide a way to disable billing for local-only use.

What this means

A local username or SkillPay user identifier may be sent to an external billing provider during paid use.

Why it was flagged

The billing user ID falls back to the local OS username, which is then used in SkillPay billing calls.

Skill content
return process.env.SKILLPAY_USER_ID || 'local-user-' + require('os').userInfo().username;
Recommendation

Use a non-identifying SKILLPAY_USER_ID where possible and disclose exactly what billing identifiers are sent externally.

What this means

Automatic fixes could change or break code if run on an important file without review.

Why it was flagged

The --fix option directly overwrites the target file with generated fixes.

Skill content
if (values.fix && analysis.fixable) { ... writeFileSync(filePath, fixedCode); ... }
Recommendation

Run it in a git-tracked workspace, inspect diffs before committing, and prefer a preview/patch mode for important code.

NoteHigh Confidence
ASI10: Rogue Agents
What this means

A local state file may be created in projects and could be accidentally committed if not ignored.

Why it was flagged

The tool persists local usage counters in the current project directory.

Skill content
stateFile: join(process.cwd(), '.code-review-fix-state.json') ... saveState(state);
Recommendation

Document the state file, add it to .gitignore, or store usage state in a clearly scoped application data directory.