T08 · Insecure Dependencies
- Location
SKILL.md:17- Finding
Unpinned Executable Third-Party Dependencies
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 17–18
Vulnerability Type: Unpinned third-party packages and CLI tooling
Risk Level: MediumVulnerable Code
bash pip install bedrock-agentcore bedrock-agentcore-starter-toolkit langgraph uv tool install bedrock-agentcore-starter-toolkit # installs agentcore CLITechnical Analysis
The installation instructions retrieve and install executable Python packages without specifying exact versions or verifying package integrity with cryptographic hashes. The installed artifacts and their transitive dependencies can therefore change after the skill has been reviewed.
This prevents reproducible installation and exposes users to supply-chain threats such as a compromised upstream release, compromised maintainer account, malicious transitive dependency, or dependency-resolution manipulation. Installation hooks and subsequently imported package code may execute with the privileges of the user performing the installation.
The audit found no evidence that the named packages are currently malicious. The vulnerability is the unsafe, unpinned installation process.
Attack Path
- An attacker compromises a named package, one of its transitive dependencies, or the relevant package-publishing account.
- The attacker publishes a malicious release that remains compatible with the unrestricted dependency specifications.
- A user follows the documented
pip installoruv tool installcommand. - The package manager resolves and downloads the attacker-controlled release.
- Malicious installation hooks, CLI code, or imported runtime code executes under the installing user's account.
- The payload may access files and credentials available to that account or manipulate later AWS deployment activity.
Impact Assessment
Successful exploitation can provide code execution with the privileges of the user who installs or runs the packages. The accessible scope may include project files, e ...[truncated 301 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin every direct dependency to an exact, reviewed version.
- Generate and distribute a lock file that also constrains transitive dependencies.
- Require cryptographic hashes during installation, such as with
pip install --require-hashes -r requirements.txt. - Configure an explicit trusted package index or an internally controlled package mirror.
- Install dependencies in a dedicated virtual environment or other isolated environment rather than into a privileged or system-wide interpreter.
- Review package provenance, release signatures where available, maintainers, and transitive dependency changes before updating.
- Test upgrades in a restricted environment before approving and updating the lock file.
- Avoid running package installation commands with administrator or root privileges.
- Use least-privilege AWS credentials when running the installed deployment tooling.
