Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

Browser Use - 网页自动化

v1.0.0

通过 nodriver 驱动浏览器,支持信息检索、网页抓取、表单交互等;**作为搜索工具的补充**——内置搜索无结果、摘要不足或需登录/站内检索时再启用;适用于非 WPS 链接访问、落地页导航、Web 应用交互,以及股票/金价/期货/天气等强事实信息。

0· 62·0 current·0 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for xixihaha123123123123/wps-browser-use.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Browser Use - 网页自动化" (xixihaha123123123123/wps-browser-use) from ClawHub.
Skill page: https://clawhub.ai/xixihaha123123123123/wps-browser-use
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install wps-browser-use

ClawHub CLI

Package manager switcher

npx clawhub@latest install wps-browser-use
Security Scan
VirusTotalVirusTotal
Suspicious
View report →
OpenClawOpenClaw
Suspicious
medium confidence
!
Purpose & Capability
The code implements a browser automation library (nodriver/CDP) consistent with the skill's description. However the package never declares its dependency on the 'nodriver' Python package or other runtime expectations (IPython/Jupyter). That omission is disproportionate: anyone legitimately providing this browser driver should declare those dependencies and environment expectations.
!
Instruction Scope
SKILL.md mostly restricts actions to navigation, element interaction and returning structured snapshots, which is appropriate. But it also prescribes use of a Jupyter-only helper (jupyter_cell_exec) for large content and the load instructions assume env var skill_path and a Jupyter-style environment. The runtime code calls input() to receive a JSON control message (prefix __BRWS_REQ__), which is a nonstandard control channel that could accept arbitrary data from the execution frontend. These environment-specific I/O behaviors go beyond the stated simple browser-scraping scope and are not fully documented in metadata.
!
Install Mechanism
There is no install spec (instruction-only), which is low friction. But the code imports nodriver and IPython and expects a Chromium CDP endpoint and possibly MUSA-specific environment variables — none of which are declared under requirements. The absence of declared package dependencies and runtime requirements is an installation coherence gap.
!
Credentials
Registry metadata lists no required env vars, but the code references environment variables (e.g., MUSA_CDP_ENDPOINT parsing, and a truncated reference to MUSA_BROWSER_EXECUTABLE) and expects a CDP endpoint provided via input(). The skill also expects a Jupyter-like runtime and a 'skill_path' env var for import. Requesting these values at runtime via input() and reading unspecified env vars is disproportionate unless the skill clearly documents they are needed.
Persistence & Privilege
The skill is not marked always:true and does not request system-wide privileges in metadata. It runs background threads and manages a singleton Browser instance internally but does not appear to modify other skill configurations or claim permanent presence. This is consistent with a normal browser automation library.
What to consider before installing
This skill implements a browser automation library, but there are gaps and assumptions you should resolve before use: 1) The Python code imports 'nodriver' and IPython but the skill metadata does not declare those dependencies — make sure the required packages are installed from trusted sources. 2) The code uses input() with a special marker (__BRWS_REQ__) to receive a JSON payload (CDP endpoint) from the execution frontend; ensure you trust the frontend that will provide that payload because it controls which CDP endpoint the skill will connect to. 3) The code references environment variables (MUSA_CDP_ENDPOINT, a browser executable env var) and a Jupyter helper (jupyter_cell_exec) not listed as required — ask the author to document all required env vars, the expected runtime (Jupyter vs non-interactive), and provide a clear install guide. 4) Because the skill connects to a Chromium CDP endpoint, running it gives it the ability to control a browser instance that may have access to local sessions/cookies; only run it in an isolated environment and after reviewing/validating the nodriver package source. If you cannot obtain clarifying information from the publisher, treat the skill as untrusted and test it in a sandboxed VM or container with no sensitive browser state.

Like a lobster shell, security has layers — review code before you run it.

automationvk97422yvx1zxa7e1s2pwc24zhs852ejxbrowservk97422yvx1zxa7e1s2pwc24zhs852ejxlatestvk97422yvx1zxa7e1s2pwc24zhs852ejxplaywrightvk97422yvx1zxa7e1s2pwc24zhs852ejx
62downloads
0stars
1versions
Updated 1w ago
v1.0.0
MIT-0

Browser Skill

基于 nodriver 的浏览器自动化 skill,专为纯文本 agent 设计。

与搜索工具的关系:优先用搜索工具快速拉取公开摘要;若搜索搜不到、结果过时/片面、或必须进入具体网站(站内搜索、动态页、表格详情)才能拿到答案,再查阅并启用本 SKILL,用浏览器补齐信息。

