Back to skill

Security audit

Rtk Compressor

Security checks for vulnerabilities and agentic risk

Overview

This skill is a small, coherent RTK Compressor helper, but users should treat its external PyPI install as normal third-party code rather than fully reviewed skill code.

Install only if you are comfortable running the rtk-compressor package from PyPI. Prefer a virtual environment, avoid sudo/admin installation, and pin or verify the package version when using it in sensitive workflows. Be aware that the docs are Chinese-first and contain a command-name inconsistency between rtk-compressor and rtk-compress.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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)

T08 · Insecure Dependencies

Warning
Location
README.md:17
Finding
Unpinned Third-Party Package Installation<![CDATA[ ## Vulnerability Details **File Location**: `README.md:17-19`; duplicated in `SKILL.md:32-34` **Vulnerability Type**: Unpinned and unverifiable third-party dependency **Risk Level**: Medium ### Vulnerable Code `README.md:17-19`: ```bash pip install rtk-compressor ``` `SKILL.md:32-34`: ```bash pip install rtk-compressor ``` ### Technical Analysis The installation instructions retrieve the latest available `rtk-compressor` release from PyPI without pinning an exact version or verifying package hashes. The audited artifact contains only documentation and metadata; it does not include the package implementation needed to verify the installed code's behavior. Consequently, the effective code installed by users can change after this skill artifact has been reviewed. Python package installation can execute package-controlled build or installation logic, and the installed application subsequently processes potentially sensitive command output and file contents. This finding does not establish that the current PyPI package is malicious. The security issue is that the instructions establish no reproducible or integrity-verified dependency boundary. ### Attack Path 1. An attacker compromises the package publisher account, package repository, build pipeline, or another relevant distribution component. 2. The attacker publishes a malicious or compromised release under the expected package name. 3. A user follows the documented `pip install rtk-compressor` instruction. 4. `pip` resolves and downloads the mutable package release without checking a project-supplied version constraint or cryptographic hash. 5. Package-controlled code executes during installation, import, or later CLI use with the privileges of the installing user. 6. The malicious code can access data available to that user, including command output or files passed to the compressor. ### Impact Assessment Successful supply-chain compromise could result in arbitrary code execution with the ...[truncated 506 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. Pin the dependency to a specifically reviewed version, for example: ```bash python3 -m pip install "rtk-compressor==<reviewed-version>" ``` 2. Publish cryptographic hashes for the approved distribution artifacts and use a hash-locked requirements file: ```text rtk-compressor==<reviewed-version> \ --hash=sha256:<verified-wheel-hash> ``` Install it with: ```bash python3 -m pip install --require-hashes -r requirements.txt ``` 3. Include the skill's implementation or a verifiable source reference in the artifact so auditors can review the code users will execute. 4. Document the authoritative source repository, expected PyPI publisher, release-signing process, and procedure for verifying downloaded artifacts. 5. Recommend installation in an isolated virtual environment under a non-privileged account. Explicitly warn users not to run the installation with `sudo` or unnecessary administrative privileges. 6. Keep the installation and executable names consistent. `SKILL.md` references `rtk-compressor`, while `README.md` references `rtk-compress`; verify and document the legitimate executable name to reduce confusion and accidental invocation of an unrelated local command. ]]>
Vulnerability Patterns
  • 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
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (2)

Natural-Language Policy Violations

Medium
Confidence
95% confidence
Finding
The skill README is written entirely in Chinese, including usage guidance, with no indication that users may choose another language or that the skill is intentionally limited to a Chinese-speaking audience. Under the language/locale policy, presenting the skill in a single forced language without opt-in is a natural-language policy concern.

Natural-Language Policy Violations

Medium
Confidence
95% confidence
Finding
The primary descriptive text is presented in Chinese with no indication that users can choose another language or that the skill is intended only for a Chinese-speaking context. This can violate language/locale policy when a skill imposes a specific language without opt-in or documented justification.

Static analysis

No suspicious patterns detected.