Back to skill

Security audit

Iterative Code Review

Security checks for vulnerabilities and agentic risk

Overview

This skill is a transparent code-review helper with optional, clearly warned automatic fixes, but users should keep automation off unless they want it to edit code.

Use the default interactive mode for important repositories. Only enable autoFix or autoContinue if you are comfortable with the skill editing code and running multiple review rounds without prompting each time, and prefer project-local build/test binaries or pinned dependencies over npx registry fallback.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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
Findings (1)

T08 · Insecure Dependencies

Warning
Location
references/final-round.md:39
Finding
Unpinned Package Retrieval and Execution Through npx## Vulnerability Details **File Location**: `references/final-round.md:39` **Vulnerability Type**: Unpinned third-party package execution **Risk Level**: Medium **Vulnerable Code Snippet**: ```markdown - TypeScript compilation passes (`npm run build` or `npx tsc --noEmit`) ``` ### Technical Analysis The final-round instructions recommend `npx tsc --noEmit` as a compilation command. When a suitable local executable is unavailable, `npx` may resolve and download a package from the configured npm registry before executing it. The instruction neither pins a trusted package and version nor requires offline execution. Consequently, the effective executable may not be the dependency reviewed or locked by the target project. Registry compromise, dependency confusion, altered registry configuration, or unexpected package resolution could cause attacker-controlled package lifecycle or executable code to run. Requiring user confirmation before compilation reduces accidental invocation but does not mitigate the underlying supply-chain weakness. ### Attack Path 1. The Skill reaches its final full-review stage. 2. It recommends validating TypeScript compilation with `npx tsc --noEmit`. 3. The user approves running the compilation command. 4. No trusted local `tsc` executable is available, or npm resolution is influenced by a malicious registry configuration. 5. `npx` retrieves an uncontrolled or compromised package from the configured registry. 6. Package installation hooks or the resolved executable run with the privileges of the user or agent. 7. The malicious code can access resources available to that process. ### Impact Assessment Successful exploitation provides arbitrary code execution under the account running the review. Within that account's permissions, malicious code could read or modify the reviewed repository, access environment variables and user-readable files, tamper with source code or build artifacts, and ini ...[truncated 141 chars]
Remediation
## Remediation Suggestions 1. Declare TypeScript as an explicit development dependency with an exact or tightly constrained version and commit the package lockfile. 2. Install dependencies only through a controlled, integrity-verified workflow before invoking the Skill. 3. Run the lockfile-resolved local binary, for example: ```bash ./node_modules/.bin/tsc --noEmit ``` 4. Alternatively, prohibit registry fallback: ```bash npm exec --offline -- tsc --noEmit ``` 5. Abort compilation if the trusted local executable is unavailable rather than downloading a package dynamically. 6. Use an approved registry, enforce lockfile integrity, and review dependency lifecycle scripts. 7. Retain the existing requirement for explicit user approval before executing build or test commands.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (10)

Vague Triggers

Medium
Confidence
95% confidence
Finding
The trigger text is broad enough to activate on common requests such as 'review' or generic code-checking phrases, which can cause the skill to run in situations the user did not specifically intend. In this skill, that matters because the workflow can spawn multiple subagents and, if optional automation is enabled, progress toward code modification steps, increasing the chance of unnecessary tool use or unintended actions.

Natural-Language Policy Violations

Medium
Confidence
87% confidence
Finding
Most operational instructions, warnings, and workflow details are written only in Chinese, despite the skill metadata and title being partly in English. There is no natural-language statement offering the user a choice of language or documenting that the skill is intentionally limited to a Chinese-speaking context.

Natural-Language Policy Violations

Medium
Confidence
95% confidence
Finding
The user-facing instructions and warnings are written entirely in Chinese, and the file does not provide an opt-in, alternative language, or a documented reason that the skill is intended only for a Chinese-speaking or region-specific audience. This can violate language/locale policy because it imposes a specific language on users by default.

Natural-Language Policy Violations

Medium
Confidence
93% confidence
Finding
The entire skill guidance, prompts, and user-facing text are written only in Chinese, including control-flow messages and decision prompts. This creates a language/locale restriction without any visible opt-in, alternative language support, or justification that the skill is intended only for a Chinese-speaking or region-specific context.

Natural-Language Policy Violations

Medium
Confidence
90% confidence
Finding
The entire skill guidance is presented in Chinese and includes imperative requirements, but there is no indication that users may choose another language or that the locale restriction is required for a region-specific purpose. The policy explicitly flags language or locale constraints when a specific language is forced without user opt-in.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding
npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Natural-Language Policy Violations

Medium
Confidence
95% confidence
Finding
This markdown file uses Chinese throughout its headings, examples, and user guidance, which can amount to forcing a specific language on users without opt-in. The policy for natural-language violations applies to all file types, and there is no indication here that the skill offers language selection or is intentionally limited to a Chinese-speaking context.

Natural-Language Policy Violations

Medium
Confidence
95% confidence
Finding
The pre-flight instructions are written entirely in Chinese and direct the interaction in Chinese without presenting a language choice to the user. In a code-review skill, this can cause user misunderstanding of safety-relevant prompts, model selection, and review scope, increasing the chance of incorrect consent or skipped checks, though it is not a direct code-execution or data-exfiltration issue.

Natural-Language Policy Violations

Medium
Confidence
95% confidence
Finding
The document title and core workflow instructions are written in Chinese, which imposes a specific language/locale on users without any opt-in or stated regional justification. This matches the policy category for language or locale constraints that are not optional or clearly documented as region-specific.

Natural-Language Policy Violations

Low
Confidence
94% confidence
Finding
This markdown file contains user-facing instructions in Chinese at L003 while the remainder of the checklist is primarily in English. Because the file does not state that it is intended for a Chinese-speaking audience or offer an alternative language, it may violate a language/locale policy requiring user choice or clear justification.

Static analysis

No suspicious patterns detected.