核心设计原则

所有公开方法均返回结构化文本快照,格式统一为:

[操作摘要]
---
Title: 页面标题
URL:   https://...
---
Interactive elements (index[:]info):
0[:] input type="text" placeholder="搜索"
1[:] button | 百度一下
2[:] a href="https://..." | 新闻
...
---
Page Text:
页面可见文本...

agent 通过读取快照中的元素索引来引用元素,无需理解 HTML 或 CSS 选择器。每次操作后快照自动刷新,索引始终对应当前页面状态。

大内容溢出处理:页面文本超过 10000 字符或元素超过 100 个时,超出部分自动保存到文件,快照中提示路径,可用 jupyter_cell_exec工具 读取完整内容。

加载方式

import sys, os
sys.path.insert(0, os.path.join(os.getenv("skill_path"), "browser", "scripts"))
import browser

API 参考

navigate — 打开页面

result = browser.navigate(
    url="https://www.baidu.com",
    wait_for=None,  # 可选:等待某 CSS 选择器出现后再返回
)
print(result)

click — 点击元素

result = browser.click(element_index=1)  # 索引来自上次快照的 Interactive elements
print(result)

fill — 填写输入框

result = browser.fill(
    element_index=0,
    text="搜索内容",
    press_enter=False,   # 是否回车提交
)
print(result)

实现上会先点击目标输入框、短暂等待再 fill 覆盖内容;若遇动态展开/联想框导致失败,可先 browser.click 激活再 browser.fill,或调用 browser.get_interactive_elements() 刷新索引后重试。

select_option — 下拉框选择

result = browser.select_option(
    element_index=3,
    option_text="选项一",   # 按可见文本匹配(最常用)
    # option_value="val1",  # 按 value 属性匹配
    # option_index=0,       # 按位置匹配(0 起)
)
print(result)

get_interactive_elements — 刷新元素列表

result = browser.get_interactive_elements()
print(result)

页面动态加载新内容后,调用此方法刷新元素缓存和索引。

execute_script — 执行 JS

result = browser.execute_script("return document.title")
print(result)

screenshot — 截图

result = browser.screenshot(
    output="screenshot.png",
    full_page=False,
)
print(result)

可信网站推荐

根据任务类型选择合适的入口,优先使用专业数据源。

访问方式(务必遵守):下表中的链接表示应从该站点开始。请先用 navigate 打开对应网站,再通过站内搜索、导航菜单、栏目链接等在页面上进入目标功能;不要凭记忆或猜测去改路径、拼深层 URL 直接访问。站点改版后路径常变,硬编 URL 容易 404、跳转登录页或落到无关页面。

禁用 query 拼接作为第一步禁止一上来就把关键词拼进地址栏,用带查询串的 URL 直接打开(如 ?key=?q=?wd=keyword= 等)。正确做法是先进表内给出的起点页,再用页面上的搜索框输入关键词并触发搜索。反例(勿做):https://so.eastmoney.com/cn/result?key=金山办公 —— 应改为先打开 https://so.eastmoney.com,再在站内搜索「金山办公」。

任务类型推荐网站链接
股票行情东方财富网https://so.eastmoney.com
期货行情曲合期货https://www.quheqihuo.com/quote/shfe.html
贵金属(黄金 / 白银 / 铂金)现货价格上海黄金交易所https://www.sge.com.cn/sjzx/yshqbg
基金净值 / 基金排行 / 基金查询天天基金网https://fund.eastmoney.com/
天气预报 / 气象灾害 / 台风信息中央气象台https://www.nmc.cn/
汇率查询百度(搜索结果页直接展示实时换算)https://www.baidu.com
快递单号查询百度(绕过快递网站验证码)https://www.baidu.com

汇率查询直接在百度搜索(如"1美元换多少人民币"),百度会在结果页实时计算并展示换算结果,无需进入专业汇率网站。 快递单号查询直接在百度搜索单号,百度会通过摘要聚合展示物流状态,可绕过顺丰、圆通等快递官网的验证码限制。

特殊情况处理

某些场景下不适合使用浏览器,应优先使用更高效的方式:

情况处理方式原因
批量获取股票历史数据直接调用东方财富 API:http://push2his.eastmoney.com/api/qt/stock/kline/get浏览器逐天抓取耗时长、效率低、容易出错

Troubleshooting

问题处理方式
元素找不到或点击无效记录当前状态,提示用户手动处理后继续
需要登录、验证码或手动步骤暂停操作,建议用户接管浏览器完成验证后继续

Comments

Loading comments...