CAUTION version 1.0.0 · audited 2026-09-03
This package is documentation only: a SKILL.md that describes a command-line tool called `yf` for pulling stock data from Yahoo Finance, plus a metadata file and a publisher card. No actual code is shipped ile it, and the `yf` script it repeatedly tells you to run, chmod, and symlink into /usr/local/bin is not included in the bundle. The instructions include the standard vendor one-liner that downloads and pipes an installer from astral.sh into a shell to install the `uv` package manager, and suggest sourcing your shell profile afterwards. Nothing in the text tries to read credentials, contact unusual servers, or redirect payments, and there are no hidden or obfuscated blobs. The main concerns are the missing executable (so what actually runs cannot be audited) and the download-and-execute installer line, which the skill's own card acknowledges.
| Declared purpose | A Python CLI wrapper (`yf`) around the yfinance library to fetch stock prices, quotes, fundamentals, earnings, options, dividends, analyst ratings, history, comparisons and symbol search from Yahoo Finance; no API key required. |
| Observed behavior | The package contains no executable code at all — only Markdown documentation and a JSON metadata file. The documentation instructs the user/agent to install the `uv` package manager (optionally via a curl-piped-to-shell script from astral.sh, or via brew/pip), then to chmod +x and optionally symlink a `yf` script into /usr/local/bin and run subcommands against stock tickers. The referenced `yf` script is absent from the bundle, so its actual network calls and behavior cannot be verified. Dependencies (yfinance, rich) are described as auto-installed on first run via PEP 723 inline metadata. |
| Verdict, rules only | CAUTION · downloads and pipes to a shell (curl|sh); touches persistence (cron, shell profile, autostart) |
| Verdict, AI | CAUTION |
| Final verdict | CAUTION (never better than either pass) |
| capability | vs purpose | detail |
|---|---|---|
| network | needed | Fetching market data from Yahoo Finance inherently requires outbound network access; the docs also reference downloading the uv installer from https://astral.sh/uv/install.sh (SKILL.md line 27) and install.ps1 (line 37). |
| shell | needed | All usage is via shell commands (uv, brew, pip, chmod, ln, and the yf CLI itself). SKILL.md line 27 pipes a downloaded script directly into `sh`. |
| install_packages | needed | Instructs installing uv (brew/pip/installer script) and states yfinance and rich are auto-installed into uv's cache on first run (SKILL.md lines 42, 62). |
| filesystem_write | exceeds purpose | Suggests creating a symlink into /usr/local/bin (SKILL.md line 59), a system-wide path that typically requires elevated privileges; this is optional convenience, not required for data retrieval. |
| persistence | exceeds purpose | References `source ~/.bashrc` after uv install (SKILL.md line 47) and the PATH symlink; the uv installer modifies shell startup files so uv remains on PATH across sessions. |
| severity | finding |
|---|---|
| medium | Download-and-execute installer piped to shell The documentation tells the user (or an agent following it) to fetch a remote script over the network and execute it immediately without inspection. astral.sh is the legitimate vendor domain for the uv package manager and this is the vendor's own published one-liner, but any agent that blindly executes it runs arbitrary remote code with the user's privileges. Safer alternatives (brew, pip) are also listed on lines 32 and 42. SKILL.md:27 curl -LsSf https://astral.sh/uv/install.sh | sh |
| medium | Windows installer bypasses PowerShell execution policy The Windows variant explicitly disables PowerShell's execution policy protections and pipes a downloaded script into the interpreter. Again this is the vendor's standard command, but it is a download-and-execute pattern with a security control deliberately turned off. SKILL.md:37 powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex" |
| high | Instructs making executable a file that is not in the package The skill's core component, the `yf` script, is not shipped in this bundle. The documentation instructs marking it executable and running it, but its source cannot be reviewed. Whatever ends up at that path — supplied later or from another source — would run unaudited. The publisher's own skill-card acknowledges this on line 21. SKILL.md:56 chmod +x /path/to/skills/yahoo-finance/yf |
| low | Suggests placing an unaudited script on the system PATH Symlinking the missing `yf` script into /usr/local/bin makes it globally invocable and typically requires elevated privileges. Combined with the absence of the script itself, this expands the blast radius if the file is later supplied by an untrusted source. SKILL.md:59 ln -sf /path/to/skills/yahoo-finance/yf /usr/local/bin/yf |
| low | Shell profile reload implies persistent PATH modification The uv installer edits shell startup files so its PATH entry survives reboots. This is normal package-manager behavior but is a persistent change to the user's shell environment made as a side effect of following this skill. SKILL.md:47 source ~/.bashrc # or ~/.zshrc on macOS |
| low | Automatic dependency installation on first execution Running the tool silently pulls Python packages (stated as yfinance and rich) from a package index into uv's cache. Because the script is absent, the actual dependency list and any pinned versions cannot be verified. SKILL.md:52 The `yf` script uses PEP 723 inline script metadata - dependencies are auto-installed on first run. |
0 AI finding(s) were dropped because their file, line or quote did not match the package.
| domain | service rating | where |
|---|---|---|
| astral.sh | not in the service index | SKILL.md:27 |
| clawhub.ai | not in the service index | skill-card.md:7 |
| Binaries invoked | bash, chmod, curl, pip, powershell, sh, uv |
| Environment variables read | none |
| Hard-coded wallets | none |
| Pipes a download to a shell | 1 |
| eval / exec / subprocess | 0 |
| base64 blobs | 0 |
| File writes | 0 |
| Persistence | 1 |
| file | lines | sha256 |
|---|---|---|
SKILL.md | 190 | ee459f2b634cf904… |
_meta.json | 6 | 3cc6bcd2f4ada9a7… |
skill-card.md | 39 | d07ecec73b347e59… |
For agents
JSON: https://agenteconomy.report/k/yahoo-finance.audit.json · badge: https://agenteconomy.report/k/yahoo-finance.audited.svg ·
skill rating: /k/yahoo-finance · commission an audit of any skill: US$ 29 per version.
The complete published package of this exact version was downloaded from the registry and read statically; nothing was executed. A deterministic pass extracts network destinations, binaries, environment variables, writes, install commands, obfuscation markers, subprocesses and wallets, each with file and line. An AI then reads the whole package with those facts and writes the summary, the capabilities and the findings under a strict schema; every finding it produces must cite a file, a line and the exact text, or it is dropped. The final verdict is the worst of the two passes. The audit does not change the skill's trust tier (policy); the author may respond through the dispute channel and the response is published here. Commissioned by: amostra.