Trust Assessment
solana received a trust score of 30/100, placing it in the Untrusted category. This skill has significant security findings that require attention before use in production.
SkillShield's automated analysis identified 8 findings: 1 critical, 0 high, 6 medium, and 1 low severity. Key findings include Unpinned Python dependency version, Arbitrary File Read and Upload via --image argument, Missing `spl-token` dependency in `requirements.txt`.
The analysis covered 4 layers: Manifest Analysis, Static Code Analysis, Dependency Graph, LLM Behavioral Safety. The LLM Behavioral Safety layer scored lowest at 61/100, indicating areas for improvement.
Last analyzed on February 13, 2026 (commit 13146e6a). SkillShield performs automated 4-layer security analysis on AI skills and MCP servers.
Layer Breakdown
Behavioral Risk Signals
Security Findings8
| Severity | Finding | Layer | Location | |
|---|---|---|---|---|
| CRITICAL | Arbitrary File Read and Upload via --image argument The `pumpfun.py` script allows a user to specify an `--image` path for token launch. The script then reads the content of this file from the local filesystem and uploads it to the `pump.fun` API. If an attacker can control the `image` argument (e.g., through prompt injection into the LLM calling this skill), they can specify paths to sensitive files (e.g., `/etc/passwd`, private keys, configuration files) on the system, leading to data exfiltration. Implement strict validation and sanitization for the `--image` argument. Restrict file access to a designated, sandboxed directory (e.g., `temp/uploads`). Alternatively, require the image content to be passed directly (e.g., base64 encoded) rather than a file path, or use a secure file upload service that handles path validation. | LLM | scripts/pumpfun.py:398 | |
| MEDIUM | Unpinned Python dependency version Requirement 'solana>=0.34.0' is not pinned to an exact version. Pin Python dependencies with '==<exact version>'. | Dependencies | skills/spendit-ai/solana-skills/requirements.txt:1 | |
| MEDIUM | Unpinned Python dependency version Requirement 'solders>=0.21.0' is not pinned to an exact version. Pin Python dependencies with '==<exact version>'. | Dependencies | skills/spendit-ai/solana-skills/requirements.txt:2 | |
| MEDIUM | Unpinned Python dependency version Requirement 'base58>=2.1.0' is not pinned to an exact version. Pin Python dependencies with '==<exact version>'. | Dependencies | skills/spendit-ai/solana-skills/requirements.txt:3 | |
| MEDIUM | Unpinned Python dependency version Requirement 'python-dotenv>=1.0.0' is not pinned to an exact version. Pin Python dependencies with '==<exact version>'. | Dependencies | skills/spendit-ai/solana-skills/requirements.txt:4 | |
| MEDIUM | Unpinned Python dependency version Requirement 'aiohttp>=3.9.0' is not pinned to an exact version. Pin Python dependencies with '==<exact version>'. | Dependencies | skills/spendit-ai/solana-skills/requirements.txt:5 | |
| MEDIUM | Missing `spl-token` dependency in `requirements.txt` The `scripts/pumpfun.py` and `scripts/wallet.py` files explicitly import `spl.token` and include `spl-token` in their `ImportError` messages, indicating it is a required dependency. However, `spl-token` is not listed in `requirements.txt`. This will lead to installation failures and could cause users to manually install the wrong package, introducing potential supply chain risks. Add `spl-token` with a suitable version pin (e.g., `spl-token>=0.2.0`) to `requirements.txt`. | LLM | requirements.txt:7 | |
| LOW | Weak dependency pinning in `requirements.txt` All dependencies in `requirements.txt` are pinned using `>=` (greater than or equal to). While this allows for minor version updates, it can introduce unexpected behavior or security vulnerabilities if a new version of a dependency contains breaking changes or exploits. Exact pinning (`==`) or using a dependency lock file is generally recommended for production environments to ensure deterministic builds and reduce supply chain risks. Consider using exact version pinning (e.g., `solana==0.34.0`) or a dependency lock file (e.g., generated by `pip-tools`) to ensure deterministic builds and prevent unexpected dependency updates. | LLM | requirements.txt:1 |
Scan History
Embed Code
[](https://skillshield.io/report/5a0045e16cbefabd)
Powered by SkillShield