Scan Report
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.
Safe to install
Approve for use. No security concerns identified. The credential-scanning behavior is declared, scoped, and serves a legitimate bootstrap purpose.
Findings 4 items
| Severity | Finding | Location |
|---|---|---|
| Info | Credential file scanning for token bootstrap | scripts/token-scanner.mjs:23 |
| Info | OAuth token refresh via Figma API | scripts/bootstrap-token.mjs:32 |
| Info | No dependencies | package.json:1 |
| Info | Config write only to OpenClaw locations | scripts/bootstrap-token.mjs:75 |
| Resource | Declared | Inferred | Status | Evidence |
|---|---|---|---|---|
| Filesystem | READ | READ | ✓ Aligned | SKILL.md: requires env FIGMA_MCP_TOKEN; token-scanner.mjs:23-89 reads ~/.claude/… |
| Network | READ | READ | ✓ Aligned | SKILL.md: talks to mcp.figma.com/mcp via Remote MCP; bootstrap-token.mjs:30-52 r… |
| Shell | NONE | NONE | — | No shell invocation found. All scripts are pure Node.js ESM modules with no subp… |
| Environment | READ | READ | ✓ Aligned | SKILL.md requires env FIGMA_MCP_TOKEN; figma-mcp-cli.mjs reads FIGMA_MCP_TOKEN f… |
| Skill Invoke | ADMIN | ADMIN | ✓ Aligned | SKILL.md declares full Figma read/write capabilities; write path routes through … |
| Clipboard | NONE | NONE | — | No clipboard access found |
| Browser | NONE | NONE | — | No browser access; generate_figma_design HTML capture limitation documented in S… |
| Database | NONE | NONE | — | No database access found |
13 findings
Medium External URL 外部 URL
https://keepachangelog.com/ CHANGELOG.md:5 Medium External URL 外部 URL
https://semver.org/ CHANGELOG.md:5 Medium External URL 外部 URL
https://mcp.figma.com/mcp README.md:5 Medium External URL 外部 URL
https://img.shields.io/badge/License-MIT-green.svg README.md:9 Medium External URL 外部 URL
https://img.shields.io/badge/version-v0.1.0-blue.svg README.md:10 Medium External URL 外部 URL
https://clawhub.ai README.md:11 Medium External URL 外部 URL
https://img.shields.io/badge/ClawHub-skill-purple.svg README.md:11 Medium External URL 外部 URL
https://nodejs.org README.md:57 Medium External URL 外部 URL
https://help.figma.com/hc/en-us/articles/32132100833559 README.md:58 Medium External URL 外部 URL
https://developers.figma.com/docs/figma-mcp-server/write-to-canvas/ README.md:168 Medium External URL 外部 URL
https://api.figma.com/v1/oauth/token scripts/bootstrap-token.mjs:32 Medium External URL 外部 URL
https://figma.com/mcp scripts/figma-mcp.mjs:179 Info Email 邮箱地址
[email protected] package.json:6 File Tree
9 files · 34.4 KB · 946 lines Markdown 4f · 477L
JavaScript 4f · 451L
JSON 1f · 18L
├─
▾
references
│ └─
figma-api.md
Markdown
├─
▾
scripts
│ ├─
bootstrap-token.mjs
⚠
JavaScript
│ ├─
figma-mcp-cli.mjs
JavaScript
│ ├─
figma-mcp.mjs
JavaScript
│ └─
token-scanner.mjs
⚠
JavaScript
├─
CHANGELOG.md
Markdown
├─
package.json
JSON
├─
README.md
Markdown
└─
SKILL.md
Markdown
Dependencies 1 items
| Package | Version | Source | Known Vulns | Notes |
|---|---|---|---|---|
(none) | N/A | npm | No | No dependencies declared in package.json — uses only built-in Node.js modules (fs, os, path, fetch) |
Security Positives
✓ 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