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
Content
- .php → references/php.md
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Ae1

High
Category
analysis-evasion
Content
- .php → references/php.md
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Credential Access

High
Category
Privilege Escalation
Content
- 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

---
Confidence
60% confidence
Finding
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Tool Parameter Abuse

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

✅ Bien:
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).

Tool Parameter Abuse

High
Category
Tool Misuse
Content
❌ 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)
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).

Unvalidated Output Injection

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

✅ SIEMPRE sanitizar:
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.

Unvalidated Output Injection

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

✅ SIEMPRE sanitizar:
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.

Natural-Language Policy Violations

Medium
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.

Natural-Language Policy Violations

Medium
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.

Natural-Language Policy Violations

Medium
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.

Natural-Language Policy Violations

Medium
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.

Natural-Language Policy Violations

Medium
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.

Natural-Language Policy Violations

Medium
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.

Natural-Language Policy Violations

Medium
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.

Natural-Language Policy Violations

Medium
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.

Natural-Language Policy Violations

Medium
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.

Natural-Language Policy Violations

Low
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.

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