T08 · Insecure Dependencies
- Location
SKILL.md:11- Finding
Unpinned Third-Party Dependencies
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 11–13
Vulnerability Type: Unpinned executable dependencies
Risk Level: Mediumbash ## Install pip install bedrock-agentcore bedrock-agentcore-starter-toolkit langgraph uv tool install bedrock-agentcore-starter-toolkit # installs agentcore CLITechnical Analysis
The installation instructions do not pin package versions or verify package integrity with cryptographic hashes. Consequently, package managers resolve and install whichever versions of these packages and their transitive dependencies are available at installation time.
Python package installation may execute package build hooks and other installer-controlled code. If a named package, one of its transitive dependencies, or the configured package index is compromised, following these instructions could execute attacker-controlled code. The unpinned dependencies also make builds non-reproducible and allow future upstream changes to alter the reviewed behavior without changes to this project.
No evidence indicates that the currently named packages are malicious. The finding concerns the unsafe dependency acquisition method.
Attack Path
- An attacker compromises a named package, a transitive dependency, its publisher account, or the package index used by the victim.
- The attacker publishes a malicious release that satisfies unrestricted dependency resolution.
- A user follows the documented
pip installoruv tool installcommand. - The package manager downloads the attacker-controlled release.
- Malicious installation hooks or runtime code execute with the privileges of the installing user.
- If that user has AWS credentials or an active AWS profile, the malicious code may access resources permitted by those credentials.
Impact Assessment
Successful exploitation could provide code execution with the installing user's local privileges. The affected scope may in ...[truncated 328 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin every direct dependency to a reviewed, exact version rather than allowing unrestricted resolution.
- Generate and commit a lockfile that records reviewed transitive dependency versions.
- Verify downloaded artifacts with cryptographic hashes, using mechanisms such as
pip --require-hasheswhere practical. - Explicitly document and enforce trusted package indexes; disable unneeded fallback or extra indexes to reduce dependency-confusion exposure.
- Install packages in an isolated virtual environment or container under a non-privileged account.
- Perform dependency vulnerability and provenance scanning in CI before approving lockfile updates.
- Review release notes and package ownership changes before upgrading.
- Avoid exposing unnecessary AWS credentials during dependency installation, and use least-privilege IAM roles for later deployment operations.
