safe-flow-solana-skill
SafeFlow Solana skill has undeclared shell execution and missing referenced files, with a doc-to-code mismatch that obscures actual implementation complexity.
SKILL.md declares no shell:WRITE but scripts execute solana-keygen (bootstrap.sh:40) and npx ts-node (execute_payment.sh:36). This is significant shell access not disclosed to users.
scripts/bootstrap.sh:40 Why this conclusion was reached
1/4 dimensions flaggedDeclared resources and inferred behavior are broadly aligned.
2 lower-risk artifacts were extracted and still need context.
The report includes 0 attack-chain steps and 3 severe findings.
5 dependency or supply-chain issues need attention.
What drove the risk score up
SKILL.md does not document use of solana-keygen, npx, ts-node, or node executables
execute_payment.sh references sdk/src/agent and target/idl/safeflow_solana.json which do not exist in the skill package
SKILL.md declares no dependencies; save_config.sh and execute_payment.sh require Node.js with specific packages
SKILL.md does not list network:READ or mention Solana API endpoints (devnet/mainnet)
Most important evidence
Undocumented shell command execution
SKILL.md declares no shell:WRITE but scripts execute solana-keygen (bootstrap.sh:40) and npx ts-node (execute_payment.sh:36). This is significant shell access not disclosed to users.
scripts/bootstrap.sh:40 Missing referenced implementation files
execute_payment.sh lines 39 and 41 reference target/idl/safeflow_solana.json and ./sdk/src/agent. Neither file exists in the package. This means the script cannot function as written.
scripts/execute_payment.sh:39 Undeclared Node.js runtime dependency
save_config.sh and execute_payment.sh require Node.js with packages @solana/web3.js and @coral-xyz/anchor. SKILL.md declares no dependencies, no runtime requirements, and no package manager (npm/pnpm).
scripts/save_config.sh:24 Undeclared network endpoints
SKILL.md does not mention network:READ capability or the Solana API endpoints (api.devnet.solana.com, api.mainnet-beta.solana.com) that execute_payment.sh connects to.
scripts/execute_payment.sh:44 Unpinned npx/ts-node execution
execute_payment.sh uses 'npx ts-node' without version pinning, which could execute different versions over time. The SKILL.md also does not declare this tool requirement.
scripts/execute_payment.sh:36 Declared capability vs actual capability
bootstrap.sh:35 writes .safeflow/config.json bootstrap.sh:40 executes solana-keygen; execute_payment.sh:36 executes npx ts-node execute_payment.sh:44-46 connects to api.devnet.solana.com No environment variable access detected Suspicious artifacts and egress
https://api.devnet.solana.com scripts/execute_payment.sh:44
https://api.mainnet-beta.solana.com scripts/execute_payment.sh:46
Dependencies and supply chain
| Package | Version | Source | Known vuln | Notes |
|---|---|---|---|---|
| npx | * | npm | No | Not pinned, not declared in SKILL.md |
| ts-node | * | npm | No | Not pinned, not declared in SKILL.md |
| @solana/web3.js | * | npm | No | Not declared in SKILL.md, loaded at runtime |
| @coral-xyz/anchor | * | npm | No | Not declared in SKILL.md, loaded at runtime |
| solana-keygen | * | cli | No | External Solana CLI tool, not declared in SKILL.md |
File composition
scripts/execute_payment.sh scripts/bootstrap.sh scripts/save_config.sh