Skill flagged — suspicious patterns detected

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

realtime-interact-overlay

v1.0.0

实时交互浮窗技能。在需要用户确认、输入或交互的场景中,通过浮窗方式在当前操作界面旁边进行交互, 而不是回到OpenClaw聊天窗口。适用于:(1) 评论内容需要用户确认后执行,(2) 删除文件前需要用户确认, (3) 购物付款时需要输入密码,(4) 任何需要即时交互的场景。支持系统级浮窗和浏览器内浮窗。

0· 436·0 current·0 all-time
Security Scan
VirusTotalVirusTotal
Suspicious
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
技能名称/描述(实时交互浮窗)与包含的脚本相符:scripts/macos_dialog.py 提供 macOS 系统级对话框,scripts/browser_modal.py 生成注入到页面的 JS,scripts/interact.py 根据模式选择两者之一。没有请求与功能无关的环境变量、外部服务凭据或额外二进制。
Instruction Scope
SKILL.md 的运行指令仅描述在本地显示浮窗或返回需要注入到浏览器的 JS,脚本也只产生/执行 AppleScript 和返回 JS 代码;没有读取用户主目录中敏感配置或上传数据到网络的步骤。但需注意两点:1) 文档和示例鼓励用于“支付/输入密码”场景——将密码通过浮窗返回给调用方会把敏感数据交给 AI/调用流程,用户应谨慎;2) macOS 的 hidden/password 支持在代码中标注了兼容性问题,代码并未实现一个明确的、安全的密码掩码/密钥链存储流程。
Install Mechanism
无安装脚本或远程下载;这是 instruction-only(包含本地脚本文件)的包格局,没有从不信任 URL 下载或在安装时执行远端代码的行为。
Credentials
技能不要求任何环境变量、密钥或配置路径。脚本在执行 AppleScript 时显式将 env 置为空(subprocess.Popen(..., env={})),反而是一个降低泄露风险的做法。
Persistence & Privilege
技能没有设置 always:true、也不修改其它技能或全局代理配置。SKILL.md 提醒用户需要授予 macOS 辅助功能权限(这在显示系统界面时是合理且可解释的)。
Assessment
这个技能在功能和实现上是一致的:它仅在本地显示浮窗或返回需要注入的 JS,并未向外部服务器发送数据,也不请求额外凭据。但在决定安装/使用前请考虑: - 不要在不信任的技能或未审核的环境中通过浮窗输入高敏感凭证(如银行密码、2FA 密钥)。该技能会把用户输入返回给调用方(AI/脚本),输入将被上层流程处理;如果上层流程不可信,密码可能被滥用。 - macOS 的“隐藏输入/密码模式”在代码里标注了兼容性问题,当前实现并非等同于系统安全密码输入或钥匙串存储;对高度敏感的密码请使用系统信任的输入方式或密码管理器。 - 浏览器内浮窗需要将生成的 JS 注入到页面,这通常需要用户或额外工具的参与:仅在受信任页面/会话中注入,避免在他人控制或可被脚本劫持的页面上自动注入。 - 虽然代码没有外联网行为,最好在本地审阅脚本(尤其 macOS 的 osascript 片段)并确认其只执行对话框展示逻辑后再授予辅助功能权限。 总体建议:如果你信任作者并且只是用于确认/简短输入场景(非高敏感凭证),可以使用;如果计划处理支付等敏感信息,请谨慎并优先使用更安全的密码输入/钥匙串方案。

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

latestvk971peyh5fv1rsg805cdpsxpn581w8qa
436downloads
0stars
1versions
Updated 8h ago
v1.0.0
MIT-0

Realtime Interact - 实时交互浮窗

在用户当前操作界面旁边弹出浮窗进行交互,提供流畅的确认/输入体验。

快速开始

浮窗类型

场景使用方式
确认框(是/否)interact.confirm(title, message)
输入框interact.input(title, message, default)
选择框interact.select(title, options)
自定义HTMLinteract.html(title, html_content)

基础示例

1. 评论前确认

用户:帮我评论这条朋友圈

AI:准备评论内容后,调用浮窗确认
→ 浮窗弹出:显示"写的评论内容"
→ 用户点击"确认"
→ AI执行评论

2. 删除文件确认

用户:帮我删除这个文件

AI:准备删除操作后,调用浮窗确认
→ 系统浮窗弹出:"确定删除 xxx 吗?"
→ 用户点击"确认删除"
→ AI执行删除

3. 密码输入

用户:帮我完成支付

AI:准备支付后,调用输入框
→ 浮窗弹出:密码输入框
→ 用户输入密码
→ AI执行支付

技术实现

方式一:macOS 系统浮窗(本地操作)

适用于:删除文件、执行命令等本地操作

python3 ~/.openclaw/skills/realtime-interact-1.0.0/scripts/macos_dialog.py \
  --type confirm \
  --title "确认删除" \
  --message "确定要删除文件 /path/to/file 吗?"

参数:

  • --type: confirm | input | select
  • --title: 浮窗标题
  • --message: 浮窗内容
  • --default: 默认值(input类型需要)
  • --options: 选项(select类型需要,用逗号分隔)

方式二:浏览器内浮窗(网页操作)

适用于:网页评论、购物等浏览器内操作

# 在当前浏览器页面注入浮窗
python3 ~/.openclaw/skills/realtime-interact-1.0.0/scripts/browser_modal.py \
  --action show \
  --type confirm \
  --title "评论确认" \
  --message "确认发送这条评论吗?"

方式三:Canvas 覆盖层(通用)

使用 OpenClaw canvas 绘制覆盖层:

// 通过 JavaScript 注入创建浮窗
// 见 scripts/inject_modal.js

浮窗样式

浮窗采用现代美观设计:

  • 🎨 毛玻璃效果背景
  • 📐 居中弹出,带阴影
  • 🔘 圆角按钮
  • ✨ 流畅动画过渡

交互流程

1. 用户发起请求(如:评论朋友圈)
2. AI 准备交互内容(评论文案、操作指令等)
3. 判断场景类型:
   - 本地操作 → macOS 浮窗
   - 浏览器操作 → 浏览器内浮窗
   - 不确定 → 优先浏览器浮窗
4. 弹出浮窗展示内容
5. 用户确认/输入
6. 返回结果给 AI
7. AI 执行实际操作
8. 反馈结果给用户

错误处理

  • 用户取消:返回 {"result": "cancel"}
  • 超时(默认60秒):返回 {"result": "timeout"}
  • 执行失败:返回 {"result": "error", "message": "..."}

扩展功能

语音交互(未来)

计划支持:

  • 语音输入
  • 语音确认("好的"、"确认")
  • 语音播报结果

注意:首次使用需要授权 macOS 辅助功能权限(系统偏好设置 → 安全性与隐私 → 辅助功能)

Comments

Loading comments...