Back to skill

Security audit

Code Review Auditor

Security checks for vulnerabilities and agentic risk

Overview

This code-review skill is coherent and disclosed: it reads a repository, writes local review reports, and only allows source-code changes after user approval or an implementation request.

Before installing, expect this skill to create local review files under review/<timestamp>/ in the project it reviews. Treat those files like generated artifacts: inspect them before committing, and only use fix/refactor modes when you are comfortable with source-code changes after the required plan or explicit request.

Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Rogue AgentSelf-Modification, Session Persistence
  • Behavioral ASTexec() Call, eval() Call, Dynamic Import
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
Findings (11)

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding
The description promises analysis without changing code, but the skill mandates creating directories and files inside the target project on every run. This behavior mismatch can mislead users and higher-level policy systems into granting trust to a skill that performs write actions, enabling unexpected repository modification and reducing informed consent.

Description-Behavior Mismatch

High
Confidence
97% confidence
Finding
The skill metadata says analysis should occur without changing code, but the documented `fix` and `refactor` workflows explicitly allow creating `refactoring-plan.md` and later implementing changes after approval. That mismatch creates a capability-boundary violation: an agent or orchestrator relying on the description may invoke this skill expecting read-only behavior, while the workflow text authorizes write actions, increasing the risk of unintended repository modification or policy bypass.

Session Persistence

Medium
Category
Rogue Agent
Content
```

```text
Use $code-review-auditor to create a refactoring plan for the hotspots, but do not change code yet.
```

## Installation
Confidence
60% confidence
Finding
Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.

Lp3

Medium
Category
MCP Least Privilege
Confidence
92% confidence
Finding
The skill requires filesystem writes and suggests shell usage, but the manifest declares no explicit tool scope such as allowed-tools or permissions. That creates an authorization ambiguity where the skill appears broader and less constrained than its metadata indicates, increasing the chance of unintended file modification or command execution in a repository context.

Description-Behavior Mismatch

Medium
Confidence
95% confidence
Finding
The manifest frames the skill as non-modifying analysis, yet the instructions require writing review artifacts into the target repository every time. In a security-sensitive or CI-managed codebase, even non-code file creation can pollute working trees, interfere with automation, or cause accidental inclusion of generated review data in commits.

Intent-Code Divergence

Medium
Confidence
95% confidence
Finding
The skill states that analysis modes never edit files, but later requires writing review files as part of every execution. This internal contradiction makes the operational boundary unclear and can cause users or orchestrators to rely on a false read-only guarantee while the skill still performs filesystem mutations.

Missing User Warnings

Medium
Confidence
96% confidence
Finding
The skill requires writing review artifacts into the project on every execution without a clear user-facing warning that local files will be created. Unexpected writes in the project directory can alter repository state, break clean-worktree assumptions, and create privacy or workflow issues if generated files contain sensitive review details.

subprocess module call

Medium
Category
Dangerous Code Execution
Content
def git_value(root: Path, *args: str) -> str:
    try:
        result = subprocess.run(
            ["git", *args],
            cwd=root,
            check=True,
Confidence
70% confidence
Finding
subprocess module calls execute external commands. Without careful input validation, this enables command injection.

Unbounded Resource Access

Medium
Category
Excessive Agency
Content
## Performance

- Look for missing or unused indexes, non-sargable predicates, full scans, sort/hash pressure, N+1 access, unbounded queries, and excessive joins.
- Check pagination strategy, batch size, connection pool settings, lock duration, and migration impact on large tables.

## Architecture
Confidence
80% confidence
Finding
Skill allows unbounded resource consumption (API calls, storage, compute). Without rate limits or quotas, a compromised or misbehaving agent can cause denial-of-service or cost overruns.

Unbounded Resource Access

Medium
Category
Excessive Agency
Content
## Performance

- Look for missing or unused indexes, non-sargable predicates, full scans, sort/hash pressure, N+1 access, unbounded queries, and excessive joins.
- Check pagination strategy, batch size, connection pool settings, lock duration, and migration impact on large tables.

## Architecture
Confidence
80% confidence
Finding
Skill allows unbounded resource consumption (API calls, storage, compute). Without rate limits or quotas, a compromised or misbehaving agent can cause denial-of-service or cost overruns.

Missing User Warnings

Low
Confidence
88% confidence
Finding
This markdown file states that every run creates files and directories inside the reviewed project, which is a user-impacting filesystem write. Although the behavior is described, it is not framed as a warning or caution about modifying the workspace, so users may not recognize it as a side effect requiring awareness.

Static analysis

No suspicious patterns detected.