T08 · Insecure Dependencies
- Location
SKILL.md:24- Finding
Unpinned Third-Party Package and Dynamic Bundle Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 24–26
Vulnerability Type: Supply-chain risk from unpinned third-party dependencies and dynamically selected bundles
Risk Level: MediumVulnerable Code
bash pip install langskills-rai # Install matching bundles for the current project or pick a domain: langskills-rai bundle-install --autoTechnical Analysis
The installation command does not constrain
langskills-raito a reviewed version or verify its integrity with a cryptographic hash. Package resolution can therefore retrieve a newer or compromised release whose behavior differs from the version originally reviewed.The subsequent
bundle-install --autocommand dynamically selects and installs external bundles based on the current project. The Skill does not specify trusted bundle repositories, fixed bundle versions, checksums, signatures, or a manual review step. Because the package and bundles are absent from this repository, their implementation and runtime behavior cannot be audited from the supplied artifact.Python package installation may execute package-controlled build or installation logic. Later CLI execution also runs code supplied by the installed package and its dependencies. This creates a supply-chain execution channel under the permissions of the user or Agent performing the setup.
Attack Path
- An Agent or user follows the documented first-time setup instructions.
pipresolves the unpinned package and transitive dependencies from its configured package index.- An attacker compromises a package release, dependency, publishing account, or applicable package-resolution source.
- Installation or subsequent CLI startup executes attacker-controlled code with the invoking process's permissions.
- The Agent runs
bundle-install --auto, which obtains additional content without documented integrity or provenance verification. - A compromised installer or bundle-handling component can manipula ...[truncated 874 chars]
- Remediation
View remediation
Remediation Suggestions
-
Pin
langskills-raito a specifically reviewed version rather than installing the latest available release. -
Use a locked requirements file containing cryptographic hashes, and install it with hash enforcement:
bash python3 -m pip install --require-hashes -r requirements.txt -
Pin and hash all transitive dependencies through a reproducible dependency-locking process.
-
Document and restrict trusted package indexes and bundle repositories. Disable fallback to untrusted or unintended sources.
-
Require cryptographic signature or checksum verification for every downloaded bundle.
-
Replace automatic bundle installation with an explicit selection and review step, or document exactly which bundles
--automay install. -
Perform installation in an isolated virtual environment or container with minimal filesystem, credential, and network access.
-
Record the reviewed package version, bundle versions, source locations, checksums, and update procedure in the Skill documentation.
-
