Back to skill

Security audit

rez-package-definition

Security checks for vulnerabilities and agentic risk

Overview

This skill is documentation for writing Rez package definitions and does not contain hidden execution, persistence, or data-exfiltration behavior.

Install only if you want Rez package.py authoring guidance. Treat the subprocess example as illustrative and prefer safer subprocess argument lists in real packages, especially if any command input could become dynamic.

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
  • Tool MisuseTool Parameter Abuse, Chaining Abuse, Unsafe Defaults
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (2)

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
89% confidence
Finding

This duplicate finding points to the same shell-based subprocess usage. The code is not directly malicious, but it demonstrates an unsafe invocation style that can become dangerous when reused or adapted, especially because shell metacharacter parsing is enabled by shell=True. Since this skill is instructional content for writing package definitions, unsafe examples are more dangerous than isolated application code because they can propagate insecure patterns across many package files.

Content

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

md
@early()
def authors():
    import subprocess
    p = subprocess.Popen("git shortlog -sn | cut -f2",
                         shell=True, stdout=subprocess.PIPE)
    out, _ = p.communicate()
    return out.strip().split("\n")

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
89% confidence
Finding

This duplicate finding points to the same shell-based subprocess usage. The code is not directly malicious, but it demonstrates an unsafe invocation style that can become dangerous when reused or adapted, especially because shell metacharacter parsing is enabled by shell=True. Since this skill is instructional content for writing package definitions, unsafe examples are more dangerous than isolated application code because they can propagate insecure patterns across many package files.

Content

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

md
@early()
def authors():
    import subprocess
    p = subprocess.Popen("git shortlog -sn | cut -f2",
                         shell=True, stdout=subprocess.PIPE)
    out, _ = p.communicate()
    return out.strip().split("\n")

Static analysis

No suspicious patterns detected.