T08 · Insecure Dependencies
- Location
setup.sh:5- Finding
Unverified Third-Party npm Package Execution via npx
- Content
View full analysis
Vulnerability Details
File Location:
setup.sh:5; additionally documented inSKILL.md:47,SKILL.md:55, andmanifest.yaml:25
Vulnerability Type:T08: Insecure Dependencies
Risk Level: MediumVulnerable code in
setup.sh:1-5:bash #!/bin/bash echo "Starting CamoFox MCP in HTTP mode..." echo "Ensure CamoFox Browser is running on port 9377" echo "" CAMOFOX_TRANSPORT=http npx camofox-mcp@1.10.0Related commands in
SKILL.md:bash CAMOFOX_TRANSPORT=http npx camofox-mcp@1.10.0bash npx @filiksyos/mcptoskill http://localhost:3000/mcpRelated declaration in
manifest.yaml:yaml - name: Start command required: true description: Start MCP server with CAMOFOX_TRANSPORT=http npx camofox-mcp@1.10.0Technical Analysis
The setup script uses
npxto resolve and immediately execute the external npm packagecamofox-mcp@1.10.0. Although this package is pinned to an exact version, the project does not include a lockfile, integrity hash, signature verification, vendored source, or other mechanism that allows the downloaded artifact to be verified before execution.The alternative command in
SKILL.mdexecutes@filiksyos/mcptoskillwithout specifying any version, creating additional version drift and supply-chain exposure. Depending on the local npm andnpxconfiguration, missing packages can be downloaded from the configured npm registry and their package code or lifecycle behavior executed with the current user's privileges.The supplied project does not contain evidence that either dependency is malicious. The weakness is that the effective executable implementation resides outside the audited artifact and is trusted without local integrity enforcement.
Attack Path
- An attacker compromises an upstream npm package, its publisher account, the configured package registry, or another relevant dependency-distribution component.
...[truncated 1206 chars]
- Remediation
View remediation
Remediation Suggestions
- Add a reviewed
package.jsonand lockfile, and install dependencies using an integrity-enforcing command such asnpm ci. - Execute the package from the verified local installation rather than allowing
npxto download it dynamically. Ifnpxremains necessary, usenpx --no-installafter installation. - Pin every executable dependency to an exact reviewed version, including
@filiksyos/mcptoskill. - Record and validate expected package integrity hashes and explicitly configure the trusted npm registry.
- Audit package source, transitive dependencies, lifecycle scripts, and published artifacts before approving updates.
- Run the MCP service as a dedicated, minimally privileged account or inside a restricted container with limited filesystem, credential, and network access.
- Use automated dependency monitoring and require review before changing locked dependency versions or integrity metadata.
- Add a reviewed
