T08 · Insecure Dependencies
- Location
SKILL.md:115- Finding
Unpinned Third-Party Dependencies Permit Supply-Chain Compromise
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 115-119
Vulnerability Type:T08: Insecure Dependencies
Risk Level: MediumVulnerable code:
bash pip install bedrock-agentcore bedrock-agentcore-starter-toolkit langgraph uv tool install bedrock-agentcore-starter-toolkitTechnical Analysis
The installation instructions retrieve executable Python packages from external registries without specifying exact versions, cryptographic hashes, a lockfile, or an explicitly trusted package index. Package installation may execute package-controlled build or installation logic under the privileges of the user running the command.
Because dependency resolution is not reproducible, the code installed during a future invocation may differ from the code available when this skill was audited. A compromised upstream release, malicious transitive dependency, dependency-confusion condition, or unexpected incompatible release could therefore introduce arbitrary executable behavior.
Attack Path
- An attacker compromises an upstream package, its publishing credentials, or one of its unpinned transitive dependencies.
- The attacker publishes a malicious release that satisfies the unrestricted dependency requirement.
- A user follows the documented
pip installoruv tool installinstructions. - The package manager resolves and downloads the attacker-controlled release.
- Malicious package code executes during installation or when the installed CLI or library is subsequently used.
Impact Assessment
Exploitation could execute arbitrary code with the privileges of the account performing installation or running the installed tools. Depending on that account's environment, the compromised package could access local files, environment variables, API keys, AWS credentials, source repositories, CI/CD credentials, or cloud deployment permissions. The affected scope includes the developer workstation, ...[truncated 71 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin every direct dependency to a reviewed, exact version.
- Generate and commit a lockfile that also fixes transitive dependency versions.
- Require cryptographic package hashes where the package manager supports them.
- Configure an explicitly trusted package index or an internally controlled artifact repository.
- Run dependency vulnerability, provenance, and license scanning in CI.
- Review and test dependency updates before modifying the lockfile.
- Perform package installation in an isolated, least-privileged environment without production credentials.
- Prefer reproducible deployment artifacts rather than resolving unrestricted dependencies during production deployment.
