registry  /  hyperframes  /  0.7.51

hyperframes@0.7.51

HyperFrames CLI — create, preview, and render HTML video compositions

AI Security Review

scanned 2h ago · by lpm-firewall-ai

Review flagged AI-agent configuration or capability changes. This remains warn-only unless evidence shows foreign-agent hijack through preinstall/install/postinstall, hidden persistence, exfiltration, remote code execution, or other concrete malicious behavior.

Static reason
One or more suspicious static signals were detected.
Trigger
User runs `hyperframes skills`, or runs a normal non-JSON CLI command.
Impact
User-authorized agent-skill configuration changes; telemetry reveals sanitized runtime metadata; automatic updates alter the installed HyperFrames package.
Mechanism
Explicit global skill installation plus telemetry and detached package self-update.
Rationale
Source inspection found no install hook or concrete malicious chain. The confirmed risk is explicit-user agent extension mutation and default telemetry/self-update behavior, so this is suspicious rather than malicious.
Evidence
package.jsondist/cli.jsdist/studio/index.js~/.codex/skills~/.claude/skills~/.agents/skills~/.hyperframes/config.json~/.hyperframes/auto-update.log
Network endpoints3
github.com/heygen-com/hyperframesus.i.posthog.com/batch/registry.npmjs.org/hyperframes/latest

Decision evidence

public snapshot
AI called this Suspicious at 91.0% confidence as Dangerous Capability with low false-positive risk.
Evidence for warning
  • `dist/cli.js` registers an explicit `skills` command that installs and mirrors skills into global AI-agent skill directories, including `.codex/skills` and `.claude/skills`.
  • `dist/cli.js` enables PostHog telemetry by default and sends runtime, hardware, CI, and sanitized agent-environment metadata to `https://us.i.posthog.com/batch/`.
  • Normal non-JSON CLI use checks npm and can spawn a detached global package update unless disabled.
Evidence against
  • `package.json` has no `preinstall`, `install`, or `postinstall` lifecycle hook.
  • Agent-directory writes are reached through the user-invoked `hyperframes skills` workflow, not package installation.
  • Studio network calls use same-origin `/api/...` endpoints for its local preview/render application.
  • No source evidence of credential harvesting, arbitrary remote payload execution, destructive deletion outside command functions, or covert AI-agent control mutation.
Behavioral surface
Source
ChildProcessDynamicRequireEnvironmentVarsFilesystemNetworkShell
Supply chain
HighEntropyStringsMinifiedObfuscatedTelemetryUrlStrings
Manifest
NoLicense
scanned 16 file(s), 3.78 MB of source, external domains: aomediacodec.github.io, api.figma.com, api.heygen.com, cdn.example.com, cdn.jsdelivr.net, evilmartians.com, example.com, fonts.googleapis.com, github.com, react.dev, studio.local, us.i.posthog.com, www.figma.com, www.w3.org, www.w3ctech.com, www.webmproject.org
Oversized source lightweight scan
dist/cli.js9.25 MB file, sampled 256 KB
FilesystemNetworkChildProcessEnvironmentVarsShellDynamicRequireHighEntropyStringsUrlStringsapi.figma.comapi.heygen.comcdn.example.comexample.comwww.figma.com
dist/studio/assets/index-BiJK2Lfo.js3.17 MB file, sampled 256 KB
NetworkChildProcessObfuscatedHighEntropyStringsMinifiedTelemetryUrlStringsgithub.comreact.devwww.w3.org

Source & flagged code

3 flagged · loading source
dist/studio/index.jsView file
207fill: "none", L208: xmlns: "http://www.w3.org/2000/svg", L209: "aria-hidden": "true", ... L1291: if (!raw) return {}; L1292: const parsed = JSON.parse(raw); L1293: if (!isRecord2(parsed)) return {}; ... L1573: try { L1574: return import.meta.env.DEV === true; L1575: } catch { ... L1710: headers: { "Content-Type": "application/json" }, L1711: body: JSON.stringify({ api_key: POSTHOG_API_KEY, batch }), L1712: signal: controller.signal
High
Sandbox Evasion Gated Capability

Source gates dangerous network, credential, or execution behavior behind CI, host, platform, time, or geo fingerprint checks.

dist/studio/index.jsView on unpkg · L207
dist/studio/assets/index-BiJK2Lfo.jsView file
path = dist/studio/assets/index-BiJK2Lfo.js kind = oversized_source_file sizeBytes = 3326591 magicHex = [redacted]
High
Oversized Source File

Package contains source files above the static scanner size ceiling.

dist/studio/assets/index-BiJK2Lfo.jsView on unpkg
dist/cli.jsView file
path = dist/cli.js kind = oversized_cli_entrypoint sizeBytes = 9702607 magicHex = [redacted]
Medium
Oversized Cli Entrypoint

Package contains an oversized executable-looking CLI entrypoint.

dist/cli.jsView on unpkg

Findings

2 High5 Medium7 Low
HighSandbox Evasion Gated Capabilitydist/studio/index.js
HighOversized Source Filedist/studio/assets/index-BiJK2Lfo.js
MediumDynamic Require
MediumNetwork
MediumEnvironment Vars
MediumOversized Cli Entrypointdist/cli.js
MediumStructural Risk Force Deep Review
LowScripts Present
LowFilesystem
LowObfuscated
LowHigh Entropy Strings
LowTelemetry
LowUrl Strings
LowNo License