Most static alerts are false positives from Markdown, test fixtures, locale handling, fixed argv subprocess calls, and readable multilingual files. Confirmed risks include mutable remote fetches, out-of-repository scanning, persistent agent configuration changes, and a destructive repository-wide rollback directive. The skill also claims blanket authority for broad consumer edits, which is a high-confidence prompt injection risk.
SKILL.md states, "AI knows it's authorized to fix all consumers" and says, "Do not ask the user per-consumer." This converts one acceptance into blanket authority for broad edits.
The text explicitly claims expanded authorization and suppresses per-consumer confirmation. The directive is clear and directly affects agent edit scope.
Capability review items (12)
These are real local capabilities that may be expected for this skill, so they require review but are not counted as confirmed malicious behavior.
for rel in ("../frontend", "../web", "../../frontend",
The analyzer deliberately searches ../frontend, ../web, and ../../frontend, crossing the selected repository boundary. This can read source from sibling directories without separate scope approval.
The skill explicitly directs the agent to run git checkout -- . when the user rejects a proposal. That command discards all tracked working-tree changes, including unrelated work.
FRONTEND_ROOT accepts path lists, including absolute paths, and those locations are recursively searched. A configured value can expand file access beyond the audited project.
The installer targets .claude/settings.local.json, a hidden agent configuration file, to register a persistent executable hook. The behavior is disclosed but remains security-sensitive.
with open(config_file, 'w', encoding='utf-8') as f:
The installer rewrites an existing agent settings file after adding a PreToolUse command. This persistent configuration change can affect later tool execution.
The fetch metadata automatically retrieves a companion file from the mutable main branch without a commit pin or integrity hash. Upstream changes therefore enter the skill trust boundary.
The fetch metadata automatically retrieves a companion file from the mutable main branch without a commit pin or integrity hash. Upstream changes therefore enter the skill trust boundary.
The fetch metadata automatically retrieves a companion file from the mutable main branch without a commit pin or integrity hash. Upstream changes therefore enter the skill trust boundary.
The fetch metadata automatically retrieves a companion file from the mutable main branch without a commit pin or integrity hash. Upstream changes therefore enter the skill trust boundary.
The fetch metadata automatically retrieves a companion file from the mutable main branch without a commit pin or integrity hash. Upstream changes therefore enter the skill trust boundary.
The fetch metadata automatically retrieves a companion file from the mutable main branch without a commit pin or integrity hash. Upstream changes therefore enter the skill trust boundary.
The fetch metadata automatically retrieves a companion file from the mutable main branch without a commit pin or integrity hash. Upstream changes therefore enter the skill trust boundary.
Most static alerts are false positives from Markdown backticks, test fixtures, locale access, and fixed-argument local commands. Confirmed risks include mutable automatic downloads, Git option injection, out-of-repository scans, persistent hook writes, report overwrites, destructive rollback, and overbroad autonomous-edit instructions. These issues require remediation before unrestricted publication.
The skill states, "AI knows it's authorized to fix all consumers," and, "Do not ask the user per-consumer." This expands one approval into broad repository modification authority.
The cited section explicitly grants broad scope and suppresses further confirmation. The language directly changes the agent's authorization behavior.
The analyzer writes conflict-report.md to the project root without checking whether the file already exists. Repeated runs can replace unrelated user content.
Both locations use a fixed filename and direct write operations with no existence check, backup, or alternate output path.
Capability review items (14)
These are real local capabilities that may be expected for this skill, so they require review but are not counted as confirmed malicious behavior.
The --since value reaches git diff before a path separator and is not validated as a revision. A value shaped like a Git option can change command behavior.
The skill directs the agent to run git checkout -- . when the user chooses Reject. This discards all tracked working-tree changes, including unrelated work.
with open(config_file, 'w', encoding='utf-8') as f:
The installer rewrites settings.local.json to register a future command hook. Existing settings are parsed and preserved, but the persistent configuration change is security relevant.
The fetch frontmatter downloads mutable analysis rules without a commit pin or integrity check. Altered rules can change reported impact and agent decisions.
Most static alerts are false positives from Markdown backticks, test fixtures, locale access, and fixed-argument local commands. Confirmed risks include mutable automatic downloads, Git option injection, out-of-repository scans, persistent hook writes, report overwrites, destructive rollback, and overbroad autonomous-edit instructions. These issues require remediation before unrestricted publication.
The skill states, "AI knows it's authorized to fix all consumers," and, "Do not ask the user per-consumer." This expands one approval into broad repository modification authority.
The cited section explicitly grants broad scope and suppresses further confirmation. The language directly changes the agent's authorization behavior.
The analyzer writes conflict-report.md to the project root without checking whether the file already exists. Repeated runs can replace unrelated user content.
Both locations use a fixed filename and direct write operations with no existence check, backup, or alternate output path.
Capability review items (14)
These are real local capabilities that may be expected for this skill, so they require review but are not counted as confirmed malicious behavior.
The --since value reaches git diff before a path separator and is not validated as a revision. A value shaped like a Git option can change command behavior.
The skill directs the agent to run git checkout -- . when the user chooses Reject. This discards all tracked working-tree changes, including unrelated work.
with open(config_file, 'w', encoding='utf-8') as f:
The installer rewrites settings.local.json to register a future command hook. Existing settings are parsed and preserved, but the persistent configuration change is security relevant.
The fetch frontmatter downloads mutable analysis rules without a commit pin or integrity check. Altered rules can change reported impact and agent decisions.
| **Scope authorization** | AI may hesitate: "Did user really want me to touch OrderService?" | AI k
The line says the assistant knows it is authorized to fix all consumers. The static category is inaccurate, but the text creates an overbroad authorization risk.
The skill fetches executable helper scripts from GitHub raw URLs on the main branch. Mutable remote script loading can change behavior after marketplace review.
The fetch frontmatter explicitly lists raw GitHub URLs for Python and shell helper files, and the prose says they download automatically. I found no hash or immutable commit pin in those lines.
The optional installer writes a Claude Code PreToolUse hook that intercepts git commit and runs the guard script. This persists behavior in a hidden project configuration file.
The skill instructions and installer both state that a PreToolUse hook is added for git commit, and the script writes that hook into settings.local.json.
The post-guard decision table tells the assistant to run git checkout -- . when a user rejects a change. That can discard unrelated working tree changes without per-file review.
The exact rollback command appears in the reject path, and the next line says the assistant should autonomously execute actions after the user chooses an option.
The skill tells the assistant to automatically fix all impacted consumer sites and not ask per consumer. This can authorize broad edits beyond the original requested files.
The instructions repeatedly say the assistant must fix all impacted consumers automatically, including a statement not to ask the user per consumer.
Capability review items (22)
These are real local capabilities that may be expected for this skill, so they require review but are not counted as confirmed malicious behavior.
for rel in ("../frontend", "../web", "../../frontend",
The fallback frontend search includes parent and sibling paths such as ../frontend and ../../frontend. This is useful for monorepos, but it can read outside the current project scope.
The line recommends git checkout -- . to discard changes after a reject decision. That command can erase unrelated working tree changes, so it is a real destructive-action risk.
After the user accepts a change (whether via the Post-Guard protocol or in normal conversation), the
The line requires the assistant to automatically fix all impacted consumer sites after acceptance. This authorizes broad edits beyond the original file set and can exceed user intent.
Intercepts `git commit` via Claude Code PreToolUse hook.
The executable script is intended to intercept git commit through a Claude Code hook. This is not Ruby backtick execution, but the hook behavior itself is real.
# .claude/settings.local.json that intercepts `git commit` and runs
The installer is designed to add a hook that intercepts git commit. The line is a comment, but it accurately describes persistent command interception implemented later in the script.
The installer targets the hidden .claude directory in the current project. Writing hidden assistant configuration is intentional but security relevant.
with open(config_file, 'w', encoding='utf-8') as f:
The inline Python writes settings.local.json to add a PreToolUse hook. This persists behavior in project configuration and should require clear confirmation.
The line tells the assistant that companion files download automatically through fetch. Static labeled the Markdown backticks, but the remote auto-fetch behavior is a real supply-chain concern.
The Chinese duplicate reiterates automatic companion file download through fetch. The behavior is real even though the static pattern is Markdown backtick noise.
The line instructs users not to manually download because fetch handles companion files. This confirms dependence on automatic remote retrieval, which should be pinned or verified.
This registers a `PreToolUse` hook (via `.claude/settings.local.json`) that intercepts `git commit`
The line states that the skill registers a PreToolUse hook in .claude/settings.local.json to intercept git commit. Persistent command interception is a real marketplace security concern.
When `commit_guard.py` blocks a commit (P0 detected), the AI MUST automatically engage the user in a
The line tells the assistant to proactively re-engage after commit blocking. It is part of the guard workflow and increases autonomous behavior around repository changes.
The Chinese duplicate tells the assistant to automatically start a decision loop after a blocked commit. This is not shell execution, but it confirms autonomous guard behavior.
The fetch frontmatter downloads an executable helper script from a GitHub raw URL on the main branch. This is legitimate packaging, but it is an unpinned remote code supply-chain surface.
The fetch frontmatter downloads an executable helper script from a GitHub raw URL on the main branch. This is legitimate packaging, but it is an unpinned remote code supply-chain surface.
The fetch frontmatter downloads the report generator from a GitHub raw URL on the main branch. This is a real supply-chain risk because the fetched code is not pinned by immutable hash.
The fetch frontmatter downloads a helper module from a GitHub raw URL on the main branch. It is expected for this skill, but the remote source is mutable.
The fetch frontmatter downloads the commit guard script from a GitHub raw URL on the main branch. Because this script can run as a hook, mutable remote retrieval is a real risk.
The fetch frontmatter downloads the hook installer from a GitHub raw URL on the main branch. The installer changes local Claude settings, so unpinned retrieval is security relevant.
The fetch frontmatter downloads the reference library from a GitHub raw URL on the main branch. This is lower risk than code, but it still lets mutable remote prose affect analysis behavior.