Back to skill

Security audit

OpenClaw代码审查助手

Security checks for vulnerabilities and agentic risk

Overview

This skill does not steal data or persist on the system, but it advertises real code review and security scanning while returning canned results that are not based on the user's code.

Review carefully before installing or using this skill. It appears low-risk for system compromise, but it should not be trusted for code quality, security review, PR approval, or CI gating unless the author replaces the canned reports with real analysis or clearly labels it as a demo.

Vulnerability Patterns
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Findings (1)

other

Error
Location
code-review-assistant.sh:22
Finding

Fabricated Code Review Results Create False Security Assurance

Content
View full analysis
${NC}" exit 1 fi echo "📁 Reviewing: $TARGET" echo "" cat << 'REPORT' ### Code Review Report #### ⚠️ Issues Found ##### High Priority 1. **Security: Potential SQL Injection** - File: example.js - Line: 45 ```javascript const query = `SELECT * FROM users WHERE id = ${userId}`; ``` **Recommendation**: Use parameterized queries ##### Medium Priority 2. **Error Handling: Missing try-catch** - File: example.js - Line: 23 ```javascript const data = JSON.parse(response); ``` **Recommendation**: Add error handling 3. **Best Practice: Hardcoded Secret** - File: example.js - Line: 67 ```javascript const API_KEY = "sk-1234567890"; ``` **Recommendation**: Use environment variables ##### Low Priority 4. **Style: Use const instead of let** 5. **Style: Add JSDoc comments** 6. **Performance: Consider caching** --- ### Summary | Type | Count | |------|-------| | Security | 1 | | Error Handling | 1 | | Best Practices | 2 | | Style | 2 | ### Recommendation Fix high priority issues before merging. Consider addressing medium priority items in next iteration. --- REPORT echo -e "${GREEN}✅ Review complete!${NC}" ;; ``` ### Technical Analysis Only the presence of a nonempty target argument is checked. There is no filesystem existence check and no operation reads or analyzes `$TARGET`. The quoted here-document always emits the same file name, line numbers, source s ...[truncated 2372 chars]
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (6)

Tp4

High
Category
MCP Tool Poisoning
Confidence
94% confidence
Finding

The declared description suggests a functional automated code review tool that performs real PR analysis, code quality checks, bug detection, and security scanning. The supplied code does not implement substantive analysis of files or pull requests. For review, it accepts a target path but ignores its contents and emits a fixed markdown report with example issues. For diff, it only runs git diff --stat and then prints a static summary. For pr, it does not review a pull request at all, only reports that GitHub integration is not configured. This is a significant description-behavior mismatch because the core promised capabilities are simulated rather than actually performed.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
84% confidence
Finding

The skill encourages reviewing git diffs and PRs but does not warn users that repository contents may be processed in ways that expose sensitive source code, secrets, or proprietary logic. In a code-review context, users may reasonably provide confidential code, so omission of a privacy/data-handling warning can lead to unintentional data disclosure.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
98% confidence
Finding

The review command presents itself as analyzing the user-supplied file or directory, but it always emits a hardcoded report unrelated to the target. In a security/code-review skill, this is dangerous because users may trust fabricated findings and miss real vulnerabilities or quality issues in the actual code under review.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The diff command claims to analyze repository changes but only shows git diff --stat and then prints a static issue summary not derived from the diff. This can mislead developers into believing changed code was security-reviewed, creating false assurance and allowing real defects or vulnerabilities in modified files to go unnoticed.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
91% confidence
Finding

The natural-language description forces a specific language/locale for the skill documentation without user opt-in. The file does not indicate that other languages are available or that the Chinese-only presentation is a justified regional constraint.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Low
Category
Not specified by scanner
Confidence
94% confidence
Finding

The manifest states the skill supports PR review and security or bug scanning. But the pr branch performs no PR retrieval, no review logic, and no scanning; it merely states that GitHub integration is not configured and suggests setting GITHUB_TOKEN.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.