T08 · Insecure Dependencies
- Location
README.md:15- Finding
Unpinned npm Packages Are Downloaded and Executed Through npx
- Content
View full analysis
Vulnerability Details
File Location:
README.md:15-37
Vulnerability Type: Supply-chain exposure through unpinned executable packages
Risk Level: MediumVulnerable Code
bash npx @bnb-chain/mcp@latestbash npx skills add flapxai/fxaiGlobal installation is also documented:
bash npx skills add flapxai/fxai -gTechnical Analysis
The documented commands instruct users to download and immediately execute npm packages through
npx. The BNB Chain MCP command explicitly selects@latest, while theskillscommands do not specify an exact package version. Consequently, the effective code executed by these commands can change after this repository has been reviewed.These packages are not pinned by the project's
package-lock.json. Integrity metadata in that lockfile therefore does not protect the packages executed by these commands. This creates a supply-chain trust boundary in which a compromised npm publisher account, malicious future release, or compromised transitive dependency could introduce arbitrary executable behavior.The global installation option further increases exposure because it can make the installed package available beyond the current project or invocation.
Attack Path
- An attacker compromises the npm publisher account, release process, or dependency chain of one of the referenced packages.
- The attacker publishes a malicious version that satisfies the unpinned command, or replaces the version selected by
@latest. - A user follows the installation instructions in
README.md. npxdownloads and executes the malicious package with the privileges of the invoking user.- The malicious package accesses files, environment variables, network resources, or configuration available to that user. Because this Skill relies on an MCP environment containing a blockchain
PRIVATE_KEY, sensitive wallet material could be at risk if it is exposed ...[truncated 1026 chars]
- Remediation
View remediation
Remediation Suggestions
- Replace
@latestand all unversioned executable package references with exact, reviewed versions, for example:bash npx --yes @bnb-chain/mcp@<reviewed-exact-version> npx --yes skills@<reviewed-exact-version> add flapxai/fxai - Document the expected package versions and integrity hashes so users can verify downloaded artifacts.
- Re-review packages before updating the pinned versions.
- Prefer project-local installation over global installation to reduce scope and simplify removal.
- Where practical, declare reviewed tooling as development dependencies and protect it with
package-lock.json, then invoke the locked local binary. - Run installation and first execution in a restricted environment without wallet keys or unrelated credentials.
- Do not expose
PRIVATE_KEYto package installation processes. Configure sensitive MCP credentials only in the narrowly scoped runtime that requires them. - Consider using a dedicated low-value wallet with limited funds and permissions for this Skill.
- Replace
