Trust Assessment
finance received a trust score of 19/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, 1 high, 5 medium, and 1 low severity. Key findings include Arbitrary command execution, Suspicious import: requests, Dangerous call: subprocess.run().
The analysis covered 4 layers: Manifest Analysis, Static Code Analysis, Dependency Graph, LLM Behavioral Safety. All layers scored 70 or above, reflecting consistent security practices.
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 command execution Python shell execution (os.system, subprocess) Review all shell execution calls. Ensure commands are static (not built from user input), use absolute paths, and are strictly necessary. Prefer library APIs over shell commands. | Manifest | skills/anton-roos/finance/scripts/market_watchlist.py:80 | |
| HIGH | Dangerous call: subprocess.run() Call to 'subprocess.run()' detected in function 'cmd_summary'. This can execute arbitrary code. Avoid using dangerous functions like exec/eval/os.system. Use safer alternatives. | Static | skills/anton-roos/finance/scripts/market_watchlist.py:80 | |
| MEDIUM | Suspicious import: requests Import of 'requests' detected. This module provides network or low-level system access. Verify this import is necessary. Network and system modules in skill code may indicate data exfiltration. | Static | skills/anton-roos/finance/scripts/market_quote.py:25 | |
| MEDIUM | Unpinned Python dependency version Requirement 'yfinance>=0.2.40' is not pinned to an exact version. Pin Python dependencies with '==<exact version>'. | Dependencies | skills/anton-roos/finance/requirements.txt:1 | |
| MEDIUM | Unpinned Python dependency version Requirement 'pandas>=2.0.0' is not pinned to an exact version. Pin Python dependencies with '==<exact version>'. | Dependencies | skills/anton-roos/finance/requirements.txt:2 | |
| MEDIUM | Unpinned Python dependency version Requirement 'requests>=2.31.0' is not pinned to an exact version. Pin Python dependencies with '==<exact version>'. | Dependencies | skills/anton-roos/finance/requirements.txt:3 | |
| MEDIUM | Reliance on unofficial yfinance library The skill relies on `yfinance`, an unofficial library for Yahoo Finance. While functional, unofficial libraries carry inherent risks such as lack of official support, potential for breaking changes, and a higher likelihood of introducing vulnerabilities or being compromised compared to officially maintained alternatives. The skill's documentation itself acknowledges this as 'unofficial; best-effort'. A compromise of this library could lead to data manipulation or exfiltration. Evaluate alternative official APIs for financial data if higher reliability and security assurance are required. If `yfinance` must be used, consider stricter version pinning and thorough security audits of the library's code, and implement robust error handling and input validation. | LLM | scripts/market_quote.py:99 | |
| LOW | Broad dependency version ranges The `requirements.txt` file uses broad version ranges (e.g., `yfinance>=0.2.40`, `pandas>=2.0.0`, `requests>=2.31.0`). This allows for automatic updates to any newer version, including major versions, which could introduce breaking changes, unexpected behavior, or even security vulnerabilities without explicit review. This increases the supply chain risk as a malicious update to an upstream package could be automatically incorporated. Pin dependencies to exact versions (e.g., `yfinance==0.2.40`) or use more restrictive ranges (e.g., `~=0.2.40` for `yfinance`) to ensure reproducibility and prevent unexpected changes from upstream packages. Regularly review and update dependencies after vetting new versions. | LLM | requirements.txt:1 |
Scan History
Embed Code
[](https://skillshield.io/report/ad373723a5a2bc9f)
Powered by SkillShield