T08 · Insecure Dependencies
- Location
SKILL.md:57- Finding
Unpinned Third-Party Packages Are Automatically Downloaded and Executed
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:57-66;references/rollinggo-npx.md:21-37,52-62;references/rollinggo-uv.md:21-36,53-63
Vulnerability Type: Supply-chain exposure through unpinned runtime dependencies
Risk Level: HighVulnerable Code
SKILL.md:57-66:bash # npm/npx npx --yes --package rollinggo@latest rollinggo ... # uvx uvx --refresh --from rollinggo@latest rollinggo ... # npm global installation npm install -g rollinggo@latest # uv tool uv tool upgrade rollinggo@latestreferences/rollinggo-npx.md:21-37:bash npx --yes --package rollinggo@latest rollinggo --help npx --yes --package rollinggo@latest rollinggo search-hotels --origin-query "..." --place "Tokyo Disneyland" --place-type "value from help" npm install -g rollinggo@latest rollinggo --help npm install -g rollinggo@latestreferences/rollinggo-uv.md:21-36:bash uvx --refresh --from rollinggo@latest rollinggo --help uvx --refresh --from rollinggo@latest rollinggo search-hotels \ --origin-query "Find hotels near Tokyo Disneyland" \ --place "Tokyo Disneyland" --place-type "value from help" uv tool install rollinggo@latest uv tool upgrade rollinggo@latest rollinggo --helpTechnical Analysis
The Skill explicitly instructs the agent to resolve and execute the
latestrelease of therollinggopackage from npm or PyPI on every use. No exact package version, lockfile, checksum, signature, or integrity metadata is supplied by the audited project.The
npx --yesoption suppresses interactive installation confirmation. Theuvx --refreshoption forces dependency metadata and artifacts to be refreshed. Consequently, the code executed by the Skill can change after the Skill itself has been audited, without any modification to this repository.The global npm and uv installation alternatives also modify the host tool environment. If performed from a privile ...[truncated 2116 chars]
- Remediation
View remediation
Remediation Suggestions
- Replace every
rollinggo@latestreference with an exact, reviewed version. - Provide lockfiles and registry-supported integrity hashes for all transitive dependencies.
- Remove the policy requiring an upgrade or refresh before every invocation.
- Establish a controlled update process in which new releases are reviewed, scanned, tested, and explicitly approved before changing the pinned version.
- Avoid global package installation. Prefer an isolated, nonpersistent environment with a dedicated package cache.
- Run the CLI in a sandbox under an unprivileged account with read-only filesystem access wherever possible.
- Expose only
RollingGo_API_KEYto the subprocess rather than the agent's complete environment. - Restrict outbound network access to verified RollingGo service endpoints and package registries needed during a controlled installation phase.
- Separate dependency acquisition from normal Skill execution so routine hotel searches do not download executable code.
- Verify package provenance or signatures when supported by the relevant registry and package manager.
- Replace every
