Back to skill

Security audit

AI Code Review

Security checks for vulnerabilities and agentic risk

Overview

This is a legitimate code-review skill, but it can tell an agent to automatically commit and push CI fixes with broad staging, so it should be reviewed before installation.

Install only if you want a code-review assistant that may also help repair your own PR CI failures. Before using it with write-capable GitHub credentials, require the agent to ask before edits, stage explicit files only, show git status and staged diff, check for secrets, and confirm the remote and branch before any push.

Vulnerability Patterns
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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)

T09 · Insecure Skill Coding Practices

Warning
Location
SKILL.md:103
Finding

Overbroad staging and remote publication of repository changes

Content
View full analysis

Vulnerability Details

File Location: SKILL.md:103-106
Vulnerability Type: Overbroad Git staging followed by a remote push
Risk Level: Medium

bash
git add .
git commit -m "fix: resolve CI failures"
git push

Technical Analysis

When repairing CI failures on a pull request owned by the user, the Skill instructs the Agent to stage the entire working tree with git add ., create a commit, and push it to the configured remote repository.

git add . does not limit the commit to files intentionally changed during the repair. It can stage unrelated modifications and untracked files beneath the current working directory, including local configuration, unfinished work, generated artifacts, or files containing credentials. The workflow does not require the Agent to:

  • Stage only the files modified for the repair.
  • Inspect the staged diff before committing.
  • Scan the staged content for secrets.
  • Verify the destination remote and branch.
  • Obtain explicit user approval before publishing the commit.

The subsequent git push crosses a local-to-remote trust boundary. This exceeds the minimum permissions necessary for code review, which ordinarily requires only read access. Even when automated repair is requested, unrestricted staging and publication grant broader write and network capabilities than necessary.

Attack Path

  1. A repository working tree contains an unrelated modified or untracked file, such as a local configuration file with credentials.
  2. The Skill identifies a CI failure in a pull request treated as belonging to the user.
  3. The Agent edits one or more files to repair the CI failure.
  4. The Agent follows the documented git add . instruction, staging both the intended repair and unrelated files.
  5. The Agent commits the complete staged set without a mandatory staged-diff or secret review.
  6. The Agent runs git push, publishing all committed content to the configured re ...[truncated 948 chars]
Remediation
View remediation

Remediation Suggestions

  1. Replace git add . with explicit staging of only the files intentionally modified for the repair:

    bash
    git add -- path/to/modified-file
    
  2. Require inspection of both unstaged and staged changes before committing:

    bash
    git status --short
    git diff
    git diff --cached
    
  3. Run an approved secret scanner against the staged content and stop if credentials or sensitive files are detected.

  4. Verify the destination before any publication:

    bash
    git remote -v
    git branch --show-current
    
  5. Require explicit user confirmation before creating a commit or running git push. Code review should default to reporting findings or producing a local patch rather than modifying the remote repository.

  6. If automated modification was expressly requested, use a narrowly scoped workflow:

    • Record the initial working-tree state.
    • Modify only approved files.
    • Stage explicit paths.
    • display the staged diff to the user.
    • Commit only after approval.
    • Push only to an approved remote and branch.
  7. Document recovery procedures for accidental disclosure, including immediate credential revocation, secret rotation, removal from the current tree, and Git-history remediation where appropriate.

Vulnerability Patterns
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (6)

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The activation phrases are very broad (レビューして, コードをチェック, 品質を確認) and overlap with common user requests, so this skill may trigger in situations where the user did not intend to invoke its full workflow. Because the skill includes CLI-based repository and PR inspection steps, over-broad triggering increases the risk of unnecessary tool use, unintended data access, and execution of higher-impact actions.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
84% confidence
Finding

The natural-language description is entirely in Japanese and presents the skill behavior and invocation examples only in that language, with no indication that the user can choose another language. Under the stated policy, locale or language constraints should be optional or explicitly justified rather than implicitly enforced.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill is framed as a code review tool, but these instructions expand its behavior from analysis into making repository changes and pushing commits when CI fails on the author's PR. That creates a scope escalation risk: a user asking for review could trigger code modification and outbound actions, increasing the chance of unintended changes or abuse if the agent has repository write access.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

This markdown file presents the skill content entirely in Japanese, starting with the descriptive text on L003, without indicating that the language is optional or user-selectable. Under the policy, forcing a specific language without user opt-in is a natural-language locale violation.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The document content is presented in Japanese from the outset, and there is no indication that users may choose another language or that the Japanese-only requirement is justified by a region-specific purpose. This is a natural-language locale policy issue because it imposes a language constraint without opt-in.

Content

No source excerpt is available for this finding.

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.

Content

No source excerpt is available for this finding.

Static analysis

Detected: suspicious.exposed_secret_literal

File appears to expose a hardcoded API secret or token.

Critical
Code
suspicious.exposed_secret_literal
Location
reference.md:418