T08 · Insecure Dependencies
- Location
SKILL.md:215- Finding
Unpinned Third-Party Packages in Self-Hosting Instructions
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:215-220,README.md:50-56
Vulnerability Type: Unpinned and externally mutable dependencies
Risk Level: MediumVulnerable Code
SKILL.md:215-220:markdown ## Self-Hosted Guardrails Want guardrails without the proxy? Use [reivo-guard](https://github.com/tazsat0512/reivo-guard) directly: ```bash pip install reivo-guard # Python npm install reivo-guard # TypeScripttext `README.md:50-56`: ```markdown ## Self-Hosted Guardrails The guardrail engine is open source: ```bash pip install reivo-guard # Python npm install reivo-guard # TypeScripttext ### Technical Analysis These installation commands do not pin an exact package version or verify an artifact hash. Consequently, they install whichever release the Python or npm registry resolves at installation time. The reviewed project does not include the source or integrity metadata for those external artifacts. Linking to a GitHub repository does not cryptographically establish that a registry package was built from the reviewed repository state. If the registry publisher account, package, build pipeline, or a future release is compromised, the effective code installed by these commands can differ from what was reviewed. Depending on package format and package-manager behavior, installation may execute lifecycle or build scripts. Even where no installation script runs, malicious dependency code can execute when the installed library is subsequently imported or invoked. This issue applies only when a user follows the optional self-hosting instructions. The audited package itself declares no runtime dependencies and contains no automatic package installation hook. ### Attack Path 1. An attacker compromises the publisher account, registry package, or release pipeline for `reivo-guard`. 2. The attacker publishes a malicious version under the legitimate package ...[truncated 899 chars]- Remediation
View remediation
Remediation Suggestions
- Pin each dependency to an exact reviewed version:
bash pip install reivo-guard==X.Y.Z npm install reivo-guard@X.Y.Z --save-exact - Provide verified integrity information, such as Python package hashes and npm lockfile integrity values.
- For Python, distribute a requirements file using exact versions and hashes, then recommend:
bash pip install --require-hashes -r requirements.txt - For npm, commit a lockfile and recommend reproducible installation with
npm ci. - Document the authoritative registry publisher and package pages, and ensure registry releases are cryptographically tied to tagged source releases where possible.
- Recommend installation in an isolated virtual environment or container with minimal privileges and no unnecessary secrets.
- Where compatible with the package, advise disabling npm lifecycle scripts during initial inspection:
bash npm install reivo-guard@X.Y.Z --save-exact --ignore-scripts - Review and update the pinned versions deliberately rather than allowing installation commands to resolve mutable future releases automatically.
- Pin each dependency to an exact reviewed version:
