T08 · Insecure Dependencies
- Location
SKILL.md:8- Finding
Unpinned Third-Party Runtime Dependencies
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This Bing image search skill appears purpose-aligned, but it asks users to run unpinned third-party packages and silently falls back to a shared demo gateway key.
Review before installing. Use an isolated environment, avoid global npm installs, pin and verify dependency versions, provide your own least-privilege OneKey key, and do not submit sensitive or regulated data as image search queries.
SKILL.md:8Unpinned Third-Party Runtime Dependencies
scripts/search_images.py:8Hard-Coded Shared Fallback API Credential
The skill exposes capabilities involving environment-variable access and file reading but does not declare an explicit tool scope such as permissions or allowed-tools. This weakens least-privilege controls and makes it harder for users or orchestrators to understand and constrain what the skill may access at runtime.
The skill instructs users to provide an API key and even references a fallback demo key, but it does not clearly disclose that user queries are transmitted to external services through OneKey Gateway and Bing. This creates a privacy and data-handling transparency issue, especially if users submit sensitive prompts assuming the processing is local.
Using npx onekey without pinning a specific package version allows execution of whatever version is current at install time. This creates supply-chain risk because behavior can change unexpectedly or a compromised upstream release could be pulled and executed by users.
This invocation again relies on an unpinned npx onekey command, which fetches and executes code without a fixed version guarantee. Repeated examples normalize unsafe installation and increase the chance that users run an unexpected or malicious package version.
This code forwards the entire user-supplied payload to an external router via router.invoke, which is a network-facing operation. The file contains no confirmation prompt, comment, docstring, or user-facing notice explaining that input data will be transmitted off-process/off-host.
This code invokes a remote router with the full payload, which may transmit user-supplied query data over the network. While the CLI description names the tool, there is no explicit comment, docstring, or user-facing notice warning that input data will be sent to an external service.
The script falls back to a hardcoded router access key when the environment variable is absent, embedding what appears to be a usable credential directly in code. Hardcoded secrets are dangerous because they can be extracted from source control or redistributed packages, enabling unauthorized use of the external service and making key rotation and access control difficult.
No suspicious patterns detected.