T08 · Insecure Dependencies
- Location
SKILL.md:266- Finding
Unpinned Third-Party Dependency Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, line 266
Vulnerability Type: Unpinned and unverified third-party dependency
Risk Level: MediumVulnerable Code
bash # Dependency installation pip install azure-ai-transcriptionThe same unpinned installation instruction is repeated in the dependency table at
SKILL.md:339:markdown | azure-ai-transcription | Python SDK | Required | `pip install azure-ai-transcription` |Technical Analysis
The Skill instructs the Agent to install
azure-ai-transcriptionwithout specifying an audited version, verifying package hashes, using a lockfile, or validating the expected publisher and package source. Consequently, the code installed during a Skill invocation may differ from the version evaluated during security review.Python packages can execute code during installation or when imported. If the referenced package, one of its transitive dependencies, or the configured package repository is compromised, the resulting code would execute with the privileges of the Agent process. The risk is amplified because the Skill subsequently expects Azure credentials to be available through environment variables.
This finding does not establish that the named package is malicious. It identifies an unsafe dependency acquisition process that creates a supply-chain attack opportunity.
Attack Path
- An operator or Agent follows the Skill's environment-preparation instructions.
- The Agent executes
pip install azure-ai-transcription. pipresolves the latest package and transitive dependencies from its configured package index because no version or integrity hash is specified.- A compromised release, dependency, or package source supplies attacker-controlled package code.
- That code executes during installation or when the transcription module is imported.
- The malicious code receives the Agent process's filesystem, network, and env ...[truncated 626 chars]
- Remediation
View remediation
Remediation Suggestions
- Verify that the package name and publisher correspond to the intended official Azure SDK before recommending installation.
- Pin the dependency to a specifically audited version, for example through a version-constrained requirements file.
- Generate and enforce cryptographic hashes using a hash-locked requirements file and
pip install --require-hashes. - Pin and review all transitive dependencies rather than only the direct dependency.
- Explicitly use a trusted package index and disable untrusted supplemental indexes to reduce dependency-confusion exposure.
- Install the package in an isolated virtual environment or container with minimal filesystem and network permissions.
- Avoid exposing production Azure credentials during dependency installation. Provide credentials only to the runtime process after installation and validation.
- Add an update-review procedure so dependency upgrades are tested and audited before deployment.
