可信 — 风险评分 5/100
上次扫描:2 天前 重新扫描
5 /100
figma-agent
Unified Figma skill for OpenClaw. Reads design context via Figma Remote MCP and routes write/edit/create operations through Claude Code ACP sessions.
Figma Agent is a well-documented, transparent skill that bootstraps Figma MCP tokens by scanning known credential stores. All behavior—network calls, filesystem reads, token refresh, and config writing—is explicitly declared in SKILL.md with zero obfuscation or hidden functionality.
技能名称figma-agent
分析耗时62.1s
引擎pi
可以安装
Approve for use. No security concerns identified. The credential-scanning behavior is declared, scoped, and serves a legitimate bootstrap purpose.

安全发现 4 项

严重性 安全发现 位置
提示
Credential file scanning for token bootstrap
token-scanner.mjs scans three credential stores (~/.claude/.credentials.json, ~/.codex/auth.json, ~/.codeium/windsurf/mcp_config.json) to find Figma MCP tokens. This is legitimate token bootstrapping fully documented in SKILL.md Token management section. Only Figma-specific tokens are extracted and written to OpenClaw config. No exfiltration observed.
const claudePath = join(HOME, '.claude', '.credentials.json');
→ No action needed. Behavior is declared and scoped to Figma tokens only.
scripts/token-scanner.mjs:23
提示
OAuth token refresh via Figma API
bootstrap-token.mjs makes HTTP POST to api.figma.com/v1/oauth/token for token refresh. This is standard OAuth behavior and the only network call to external services (alongside mcp.figma.com/mcp). Both are declared.
const metaRes = await fetch('https://api.figma.com/v1/oauth/token');
→ No action needed. Standard OAuth token refresh, declared in SKILL.md.
scripts/bootstrap-token.mjs:32
提示
No dependencies
package.json has zero dependencies (dependencies: {}). All functionality uses built-in Node.js APIs (fs, os, path, fetch). No supply chain risk.
"dependencies": {}
→ Excellent dependency hygiene. Maintain this standard.
package.json:1
提示
Config write only to OpenClaw locations
writeToOpenClaw() in bootstrap-token.mjs writes the token only to known OpenClaw config paths (~/.openclaw/openclaw.json or ~/.config/openclaw/openclaw.json). No arbitrary file writes.
config.mcp.servers.figma.headers = { Authorization: `Bearer ${token}` };
→ No action needed. Write scope is constrained to OpenClaw config.
scripts/bootstrap-token.mjs:75
资源类型声明权限推断权限状态证据
文件系统 READ READ ✓ 一致 SKILL.md: requires env FIGMA_MCP_TOKEN; token-scanner.mjs:23-89 reads ~/.claude/…
网络访问 READ READ ✓ 一致 SKILL.md: talks to mcp.figma.com/mcp via Remote MCP; bootstrap-token.mjs:30-52 r…
命令执行 NONE NONE No shell invocation found. All scripts are pure Node.js ESM modules with no subp…
环境变量 READ READ ✓ 一致 SKILL.md requires env FIGMA_MCP_TOKEN; figma-mcp-cli.mjs reads FIGMA_MCP_TOKEN f…
技能调用 ADMIN ADMIN ✓ 一致 SKILL.md declares full Figma read/write capabilities; write path routes through …
剪贴板 NONE NONE No clipboard access found
浏览器 NONE NONE No browser access; generate_figma_design HTML capture limitation documented in S…
数据库 NONE NONE No database access found
13 项发现
🔗
中危 外部 URL 外部 URL
https://keepachangelog.com/
CHANGELOG.md:5
🔗
中危 外部 URL 外部 URL
https://semver.org/
CHANGELOG.md:5
🔗
中危 外部 URL 外部 URL
https://mcp.figma.com/mcp
README.md:5
🔗
中危 外部 URL 外部 URL
https://img.shields.io/badge/License-MIT-green.svg
README.md:9
🔗
中危 外部 URL 外部 URL
https://img.shields.io/badge/version-v0.1.0-blue.svg
README.md:10
🔗
中危 外部 URL 外部 URL
https://clawhub.ai
README.md:11
🔗
中危 外部 URL 外部 URL
https://img.shields.io/badge/ClawHub-skill-purple.svg
README.md:11
🔗
中危 外部 URL 外部 URL
https://nodejs.org
README.md:57
🔗
中危 外部 URL 外部 URL
https://help.figma.com/hc/en-us/articles/32132100833559
README.md:58
🔗
中危 外部 URL 外部 URL
https://developers.figma.com/docs/figma-mcp-server/write-to-canvas/
README.md:168
🔗
中危 外部 URL 外部 URL
https://api.figma.com/v1/oauth/token
scripts/bootstrap-token.mjs:32
🔗
中危 外部 URL 外部 URL
https://figma.com/mcp
scripts/figma-mcp.mjs:179
📧
提示 邮箱 邮箱地址
[email protected]
package.json:6

目录结构

9 文件 · 34.4 KB · 946 行
Markdown 4f · 477L JavaScript 4f · 451L JSON 1f · 18L
├─ 📁 references
│ └─ 📝 figma-api.md Markdown 35L · 1.2 KB
├─ 📁 scripts
│ ├─ 🔑 bootstrap-token.mjs JavaScript 137L · 4.4 KB
│ ├─ 📜 figma-mcp-cli.mjs JavaScript 28L · 925 B
│ ├─ 📜 figma-mcp.mjs JavaScript 196L · 6.9 KB
│ └─ 🔑 token-scanner.mjs JavaScript 90L · 2.8 KB
├─ 📝 CHANGELOG.md Markdown 15L · 1.1 KB
├─ 📋 package.json JSON 18L · 396 B
├─ 📝 README.md Markdown 203L · 7.5 KB
└─ 📝 SKILL.md Markdown 224L · 9.2 KB

依赖分析 1 项

包名版本来源已知漏洞备注
(none) N/A npm No dependencies declared in package.json — uses only built-in Node.js modules (fs, os, path, fetch)

安全亮点

✓ Zero dependencies — no supply chain risk
✓ All filesystem reads are explicitly declared in SKILL.md under Token management
✓ All network calls go to known Figma API endpoints (api.figma.com, mcp.figma.com)
✓ No obfuscation, base64, eval, or dynamic code execution
✓ No shell execution, subprocess, or remote script execution
✓ Token scanning is scope-limited to Figma tokens only (key includes 'figma' check)
✓ writeWithCheckpoint() safety pattern documented for write operations
✓ DRY_RUN flag provides safe preview before writes
✓ Clean separation: token-scanner.mjs handles file I/O, bootstrap-token.mjs handles network
✓ No hidden instructions in HTML comments or string literals
✓ AllowedTools mapping: Read→filesystem:READ, WebFetch→network:READ — matches inferred usage