realtime-interact-overlay

AdvisoryAudited by Static analysis on Apr 30, 2026.

Overview

No suspicious patterns detected.

Findings (0)

Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.

What this means

A user could be prompted to type a payment password or similar secret into an agent-controlled overlay, giving the agent enough authority to complete sensitive account actions.

Why it was flagged

The skill explicitly proposes routing payment/password input through the agent and then having the AI perform the payment, but the artifacts do not bound what secrets may be requested, how they are protected, or how they are prevented from being retained or misused.

Skill content
购物付款时需要输入密码 ... → 用户输入密码 → AI执行支付
Recommendation

Do not use this skill for payment passwords, account passwords, one-time codes, or other secrets unless the design is changed so secrets stay in the official provider UI, are masked, are not returned to the agent, and are clearly declared.

What this means

If the modal displays untrusted content, it could run unexpected JavaScript inside the current website, potentially affecting the page session or causing unintended actions.

Why it was flagged

The browser modal inserts message content into the active page using innerHTML after only limited string escaping, so untrusted message text containing HTML or event handlers could execute in the page context.

Skill content
modal.querySelector('#openclaw-modal-content').innerHTML = '{message_js}'.replace(/\\n/g, '<br>');
Recommendation

Use textContent for normal messages, sanitize any allowed HTML with a strict sanitizer, and reserve custom HTML injection only for clearly trusted, user-approved content.

What this means

The skill can cause local system dialogs to appear and collect confirmations or inputs.

Why it was flagged

The skill runs AppleScript locally to display macOS dialogs. This is purpose-aligned and avoids shell=True, but it is still local script execution that users should understand.

Skill content
process = subprocess.Popen(['osascript', '-e', script], stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True, env={})
Recommendation

Use it only for prompts you expect, and verify the dialog title/message before approving important actions.

What this means

Some documented functionality may not work as expected, and users may not have a complete picture of the intended browser-injection path.

Why it was flagged

The documentation references scripts/inject_modal.js, but that file is not present in the provided manifest. This looks like an incomplete implementation rather than active malicious behavior.

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

Publish the referenced helper or remove the reference, and declare the actual runtime dependencies such as Python, osascript, and macOS-specific behavior.