Trust Assessment
news-aggregator-skill received a trust score of 65/100, placing it in the Caution category. This skill has some security considerations that users should review before deployment.
SkillShield's automated analysis identified 4 findings: 0 critical, 1 high, 3 medium, and 0 low severity. Key findings include Suspicious import: requests, Unpinned Python dependency version, Server-Side Request Forgery (SSRF) via unvalidated external URLs.
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 14, 2026 (commit 13146e6a). SkillShield performs automated 4-layer security analysis on AI skills and MCP servers.
Layer Breakdown
Behavioral Risk Signals
Security Findings4
| Severity | Finding | Layer | Location | |
|---|---|---|---|---|
| HIGH | Server-Side Request Forgery (SSRF) via unvalidated external URLs The `fetch_url_content` function in `scripts/fetch_news.py` is designed to download and extract content from article URLs. These URLs are sourced from various news platforms, including Hacker News. A malicious actor could post a link on Hacker News (or other sources that allow external links) pointing to an internal network resource (e.g., `http://localhost:8080/admin`, `http://169.254.169.254/latest/meta-data/` for cloud metadata services) or other sensitive internal endpoints. When the skill processes such a news item with the `--deep` flag enabled, it will attempt to fetch content from this internal URL, potentially leading to information disclosure, internal network reconnaissance, or interaction with internal services. Implement strict URL validation before making HTTP requests to external sources. This should include: 1. **Scheme Validation**: Explicitly allow only `http` and `https` schemes. 2. **Host Validation**: Prevent access to private IP ranges (e.g., 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 127.0.0.0/8) and cloud metadata service IPs (e.g., 169.254.169.254). 3. **Domain Whitelisting/Blacklisting**: Consider whitelisting trusted domains or blacklisting known malicious domains if feasible. 4. Utilize a dedicated library for safe URL fetching that incorporates these security checks. | LLM | scripts/fetch_news.py:30 | |
| 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/cclank/news-aggregator-skill/scripts/fetch_news.py:3 | |
| MEDIUM | Unpinned Python dependency version Requirement 'requests' is not pinned to an exact version. Pin Python dependencies with '==<exact version>'. | Dependencies | skills/cclank/news-aggregator-skill/requirements.txt:1 | |
| MEDIUM | Unpinned Python dependency version Requirement 'beautifulsoup4' is not pinned to an exact version. Pin Python dependencies with '==<exact version>'. | Dependencies | skills/cclank/news-aggregator-skill/requirements.txt:2 |
Scan History
Embed Code
[](https://skillshield.io/report/bf229362c8197807)
Powered by SkillShield