moltspay_skill
The skill installs an unverified third-party npm package (`moltspay`) globally and executes wallet initialization code via a postinstall hook, with no declared shell or network permissions, creating a significant supply-chain and privilege-escalation risk.
Why this conclusion was reached
2/4 dimensions flagged3 undeclared or violating capabilities were inferred.
7 lower-risk artifacts were extracted and still need context.
The report includes 4 attack-chain steps and 3 severe findings.
2 dependency or supply-chain issues need attention.
Attack Chain
Entry · package.json:14
Escalation · scripts/setup.js:32
Persistence · scripts/setup.js:48
Impact · node_modules/moltspay (uninspectable)
What drove the risk score up
SKILL.md never mentions npm install; skill runs 'npm install -g moltspay' (setup.sh:13, setup.js:32) without user disclosure
package.json has 'postinstall': 'node scripts/setup.js' which silently runs on npm install
npm install -g moltspay with no @version pins the package to latest; could be silently updated to a malicious version
execSync('npm install -g moltspay') and execSync('moltspay init') use shell:WRITE but SKILL.md declares no shell access
Queries moltspay.com and juai8.com APIs; SKILL.md lists URLs but never declares network:READ permission
Writes wallet to ~/.moltspay/wallet.json; SKILL.md never mentions filesystem write access
Most important evidence
Untrusted third-party npm package installed without pinning
setup.sh and setup.js both run 'npm install -g moltspay' from npmjs.com with no version constraint. The package is controlled by an unknown party (Yaqing2023/moltspay) and could be silently updated to a malicious version at any time.
scripts/setup.sh:13 Postinstall hook executes arbitrary code on skill install
package.json contains 'postinstall': 'node scripts/setup.js' which means the setup script (including npm install -g moltspay and wallet initialization) runs automatically when the skill is installed, without user consent.
package.json:14 SKILL.md completely omits the npm install step
SKILL.md describes a 'moltspay CLI' but never tells users that it will install a global npm package. Users have no opportunity to review or refuse the package installation before it happens.
SKILL.md:1 Undeclared shell execution via execSync and bash
Both setup.sh and setup.js execute shell commands (npm install -g, moltspay init, moltspay pay, moltspay status) but SKILL.md declares no shell permissions. The skill effectively escalates to shell:WRITE without documentation.
scripts/setup.js:17 Wallet file stored in user home directory
The skill creates and reads ~/.moltspay/wallet.json which likely contains private keys or seed phrases for the user's crypto wallet. SKILL.md does not disclose this data collection or storage behavior.
scripts/setup.js:10 Undeclared network requests to external domains
SKILL.md lists moltspay.com and juai8.com URLs but never formally declares network:READ permission. The actual HTTP calls made by the moltspay CLI to these endpoints are not documented.
SKILL.md:45 npm package has no version lock
The npm package 'moltspay' is not pinned to a specific version, creating replay risk if the package is later modified.
package.json:13 Declared capability vs actual capability
setup.js:48 writes to ~/.moltspay/wallet.json SKILL.md lines 45-52 list URLs but never declare network:READ setup.sh:13 'npm install -g moltspay'; setup.js:32 execSync('npm install -g moltspay') setup.js reads os.homedir(); wallet.json likely contains private keys postinstall hook in package.json auto-runs scripts/setup.js on skill install Suspicious artifacts and egress
https://juai8.com/zen7 README.md:29
https://moltspay.com/docs README.md:48
https://moltspay.com/services README.md:49
https://discord.gg/QwCJgVBxVK README.md:50
https://moltspay.com/api/search?q= SKILL.md:45
https://moltspay.com/api/services SKILL.md:46
https://juai8.com/.well-known/agent-services.json SKILL.md:52
Dependencies and supply chain
| Package | Version | Source | Known vuln | Notes |
|---|---|---|---|---|
| moltspay | latest (unpinned) | npm | No | Package from npmjs.com by Yaqing2023 — not audited, version not pinned, black box |
| jq | * | system (used in setup.sh) | No | System dependency assumed present |
File composition
SKILL.md scripts/setup.js scripts/setup.sh README.md package.json