Back to skill

Security audit

yandex-tracker

Security checks for vulnerabilities and agentic risk

Overview

This skill is a clearly scoped Yandex Tracker integration, with sensitive actions disclosed and tied to user authorization.

Install this only in an environment where you are comfortable letting the agent use a Yandex Tracker token. Use a least-privilege token, avoid broad admin scopes, confirm issue sets before bulk changes, and pin or review the Python dependency before installation when possible.

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
SKILL.md:14
Finding
Unpinned Third-Party Python Dependency<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md:14-17`; `README.md:20-23` **Vulnerability Type**: Unpinned package dependency and supply-chain exposure **Risk Level**: Medium ### Vulnerable Code `SKILL.md:14-17`: ```yaml - id: pip-yandex-tracker-client kind: pip package: yandex_tracker_client label: Install yandex_tracker_client (pip) provenance: https://pypi.org/project/yandex-tracker-client/ ``` `README.md:20-23`: ```markdown Install [`yandex_tracker_client`](https://pypi.org/project/yandex-tracker-client/) when the runtime does not manage dependencies automatically: ```bash python -m pip install yandex_tracker_client ``` ``` ### Technical Analysis The dependency is installed from PyPI without an exact version constraint or package integrity hash. Consequently, installation resolves whichever release is current at execution time rather than the version reviewed with this skill. The declared package name and source are consistent with the skill's documented purpose, and no evidence shows that the dependency is currently malicious. Nevertheless, the unpinned installation creates a supply-chain trust boundary: a compromised maintainer account, package repository, release process, or newly published unsafe version could change the code executed by the skill after this project has been audited. Python package installation may execute build-related code, while subsequent import and use of the installed library executes package code in the agent process. ### Attack Path 1. An attacker compromises the `yandex_tracker_client` release channel, maintainer account, or upstream package source. 2. The attacker publishes a malicious or backdoored release under the legitimate package name. 3. A runtime follows the documented unversioned installation command. 4. `pip` resolves and installs the attacker-controlled latest release. 5. Malicious code executes during package build, installation, import, or API client use. 6. The code inherits th ...[truncated 980 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. Pin the dependency to an explicitly reviewed version in both installation locations, for example: ```yaml package: yandex_tracker_client==<reviewed-version> ``` ```bash python -m pip install "yandex_tracker_client==<reviewed-version>" ``` 2. Use a lock file or requirements file containing cryptographic hashes, and install with hash verification: ```bash python -m pip install --require-hashes -r requirements.txt ``` 3. Generate hashes from trusted release artifacts and verify the package's publisher, repository, and release provenance before approving upgrades. 4. Perform dependency updates through an explicit review process rather than automatically tracking the latest release. 5. Run package installation and Tracker operations in an isolated, least-privilege environment with restricted filesystem and network access. 6. Continue using a least-privilege Tracker token so a dependency compromise cannot exceed the permissions required for the requested operation. 7. Keep the dependency declaration in `SKILL.md`, installation command in `README.md`, and any lock or requirements file synchronized. ]]>
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

Static analysis

No suspicious patterns detected.