扫描报告
5 /100
openclaw-a2ui
HTML rich card rendering skill for OpenClaw webchat — provides structured content display (lists, tables, stats, code blocks) as styled HTML cards
Legitimate UI rendering skill with well-documented, scoped functionality. All file operations are necessary for plugin installation and confined to the OpenClaw extensions/workspace directories.
可以安装
Approve for use. The skill performs standard plugin installation (file copy + JSON config modification) with no exfiltration or unauthorized access.
安全发现 3 项
| 严重性 | 安全发现 | 位置 |
|---|---|---|
| 低危 | Install script targets hardcoded OpenClaw paths | scripts/install.ts:40 |
| 低危 | Plugin reads OpenClaw auth tokens from browser storage | assets/skill-ui-bridge.js:161 |
| 低危 | Plugin modifies control-ui index.html at runtime | assets/skill-ui-bridge-plugin.js:74 |
| 资源类型 | 声明权限 | 推断权限 | 状态 | 证据 |
|---|---|---|---|---|
| 文件系统 | NONE | WRITE | ✓ 一致 | scripts/install.ts:69 — fs.copyFileSync for plugin files; scripts/install.ts:91 … |
| 网络访问 | NONE | READ | ✓ 一致 | assets/skill-ui-bridge.js:174 — fetch('/plugins/skill-ui/manifest') within same … |
| 浏览器 | NONE | READ | ✓ 一致 | assets/skill-ui-bridge.js:161-166 — reads localStorage for OpenClaw auth tokens;… |
3 项发现
中危 外部 URL 外部 URL
https://a2ui.org/reference/components/ references/components.md:3 中危 外部 URL 外部 URL
https://www.youtube.com/embed/ references/components.md:312 中危 外部 URL 外部 URL
http://127.0.0.1:18793/__openclaw__/canvas/reply.html references/templates.md:211 目录结构
12 文件 · 104.3 KB · 2469 行 Markdown 6f · 1658L
JavaScript 2f · 535L
TypeScript 2f · 237L
JSON 2f · 39L
├─
▾
assets
│ ├─
skill-ui-bridge-plugin.js
JavaScript
│ ├─
skill-ui-bridge-plugin.json
JSON
│ └─
skill-ui-bridge.js
JavaScript
├─
▾
references
│ ├─
components.md
Markdown
│ ├─
html-card-templates.md
Markdown
│ ├─
html-templates.md
Markdown
│ ├─
templates.md
Markdown
│ └─
ui-config-schema.md
Markdown
├─
▾
scripts
│ ├─
install.ts
TypeScript
│ └─
uninstall.ts
TypeScript
├─
SKILL.md
Markdown
└─
ui-config.json
JSON
安全亮点
✓ All file operations are explicitly documented in SKILL.md installation chapter
✓ Install script uses type-safe argument parsing with explicit flags (--openclaw-config, --extensions-dir, --workspace-dir)
✓ Plugin files are scoped to OpenClaw extensions directory, no arbitrary filesystem write
✓ HTML sanitization uses explicit whitelist approach (allowedTags/allowedAttrs from ui-config.json)
✓ No base64 encoding, eval(), or obfuscation found
✓ No credential harvesting, data exfiltration, or C2 communication
✓ No curl|bash or remote script execution
✓ Plugin properly cleans up (restores index.html) on gateway_stop
✓ CORS headers on manifest endpoint are restrictive (same-origin use only)