Back to skill

Security audit

PR Code Reviewer

Security checks for vulnerabilities and agentic risk

Overview

This is a Spanish-language code review prompt pack with static review rules and templates, and I found no hidden execution, persistence, credential access, or data exfiltration behavior.

Install this skill if you want a Spanish-language AI reviewer that produces structured PR feedback. Review or customize the team-conventions file before use, especially output language, severity thresholds, and project-specific rules. The unsafe code snippets are examples for reviewers to catch, not code that the skill executes.

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
Vulnerability Patterns
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Output HandlingUnvalidated Output Injection, Cross-Context Output, Unbounded Output
  • Tool MisuseTool Parameter Abuse, Chaining Abuse, Unsafe Defaults
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
Findings (17)

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 49)May include surrounding context.

md
- .php → references/php.md

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 95)May include surrounding context.

md
- .php → references/php.md

Credential Access

High
Category
Privilege Escalation
Confidence
60% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · references/general.md (reported line 36)May include surrounding context.

md
- API keys, tokens, secrets en el código fuente
- URLs de bases de datos con credenciales embebidas
- Cualquier string que parezca un secret o credencial
- Archivos .env commiteados al repositorio

---

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
80% confidence
Finding

Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Content

Scanner excerpt · references/python.md (reported line 31)May include surrounding context.

md
❌ Mal:
  os.system(f"ping {host}")
  subprocess.run(f"ls {directory}", shell=True)
  subprocess.call("cat " + filename, shell=True)

✅ Bien:

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
80% confidence
Finding

Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Content

Scanner excerpt · references/python.md (reported line 32)May include surrounding context.

md
❌ Mal:
  os.system(f"ping {host}")
  subprocess.run(f"ls {directory}", shell=True)
  subprocess.call("cat " + filename, shell=True)

✅ Bien:
  subprocess.run(["ping", "-c", "4", host], shell=False)

Unvalidated Output Injection

High
Category
Output Handling
Confidence
65% confidence
Finding

Model output is used without validation or sanitization. Unvalidated output injected into downstream contexts (SQL, shell, HTML) enables injection attacks and arbitrary code execution.

Content

Scanner excerpt · references/security.md (reported line 54)May include surrounding context.

md
JavaScript: element.innerHTML = userInput;
  JavaScript: document.write(userInput);
  React: dangerouslySetInnerHTML={{__html: userComment}}
  PHP: echo $_GET['name'];

✅ SIEMPRE sanitizar:

Unvalidated Output Injection

High
Category
Output Handling
Confidence
65% confidence
Finding

Model output is used without validation or sanitization. Unvalidated output injected into downstream contexts (SQL, shell, HTML) enables injection attacks and arbitrary code execution.

Content

Scanner excerpt · references/security.md (reported line 61)May include surrounding context.

md
JavaScript: element.innerHTML = userInput;
  JavaScript: document.write(userInput);
  React: dangerouslySetInnerHTML={{__html: userComment}}
  PHP: echo $_GET['name'];

✅ SIEMPRE sanitizar:

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The README describes the skill entirely in Spanish and frames it as the default operating mode for the AI reviewer, including team customization guidance that assumes this language context. Because there is no explicit user choice or documented locale constraint, this creates a natural-language policy concern around forcing a specific language without opt-in.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The instructions and role definition are written as direct behavioral guidance in Spanish and frame the skill as a Spanish-speaking reviewer, while line 56 requires always using an exact response format. There is no indication that the user may choose another language or that the locale restriction is justified, which creates a language-policy concern.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The file title and instructions are written as a prescriptive Spanish review-comment template (e.g. 'Usa este template para cada comentario individual en un code review'), which effectively imposes a specific language for generated review comments. There is no indication that users may choose another language or that the Spanish-only constraint is justified by a documented region-specific requirement.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

This markdown skill file presents all instructions, examples, and requirements exclusively in Spanish. Under the policy rule for natural-language violations, forcing a specific language without user opt-in or a documented justification is a reportable issue.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

This markdown file presents the skill guidance entirely in Spanish and states the rules apply universally to all languages and files, but it does not offer users a language/locale choice or explain a justified regional constraint. Under the policy, forcing a specific language without opt-in is a natural-language policy violation.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

This markdown file contains natural-language instructions exclusively in Spanish, starting with the title and continuing throughout the entire document. Because the file does not offer an opt-in language choice or explain that the skill is intended for a Spanish-speaking or region-specific context, it may violate language or locale policy requirements.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

This markdown file contains all instructional content in Spanish, but it does not state that the skill is limited to Spanish-speaking users or provide any user opt-in for language selection. Under the policy, forcing a specific language without user choice is a natural-language policy violation unless the locale restriction is clearly documented and justified.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The title and content are entirely in Spanish, beginning with "Reglas Python" and stating applicability to .py files, but there is no indication that Spanish is optional or required for a region-specific purpose. 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
96% confidence
Finding

This markdown file presents all operational guidance in Spanish and states that the rules apply to all languages, but it does not provide any opt-in, alternative language, or justification for enforcing a specific language/locale. That creates a natural-language policy concern under the language/locale rule because the skill effectively forces one language by default.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
91% confidence
Finding

This markdown template is primarily written in Spanish, but it hard-codes the output heading as "Code Review Summary" in English. That imposes a specific language in generated output without any stated user opt-in or documented locale requirement.

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
references/python.md:83