registry  /  @framer/agent  /  0.0.38

@framer/agent@0.0.38

CLI and skills for connecting your AI agents to Framer.

Static Scan Results

scanned 2h ago · by rust-scanner

Static analysis flagged 12 finding(s) at 72.0% confidence. This version is warn-only unless an AI or security-team review confirms malicious behavior.

Static reason
One or more suspicious static signals were detected.

Decision evidence

public snapshot
Behavioral surface
Source
ChildProcessCryptoDynamicRequireEnvironmentVarsFilesystemNetworkShell
Supply chain
HighEntropyStringsUrlStrings
Manifest
NoLicense
scanned 2 file(s), 667 KB of source, external domains: 127.0.0.1, developer.mozilla.org, events.framer.com, example.com, fonts.googleapis.com, fonts.gstatic.com, framer.com, nodejs.org

Source & flagged code

5 flagged · loading source
dist/start-relay-server.jsView file
3import path5 from 'path'; L4: import { execFileSync } from 'child_process'; L5: import 'net';
High
Child Process

Package source references child process execution.

dist/start-relay-server.jsView on unpkg · L3
544var EXECUTION_TIMEOUT = 10 * 60 * 1e3; L545: var baseRequire = createRequire(import.meta.url); L546: var ALLOWED_MODULES = /* @__PURE__ */ new Set([
Medium
Dynamic Require

Package source references dynamic require/import behavior.

dist/start-relay-server.jsView on unpkg · L544
3import path5 from 'path'; L4: import { execFileSync } from 'child_process'; L5: import 'net'; ... L8: import crypto, { randomUUID, timingSafeEqual } from 'crypto'; L9: import http from 'http'; L10: import { createHTTPHandler } from '@trpc/server/adapters/standalone'; ... L62: L63: // package.json L64: var name = "@framer/agent"; ... L81: function getLogPath() { L82: if (process.env.XDG_STATE_HOME) { L83: return path5.join(process.env.XDG_STATE_HOME, "framer", "relay.log");
Medium
Unsafe Vm Context

Package source executes code through a VM context API.

dist/start-relay-server.jsView on unpkg · L3
dist/cli.jsView file
17518__name(ensureRelayForCli, "ensureRelayForCli"); L17519: async function execAndPrint(sessionId, code) { L17520: await ensureRelayForCli();
High
Shell

Package source references shell execution.

dist/cli.jsView on unpkg · L17518
5Cross-file remote execution chain: dist/cli.js spawns dist/start-relay-server.js; helper contains network access plus dynamic code execution. L5: import crypto, { randomUUID } from 'crypto'; L6: import http from 'http'; L7: import { spawn, execFile, execFileSync } from 'child_process'; L8: import { z } from 'zod'; ... L19: L20: // package.json L21: var name = "@framer/agent"; ... L69: __name(normalizeAgentThreadContext, "normalizeAgentThreadContext"); L70: function resolveAgentThreadContext(env = process.env) { L71: for (const { provider, envVar } of threadIdEnvVars) { ... L88: function getOpenUrlCommand(url) { L89: const platform = process.platform;
High
Cross File Remote Execution Context

Source spawns a local helper that also contains network and dynamic execution context; review data flow before blocking.

dist/cli.jsView on unpkg · L5

Findings

3 High4 Medium5 Low
HighChild Processdist/start-relay-server.js
HighShelldist/cli.js
HighCross File Remote Execution Contextdist/cli.js
MediumDynamic Requiredist/start-relay-server.js
MediumUnsafe Vm Contextdist/start-relay-server.js
MediumNetwork
MediumEnvironment Vars
LowScripts Present
LowFilesystem
LowHigh Entropy Strings
LowUrl Strings
LowNo License