finance
Verdict safe, but 2 findings (2 medium), mainly data exfiltration. Most recent scan 2026-02-06.
This finance tracking skill is generally well-designed with appropriate security considerations. The skill makes external API calls to fetch financial data (ExchangeRate-API and Yahoo Finance via yfinance), which is expected and necessary for its core functionality. The main concerns are supply chain hygiene (missing requirements.txt content for version pinning verification, unpinned dependencies), missing optional metadata fields (allowed-tools, license, compatibility), and the need for clearer user disclosure about external network calls. The caching mechanism is a good practice to reduce rate-limiting risks. No critical security threats like data exfiltration, prompt injection, or command injection were detected. The skill operates within reasonable bounds for its stated purpose of tracking financial market data.
Scanner's overall assessment (LLM analyzer)
Second scanner: NVIDIA SkillSpector
Independent static run, no language model, over the same files as the Cisco scan above. How the two scanners compare across the whole corpus: Two scanners, one corpus.
What this skill does
Track stocks, ETFs, indices, crypto (where available), and FX pairs with caching + provider fallbacks.
- Package
- 6 files, 16 KB
- SKILL.md
- 404 words, 11 sections
- Code
- Python (3)
SKILL.md covers: Market Tracker Skill · When to use · Provider strategy (important) · Quick start (how you run it) · Commands · 1) Latest quote (stock/ETF/index) · 2) Latest FX rate · 3) Historical series (CSV to stdout) · 4) Watchlist summary (local file) · Output expectations (what you should return to the user) · Safety / correctness
Findings
MEDIUM Unpinned dependency versions in requirements Data Exfiltrationllm
The skill likely uses a requirements.txt file (referenced in instructions) but the file content was not provided for analysis. Unpinned dependencies (e.g., 'requests>=2.0' instead of 'requests==2.31.0') create supply chain risks through potential dependency confusion or malicious package updates.
Instructions reference 'pip install -r requirements.txt' but file content not providedMEDIUM External API calls to third-party services without user notification Data Exfiltrationllm
The skill makes network requests to external APIs (ExchangeRate-API at open.er-api.com, Yahoo Finance via yfinance) to fetch financial data. While this is the core functionality, users may not be explicitly aware that their queries trigger external network calls that could expose query patterns or symbols of interest to third parties.
scripts/market_quote.py
resp = requests.get(url, timeout=10) to https://open.er-api.com/v6/latest/{base}; yfinance library makes requests to Yahoo FinanceWhat is in the package
| File | Kind | Size |
|---|---|---|
SKILL.md | doc | 3.2 KB |
providers.md | doc | 1.0 KB |
requirements.txt | doc | 51 B |
scripts/market_quote.py | script | 5.8 KB |
scripts/market_series.py | script | 2.6 KB |
scripts/market_watchlist.py | script | 3.4 KB |
External hosts referenced
open.er-api.com
Hostnames that appear in the skill's files. Referencing a host is not a finding; compare against the findings above and the skill's stated purpose.
Package contents recorded 2026-10-22. The scan above ran against the version current at scan time; the two can differ if the skill has since been updated.
What we checked
- Static analyzer. Pattern rules over SKILL.md and bundled files: known-bad commands, exfiltration URLs, secrets, obfuscation.
- Behavioral analyzer. Checks what the skill asks the agent to do against what its description claims it does.
- Llm analyzer. A language model reads the skill and reports intent-level issues the rules cannot express.
- Trigger analyzer. Looks for instructions that fire on conditions the user did not ask for.
- Meta analyzer. A second model pass that validates, deduplicates and re-scores the other analyzers' findings.
What we did not check
- Runtime behaviour. The skill was not executed; findings come from reading its files.
- Anything fetched at install or run time, including remote scripts, package dependencies, and URLs the skill tells the agent to open.
- Content the analyzers cannot read: images, binaries, and some non-English text.
- Known scanner bypass classes. See the methodology and limitations page.
Sources
- Repository: https://clawhub.ai/skills/finance
- Raw scan result: finance-scan.json
- Badge for your README:
 - Request a re-scan