← 返回 Skills 市场
johstracke

URL Fetcher

作者 johstracke · GitHub ↗ · v1.0.0
cross-platform ⚠ suspicious
1453
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install url-fetcher
功能描述
Fetch and save web content using only Python stdlib with URL and path validation, basic HTML-to-markdown conversion, and no API keys or external dependencies.
安全使用建议
This skill appears to do what it says (fetch pages, basic HTML→MD conversion) and uses only Python stdlib, but its security checks are incomplete. Before installing or enabling autonomous use: - Review the code yourself (or have a developer do so). Pay attention to the URL validation and path checks. - Do not allow the agent to fetch arbitrary user-provided URLs without restrictions — the script does not prevent requests to private IP ranges or domains that resolve to internal addresses (SSRF risk). - Prefer running the script in a sandbox or container and avoid giving it broad autonomous invocation rights for open-ended inputs. - If you plan to save output files, prefer restricting outputs to a dedicated workspace directory (remove Path.home() from SAFE_PATHS or replace it with a specific workspace path) and implement robust path checks (resolve and ensure the final path is inside an allowlist directory; avoid substring-based blocklists). - Consider hardening URL checks: resolve hostnames and validate the resulting IP is public; explicitly block 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, link-local and other reserved ranges. If you cannot review/modify the code, treat this skill as untrusted and run only in an isolated environment. These weaknesses look like sloppy/insufficient validation rather than intentional harm, but they materially increase risk, so exercise caution.
功能分析
Type: OpenClaw Skill Name: url-fetcher Version: 1.0.0 The skill is classified as benign. It provides a simple URL fetching utility using only Python's standard library. The code includes explicit and robust security measures, such as `is_safe_path()` in `scripts/url_fetcher.py` to prevent file writes to sensitive system directories or dotfiles (e.g., ~/.ssh, /etc), and URL validation to block `file://`, `data://`, `javascript:` schemes, as well as explicit localhost/internal IP addresses. The `SKILL.md` documentation clearly outlines these security features and limitations, and does not contain any prompt injection attempts or instructions for malicious behavior. While there's a theoretical, more advanced SSRF bypass possible via DNS resolution to internal IPs, the skill actively attempts to prevent SSRF for common cases and its overall design demonstrates a clear intent for secure operation within its stated purpose.
能力评估
Purpose & Capability
Name, SKILL.md, and the included script are aligned: the code fetches HTTP/HTTPS pages, can convert basic HTML to markdown, and can write output files. No unrelated credentials, binaries, or installs are requested.
Instruction Scope
SKILL.md claims robust URL and path validation and blocks internal hosts. The script attempts such checks, but they are incomplete: it only blocks a short hostname list (localhost, 127.0.0.1, ::1, 0.0.0.0) and does not detect or block private IP ranges (10/8, 172.16/12, 192.168/16) or domains that resolve to internal addresses — so SSRF / internal scanning risks remain. Path validation allows any path under the user's home directory (Path.home()), relying on substring checks to exclude some dotfiles; substring blocking is brittle and can be bypassed. The skill does not access any other system files/credentials, nor does SKILL.md instruct the agent to do so.
Install Mechanism
No install spec and no external package downloads; the bundle contains a Python script using only the stdlib. This is low-risk versus remote installers or archives.
Credentials
The skill requests no environment variables, credentials, or config paths. The script performs network requests only to user-provided URLs and writes to user-supplied file paths, which is proportional to its purpose.
Persistence & Privilege
The skill is not forced-always, and it does not modify other skills or global agent settings. Autonomous invocation is allowed by default but not by itself a reason for concern; consider limiting autonomous URL fetching if you plan to enable it.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install url-fetcher
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /url-fetcher 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
Initial release - Zero-dependency web content fetching. Uses Python stdlib (urllib) only - no API keys, no pip install. Features: fetch HTML/text from URLs, basic HTML to markdown conversion, path-validated file writes, URL validation (blocks localhost/internal). Security: is_safe_path() prevents malicious file writes to system paths and sensitive dotfiles.
元数据
Slug url-fetcher
版本 1.0.0
许可证
累计安装 0
当前安装数 0
历史版本数 1
常见问题

URL Fetcher 是什么?

Fetch and save web content using only Python stdlib with URL and path validation, basic HTML-to-markdown conversion, and no API keys or external dependencies. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 1453 次。

如何安装 URL Fetcher?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install url-fetcher」即可一键安装,无需额外配置。

URL Fetcher 是免费的吗?

是的,URL Fetcher 完全免费(开源免费),可自由下载、安装和使用。

URL Fetcher 支持哪些平台?

URL Fetcher 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 URL Fetcher?

由 johstracke(@johstracke)开发并维护,当前版本 v1.0.0。

💬 留言讨论