media-use
116 findings (52 critical, 22 medium, 22 low, 20 info), mainly command injection, policy violation, data exfiltration. Most recent scan 2026-10-22.
Second scanner: NVIDIA SkillSpector
Independent static run, no language model, over the same files as the Cisco scan above. How the two scanners compare across the whole corpus: Two scanners, one corpus.
What this skill does
Get or make any media for a HyperFrames video - music, sound effects, images, icons, logos, voiceover, avatar and generated video, transcripts, cutouts, colour grades and looks - with HeyGen or free local tools, and mix placed audio. Also for footage that looks dark, flat or dull, or should be stylized or hidden.
- Package
- 116 files, 1.8 MB
- SKILL.md
- 714 words, 5 sections
- Code
- JavaScript (65), Python (4)
SKILL.md covers: Media in HyperFrames · Two ways to get it · Looks on real footage · Offer once, never add silently · Where to look
Findings
CRITICAL Node.js child_process module usage for shell command execution Command Injectionstatic
Pattern detected: from "node:child_process"
audio/scripts/audio.test.mjs:4
import { spawnSync } from "node:child_process";CRITICAL Node.js child_process module usage for shell command execution Command Injectionstatic
Pattern detected: spawnSync(
audio/scripts/audio.test.mjs:141
return spawnSync(process.execPath, [join(HERE, "audio.mjs"), "--hyperframes", dir, ...args], {CRITICAL Node.js child_process module usage for shell command execution Command Injectionstatic
Pattern detected: from "node:child_process"
audio/scripts/carve.mjs:27
import { execFileSync } from "node:child_process";CRITICAL Node.js child_process module usage for shell command execution Command Injectionstatic
Pattern detected: from "node:child_process"
audio/scripts/carve.test.mjs:3
import { execFileSync } from "node:child_process";CRITICAL Node.js child_process module usage for shell command execution Command Injectionstatic
Pattern detected: from "node:child_process"
audio/scripts/gemini-pipeline.test.mjs:6
import { spawnSync } from "node:child_process";CRITICAL Node.js child_process module usage for shell command execution Command Injectionstatic
Pattern detected: spawnSync(
audio/scripts/gemini-pipeline.test.mjs:78
const result = spawnSync(CRITICAL Node.js child_process module usage for shell command execution Command Injectionstatic
Pattern detected: from "node:child_process"
audio/scripts/heygen-tts.test.mjs:3
import { spawnSync } from "node:child_process";CRITICAL Node.js child_process module usage for shell command execution Command Injectionstatic
Pattern detected: spawnSync(
audio/scripts/heygen-tts.test.mjs:17
const run = spawnSync(CRITICAL Node.js child_process module usage for shell command execution Command Injectionstatic
Pattern detected: from "node:child_process"
audio/scripts/lib/audio-meta.test.mjs:14
import { spawnSync } from "node:child_process";CRITICAL Node.js child_process module usage for shell command execution Command Injectionstatic
Pattern detected: spawnSync(
audio/scripts/lib/audio-meta.test.mjs:110
const result = spawnSync(CRITICAL Node.js child_process module usage for shell command execution Command Injectionstatic
Pattern detected: from "node:child_process"
audio/scripts/lib/bgm.mjs:14
import { spawn, spawnSync } from "node:child_process";CRITICAL Node.js child_process module usage for shell command execution Command Injectionstatic
Pattern detected: spawnSync(
audio/scripts/lib/bgm.mjs:35
return spawnSync(cmd, args, { stdio: "ignore" }).status === 0;CRITICAL Node.js child_process module usage for shell command execution Command Injectionstatic
Pattern detected: spawnSync(
audio/scripts/lib/bgm.mjs:45
return spawnSync(cmd, args, { stdio: "ignore" }).status === 0;CRITICAL Dangerous code execution functions that can execute arbitrary code Command Injectionstatic
Pattern detected: eval(
audio/scripts/lib/bgm.mjs:232
model.eval()CRITICAL Node.js child_process module usage for shell command execution Command Injectionstatic
Pattern detected: from "node:child_process"
audio/scripts/lib/gemini-auth.mjs:1
import { spawnSync } from "node:child_process";CRITICAL Node.js child_process module usage for shell command execution Command Injectionstatic
Pattern detected: from "node:child_process"
audio/scripts/lib/gemini-auth.test.mjs:1
import { spawnSync } from "node:child_process";CRITICAL Node.js child_process module usage for shell command execution Command Injectionstatic
Pattern detected: spawnSync(
audio/scripts/lib/gemini-auth.test.mjs:84
const result = spawnSync(cmd, args, { encoding: "utf8", timeout: 30_000 });CRITICAL Node.js child_process module usage for shell command execution Command Injectionstatic
Pattern detected: from "node:child_process"
audio/scripts/lib/python.mjs:18
import { spawnSync } from "node:child_process";CRITICAL Node.js child_process module usage for shell command execution Command Injectionstatic
Pattern detected: spawnSync(
audio/scripts/lib/python.mjs:26
const result = spawnSync(cmd, args, { encoding: "utf-8", timeout: 5000 });CRITICAL Node.js child_process module usage for shell command execution Command Injectionstatic
Pattern detected: from "node:child_process"
audio/scripts/lib/tts.cleanup.test.mjs:3
import { spawnSync } from "node:child_process";CRITICAL Node.js child_process module usage for shell command execution Command Injectionstatic
Pattern detected: from "node:child_process"
audio/scripts/lib/tts.cleanup.test.mjs:37
import childProcess from "node:child_process";CRITICAL Node.js child_process module usage for shell command execution Command Injectionstatic
Pattern detected: spawnSync(
audio/scripts/lib/tts.cleanup.test.mjs:129
const result = spawnSync(process.execPath, ["--input-type=module", "-e", exercise], {CRITICAL Node.js child_process module usage for shell command execution Command Injectionstatic
Pattern detected: from "node:child_process"
audio/scripts/lib/tts.mjs:17
import { spawn, spawnSync } from "node:child_process";CRITICAL Node.js child_process module usage for shell command execution Command Injectionstatic
Pattern detected: spawnSync(
audio/scripts/lib/tts.mjs:33
const r = spawnSync(cmd, args, {CRITICAL Node.js child_process module usage for shell command execution Command Injectionstatic
Pattern detected: spawnSync(
audio/scripts/lib/tts.mjs:111
const r = spawnSync("ffmpeg", ["-i", absPath], { encoding: "utf8" });CRITICAL Node.js child_process module usage for shell command execution Command Injectionstatic
Pattern detected: spawnSync(
audio/scripts/lib/tts.mjs:116
const r = spawnSync(CRITICAL Node.js child_process module usage for shell command execution Command Injectionstatic
Pattern detected: spawnSync(
audio/scripts/lib/tts.mjs:223
const ff = spawnSync(CRITICAL Node.js child_process module usage for shell command execution Command Injectionstatic
Pattern detected: from "node:child_process"
audio/scripts/wait-bgm.test.mjs:3
import { spawnSync } from "node:child_process";CRITICAL Node.js child_process module usage for shell command execution Command Injectionstatic
Pattern detected: spawnSync(
audio/scripts/wait-bgm.test.mjs:87
const run = spawnSync(process.execPath, [script, ...args, "--timeout-ms", "1000"], {CRITICAL Node.js child_process module usage for shell command execution Command Injectionstatic
Pattern detected: from "node:child_process"
scripts/compatibility.test.mjs:4
import { execFileSync } from "node:child_process";CRITICAL Node.js child_process module usage for shell command execution Command Injectionstatic
Pattern detected: from "node:child_process"
scripts/dither.mjs:3
import { execFileSync, spawn } from "node:child_process";CRITICAL Node.js child_process module usage for shell command execution Command Injectionstatic
Pattern detected: from "node:child_process"
scripts/dither.test.mjs:2
import { execFileSync, spawnSync } from "node:child_process";CRITICAL Node.js child_process module usage for shell command execution Command Injectionstatic
Pattern detected: spawnSync(
scripts/dither.test.mjs:11
spawnSync("ffmpeg", ["-version"], { stdio: "ignore" }).status === 0 &&CRITICAL Node.js child_process module usage for shell command execution Command Injectionstatic
Pattern detected: spawnSync(
scripts/dither.test.mjs:12
spawnSync("ffprobe", ["-version"], { stdio: "ignore" }).status === 0;CRITICAL Node.js child_process module usage for shell command execution Command Injectionstatic
Pattern detected: spawnSync(
scripts/dither.test.mjs:24
return spawnSync(process.execPath, [SCRIPT, ...args, "--json"], { encoding: "utf8" });CRITICAL Node.js child_process module usage for shell command execution Command Injectionstatic
Pattern detected: from "node:child_process"
scripts/eval.mjs:18
import { execFileSync } from "node:child_process";CRITICAL Dangerous code execution functions that can execute arbitrary code Command Injectionstatic
Pattern detected: exec (
scripts/lib/npx-sync.mjs:20
// execFileSync/spawnSync cannot exec (spawnSync npx ENOENT) —CRITICAL Node.js child_process module usage for shell command execution Command Injectionstatic
Pattern detected: from "node:child_process"
scripts/resolve-plugin.test.mjs:2
import { spawnSync } from "node:child_process";CRITICAL Node.js child_process module usage for shell command execution Command Injectionstatic
Pattern detected: spawnSync(
scripts/resolve-plugin.test.mjs:24
const result = spawnSync(process.execPath, [join(dir, "resolve.mjs"), "--intent", "a & b"], {CRITICAL Node.js child_process module usage for shell command execution Command Injectionstatic
Pattern detected: spawnSync(
scripts/resolve-plugin.test.mjs:52
const result = spawnSync(process.execPath, [join(scripts, "resolve.mjs")], {CRITICAL Node.js child_process module usage for shell command execution Command Injectionstatic
Pattern detected: from "node:child_process"
scripts/resolve.mjs:2
import { spawnSync } from "node:child_process";CRITICAL Node.js child_process module usage for shell command execution Command Injectionstatic
Pattern detected: spawnSync(
scripts/resolve.mjs:16
const result = spawnSync(invocation.cmd, invocation.args, invocation.opts);CRITICAL Node.js child_process module usage for shell command execution Command Injectionstatic
Pattern detected: spawnSync(
scripts/resolve.mjs:23
? spawnSync(process.execPath, [dist, "media-use", "resolve", ...process.argv.slice(2)], {CRITICAL Node.js child_process module usage for shell command execution Command Injectionstatic
Pattern detected: spawnSync(
scripts/resolve.mjs:26
: spawnSync(CRITICAL Node.js child_process module usage for shell command execution Command Injectionstatic
Pattern detected: from "node:child_process"
scripts/transcribe.mjs:3
import { execFileSync } from "node:child_process";CRITICAL Node.js child_process module usage for shell command execution Command Injectionstatic
Pattern detected: from "node:child_process"
scripts/transcribe.test.mjs:2
import { execFileSync, spawnSync } from "node:child_process";CRITICAL Node.js child_process module usage for shell command execution Command Injectionstatic
Pattern detected: spawnSync(
scripts/transcribe.test.mjs:91
const res = spawnSync(CRITICAL Node.js child_process module usage for shell command execution Command Injectionstatic
Pattern detected: from "node:child_process"
scripts/transcript-cut.mjs:3
import { execFileSync } from "node:child_process";CRITICAL Node.js child_process module usage for shell command execution Command Injectionstatic
Pattern detected: from "node:child_process"
scripts/transcript-cut.test.mjs:2
import { execFileSync, spawnSync } from "node:child_process";CRITICAL Node.js child_process module usage for shell command execution Command Injectionstatic
Pattern detected: spawnSync(
scripts/transcript-cut.test.mjs:11
spawnSync("ffmpeg", ["-version"], { stdio: "ignore" }).status === 0 &&CRITICAL Node.js child_process module usage for shell command execution Command Injectionstatic
Pattern detected: spawnSync(
scripts/transcript-cut.test.mjs:12
spawnSync("ffprobe", ["-version"], { stdio: "ignore" }).status === 0;CRITICAL Node.js child_process module usage for shell command execution Command Injectionstatic
Pattern detected: spawnSync(
scripts/transcript-cut.test.mjs:28
return spawnSync(process.execPath, [SCRIPT, ...args], { encoding: "utf8" });MEDIUM Moderate analyzability score Policy Violationanalyzability
Only 80% of skill content could be analyzed. 19 of 116 files are opaque to the scanner. Some content could not be verified as safe.
MEDIUM Unanalyzable binary file Policy Violationanalyzability
Binary file 'audio/assets/sfx/chime.mp3' cannot be inspected by the scanner. Reason: Binary file (.mp3) - cannot inspect content. Binary files resist static analysis and may contain hidden functionality.
audio/assets/sfx/chime.mp3
MEDIUM Unanalyzable binary file Policy Violationanalyzability
Binary file 'audio/assets/sfx/click-soft.mp3' cannot be inspected by the scanner. Reason: Binary file (.mp3) - cannot inspect content. Binary files resist static analysis and may contain hidden functionality.
audio/assets/sfx/click-soft.mp3
MEDIUM Unanalyzable binary file Policy Violationanalyzability
Binary file 'audio/assets/sfx/click.mp3' cannot be inspected by the scanner. Reason: Binary file (.mp3) - cannot inspect content. Binary files resist static analysis and may contain hidden functionality.
audio/assets/sfx/click.mp3
MEDIUM Unanalyzable binary file Policy Violationanalyzability
Binary file 'audio/assets/sfx/error.mp3' cannot be inspected by the scanner. Reason: Binary file (.mp3) - cannot inspect content. Binary files resist static analysis and may contain hidden functionality.
audio/assets/sfx/error.mp3
MEDIUM Unanalyzable binary file Policy Violationanalyzability
Binary file 'audio/assets/sfx/glitch-1.mp3' cannot be inspected by the scanner. Reason: Binary file (.mp3) - cannot inspect content. Binary files resist static analysis and may contain hidden functionality.
audio/assets/sfx/glitch-1.mp3
MEDIUM Unanalyzable binary file Policy Violationanalyzability
Binary file 'audio/assets/sfx/glitch-2.mp3' cannot be inspected by the scanner. Reason: Binary file (.mp3) - cannot inspect content. Binary files resist static analysis and may contain hidden functionality.
audio/assets/sfx/glitch-2.mp3
MEDIUM Unanalyzable binary file Policy Violationanalyzability
Binary file 'audio/assets/sfx/glitch-3.mp3' cannot be inspected by the scanner. Reason: Binary file (.mp3) - cannot inspect content. Binary files resist static analysis and may contain hidden functionality.
audio/assets/sfx/glitch-3.mp3
MEDIUM Unanalyzable binary file Policy Violationanalyzability
Binary file 'audio/assets/sfx/impact-bass-1.mp3' cannot be inspected by the scanner. Reason: Binary file (.mp3) - cannot inspect content. Binary files resist static analysis and may contain hidden functionality.
audio/assets/sfx/impact-bass-1.mp3
MEDIUM Unanalyzable binary file Policy Violationanalyzability
Binary file 'audio/assets/sfx/impact-bass-2.mp3' cannot be inspected by the scanner. Reason: Binary file (.mp3) - cannot inspect content. Binary files resist static analysis and may contain hidden functionality.
audio/assets/sfx/impact-bass-2.mp3
MEDIUM Unanalyzable binary file Policy Violationanalyzability
Binary file 'audio/assets/sfx/key-press.mp3' cannot be inspected by the scanner. Reason: Binary file (.mp3) - cannot inspect content. Binary files resist static analysis and may contain hidden functionality.
audio/assets/sfx/key-press.mp3
MEDIUM Unanalyzable binary file Policy Violationanalyzability
Binary file 'audio/assets/sfx/notification.mp3' cannot be inspected by the scanner. Reason: Binary file (.mp3) - cannot inspect content. Binary files resist static analysis and may contain hidden functionality.
audio/assets/sfx/notification.mp3
MEDIUM Unanalyzable binary file Policy Violationanalyzability
Binary file 'audio/assets/sfx/ping.mp3' cannot be inspected by the scanner. Reason: Binary file (.mp3) - cannot inspect content. Binary files resist static analysis and may contain hidden functionality.
audio/assets/sfx/ping.mp3
MEDIUM Unanalyzable binary file Policy Violationanalyzability
Binary file 'audio/assets/sfx/pop.mp3' cannot be inspected by the scanner. Reason: Binary file (.mp3) - cannot inspect content. Binary files resist static analysis and may contain hidden functionality.
audio/assets/sfx/pop.mp3
MEDIUM Unanalyzable binary file Policy Violationanalyzability
Binary file 'audio/assets/sfx/riser.mp3' cannot be inspected by the scanner. Reason: Binary file (.mp3) - cannot inspect content. Binary files resist static analysis and may contain hidden functionality.
audio/assets/sfx/riser.mp3
MEDIUM Unanalyzable binary file Policy Violationanalyzability
Binary file 'audio/assets/sfx/sparkle.mp3' cannot be inspected by the scanner. Reason: Binary file (.mp3) - cannot inspect content. Binary files resist static analysis and may contain hidden functionality.
audio/assets/sfx/sparkle.mp3
MEDIUM Unanalyzable binary file Policy Violationanalyzability
Binary file 'audio/assets/sfx/typing.mp3' cannot be inspected by the scanner. Reason: Binary file (.mp3) - cannot inspect content. Binary files resist static analysis and may contain hidden functionality.
audio/assets/sfx/typing.mp3
MEDIUM Unanalyzable binary file Policy Violationanalyzability
Binary file 'audio/assets/sfx/whoosh-cinematic.mp3' cannot be inspected by the scanner. Reason: Binary file (.mp3) - cannot inspect content. Binary files resist static analysis and may contain hidden functionality.
audio/assets/sfx/whoosh-cinematic.mp3
MEDIUM Unanalyzable binary file Policy Violationanalyzability
Binary file 'audio/assets/sfx/whoosh-short.mp3' cannot be inspected by the scanner. Reason: Binary file (.mp3) - cannot inspect content. Binary files resist static analysis and may contain hidden functionality.
audio/assets/sfx/whoosh-short.mp3
MEDIUM Unanalyzable binary file Policy Violationanalyzability
Binary file 'audio/assets/sfx/whoosh.mp3' cannot be inspected by the scanner. Reason: Binary file (.mp3) - cannot inspect content. Binary files resist static analysis and may contain hidden functionality.
audio/assets/sfx/whoosh.mp3
MEDIUM Outbound network request primitives in JavaScript/TypeScript Data Exfiltrationstatic
Pattern detected: fetch(
audio/scripts/lib/heygen.mjs:190
const res = await fetch(`${heygenBase()}${path}`, opts);MEDIUM Outbound network request primitives in JavaScript/TypeScript Data Exfiltrationstatic
Pattern detected: fetch(
scripts/lib/telemetry.mjs:163
await fetch(`${posthogHost()}/batch/`, {LOW Skill package contains many files Policy Violationstatic
Skill package contains 116 files. Large file counts increase attack surface and may indicate bundled dependencies or unnecessary content.
.
LOW Script contacts a destination the documentation never mentions Unauthorized Tool Usestatic
Script contacts or configures 'generativelanguage.googleapis.com' but the skill documentation never visibly mentions it. Undocumented network destinations can indicate behaviour the manifest and description do not disclose.
audio/scripts/gemini-pipeline.test.mjs:38
LOW Node.js filesystem access candidate for sensitive-flow correlation Data Exfiltrationstatic
Pattern detected: fs.writeFileSync(
audio/scripts/gemini-pipeline.test.mjs:60
fs.writeFileSync(path.join(args[args.indexOf('--dir')+1], 'transcript.json'), JSON.stringify([LOW Script contacts a destination the documentation never mentions Unauthorized Tool Usestatic
Script contacts or configures 'api.heygen.com' but the skill documentation never visibly mentions it. Undocumented network destinations can indicate behaviour the manifest and description do not disclose.
audio/scripts/heygen-voice.test.mjs:35
LOW Script contacts a destination the documentation never mentions Unauthorized Tool Usestatic
Script contacts or configures 'oauth2.googleapis.com' but the skill documentation never visibly mentions it. Undocumented network destinations can indicate behaviour the manifest and description do not disclose.
audio/scripts/lib/gemini-auth.py:30
LOW Script contacts a destination the documentation never mentions Unauthorized Tool Usestatic
Script contacts or configures 'www.googleapis.com' but the skill documentation never visibly mentions it. Undocumented network destinations can indicate behaviour the manifest and description do not disclose.
audio/scripts/lib/gemini-auth.py:34
LOW Script contacts a destination the documentation never mentions Unauthorized Tool Usestatic
Script contacts or configures 'api-canary.heygen.com' but the skill documentation never visibly mentions it. Undocumented network destinations can indicate behaviour the manifest and description do not disclose.
audio/scripts/lib/heygen.test.mjs:222
LOW Script contacts a destination the documentation never mentions Unauthorized Tool Usestatic
Script contacts or configures 'freesound.org' but the skill documentation never visibly mentions it. Undocumented network destinations can indicate behaviour the manifest and description do not disclose.
audio/scripts/lib/sfx.test.mjs:142
LOW Node.js filesystem access candidate for sensitive-flow correlation Data Exfiltrationstatic
Pattern detected: fs.readFileSync(
audio/scripts/lib/tts.cleanup.test.mjs:19
const text = fs.readFileSync(input, "utf8");LOW Node.js filesystem access candidate for sensitive-flow correlation Data Exfiltrationstatic
Pattern detected: fs.writeFileSync(
audio/scripts/lib/tts.cleanup.test.mjs:20
fs.writeFileSync(output + ".started", input);LOW Node.js filesystem access candidate for sensitive-flow correlation Data Exfiltrationstatic
Pattern detected: fs.readFileSync(
audio/scripts/lib/tts.cleanup.test.mjs:26
const consumed = fs.readFileSync(input, "utf8");LOW Node.js filesystem access candidate for sensitive-flow correlation Data Exfiltrationstatic
Pattern detected: fs.writeFileSync(
audio/scripts/lib/tts.cleanup.test.mjs:27
fs.writeFileSync(output + ".json", JSON.stringify({ input, text, consumed, args }));LOW Node.js filesystem access candidate for sensitive-flow correlation Data Exfiltrationstatic
Pattern detected: fs.writeFileSync(
audio/scripts/lib/tts.cleanup.test.mjs:29
if (process.env.CASE_MODE !== "no-output") fs.writeFileSync(output, consumed);LOW Node.js filesystem access candidate for sensitive-flow correlation Data Exfiltrationstatic
Pattern detected: fs.writeFileSync(
audio/scripts/lib/tts.cleanup.test.mjs:44
fs.writeFileSync(join(preexisting, "marker"), "keep");LOW Node.js filesystem access candidate for sensitive-flow correlation Data Exfiltrationstatic
Pattern detected: fs.readFileSync(
audio/scripts/lib/tts.cleanup.test.mjs:85
const slowInput = fs.readFileSync(slowWav + ".started", "utf8");LOW Node.js filesystem access candidate for sensitive-flow correlation Data Exfiltrationstatic
Pattern detected: fs.readFileSync(
audio/scripts/lib/tts.cleanup.test.mjs:88
assert.equal(fs.readFileSync(slowInput, "utf8"), "slow");LOW Node.js filesystem access candidate for sensitive-flow correlation Data Exfiltrationstatic
Pattern detected: fs.writeFileSync(
audio/scripts/lib/tts.cleanup.test.mjs:90
fs.writeFileSync(process.env.RELEASE_FILE, "release");LOW Node.js filesystem access candidate for sensitive-flow correlation Data Exfiltrationstatic
Pattern detected: fs.readFileSync(
audio/scripts/lib/tts.cleanup.test.mjs:93
assert.equal(fs.readFileSync(slowWav, "utf8"), "slow");LOW Node.js filesystem access candidate for sensitive-flow correlation Data Exfiltrationstatic
Pattern detected: fs.readFileSync(
audio/scripts/lib/tts.cleanup.test.mjs:104
assert.equal(fs.readFileSync(wavAbs, "utf8"), "synthetic café");LOW Node.js filesystem access candidate for sensitive-flow correlation Data Exfiltrationstatic
Pattern detected: fs.readFileSync(
audio/scripts/lib/tts.cleanup.test.mjs:107
const log = JSON.parse(fs.readFileSync(wavAbs + ".json", "utf8"));LOW Node.js filesystem access candidate for sensitive-flow correlation Data Exfiltrationstatic
Pattern detected: fs.readFileSync(
audio/scripts/lib/tts.cleanup.test.mjs:115
assert.equal(fs.readFileSync(join(preexisting, "marker"), "utf8"), "keep");LOW Script contacts a destination the documentation never mentions Unauthorized Tool Usestatic
Script contacts or configures 'us.i.posthog.com' but the skill documentation never visibly mentions it. Undocumented network destinations can indicate behaviour the manifest and description do not disclose.
scripts/lib/telemetry.mjs:13
INFO Skill does not specify a license Policy Violationstatic
Skill manifest does not include a 'license' field. Specifying a license helps users understand usage terms.
SKILL.md
INFO Binary file detected in skill package Policy Violationstatic
Binary file found: audio/assets/sfx/chime.mp3. Binary files cannot be inspected by static analysis. Consider using Python or Bash scripts for transparency.
audio/assets/sfx/chime.mp3
INFO Binary file detected in skill package Policy Violationstatic
Binary file found: audio/assets/sfx/click-soft.mp3. Binary files cannot be inspected by static analysis. Consider using Python or Bash scripts for transparency.
audio/assets/sfx/click-soft.mp3
INFO Binary file detected in skill package Policy Violationstatic
Binary file found: audio/assets/sfx/click.mp3. Binary files cannot be inspected by static analysis. Consider using Python or Bash scripts for transparency.
audio/assets/sfx/click.mp3
INFO Binary file detected in skill package Policy Violationstatic
Binary file found: audio/assets/sfx/error.mp3. Binary files cannot be inspected by static analysis. Consider using Python or Bash scripts for transparency.
audio/assets/sfx/error.mp3
INFO Binary file detected in skill package Policy Violationstatic
Binary file found: audio/assets/sfx/glitch-1.mp3. Binary files cannot be inspected by static analysis. Consider using Python or Bash scripts for transparency.
audio/assets/sfx/glitch-1.mp3
INFO Binary file detected in skill package Policy Violationstatic
Binary file found: audio/assets/sfx/glitch-2.mp3. Binary files cannot be inspected by static analysis. Consider using Python or Bash scripts for transparency.
audio/assets/sfx/glitch-2.mp3
INFO Binary file detected in skill package Policy Violationstatic
Binary file found: audio/assets/sfx/glitch-3.mp3. Binary files cannot be inspected by static analysis. Consider using Python or Bash scripts for transparency.
audio/assets/sfx/glitch-3.mp3
INFO Binary file detected in skill package Policy Violationstatic
Binary file found: audio/assets/sfx/impact-bass-1.mp3. Binary files cannot be inspected by static analysis. Consider using Python or Bash scripts for transparency.
audio/assets/sfx/impact-bass-1.mp3
INFO Binary file detected in skill package Policy Violationstatic
Binary file found: audio/assets/sfx/impact-bass-2.mp3. Binary files cannot be inspected by static analysis. Consider using Python or Bash scripts for transparency.
audio/assets/sfx/impact-bass-2.mp3
INFO Binary file detected in skill package Policy Violationstatic
Binary file found: audio/assets/sfx/key-press.mp3. Binary files cannot be inspected by static analysis. Consider using Python or Bash scripts for transparency.
audio/assets/sfx/key-press.mp3
INFO Binary file detected in skill package Policy Violationstatic
Binary file found: audio/assets/sfx/notification.mp3. Binary files cannot be inspected by static analysis. Consider using Python or Bash scripts for transparency.
audio/assets/sfx/notification.mp3
INFO Binary file detected in skill package Policy Violationstatic
Binary file found: audio/assets/sfx/ping.mp3. Binary files cannot be inspected by static analysis. Consider using Python or Bash scripts for transparency.
audio/assets/sfx/ping.mp3
INFO Binary file detected in skill package Policy Violationstatic
Binary file found: audio/assets/sfx/pop.mp3. Binary files cannot be inspected by static analysis. Consider using Python or Bash scripts for transparency.
audio/assets/sfx/pop.mp3
INFO Binary file detected in skill package Policy Violationstatic
Binary file found: audio/assets/sfx/riser.mp3. Binary files cannot be inspected by static analysis. Consider using Python or Bash scripts for transparency.
audio/assets/sfx/riser.mp3
INFO Binary file detected in skill package Policy Violationstatic
Binary file found: audio/assets/sfx/sparkle.mp3. Binary files cannot be inspected by static analysis. Consider using Python or Bash scripts for transparency.
audio/assets/sfx/sparkle.mp3
INFO Binary file detected in skill package Policy Violationstatic
Binary file found: audio/assets/sfx/typing.mp3. Binary files cannot be inspected by static analysis. Consider using Python or Bash scripts for transparency.
audio/assets/sfx/typing.mp3
INFO Binary file detected in skill package Policy Violationstatic
Binary file found: audio/assets/sfx/whoosh-cinematic.mp3. Binary files cannot be inspected by static analysis. Consider using Python or Bash scripts for transparency.
audio/assets/sfx/whoosh-cinematic.mp3
INFO Binary file detected in skill package Policy Violationstatic
Binary file found: audio/assets/sfx/whoosh-short.mp3. Binary files cannot be inspected by static analysis. Consider using Python or Bash scripts for transparency.
audio/assets/sfx/whoosh-short.mp3
INFO Binary file detected in skill package Policy Violationstatic
Binary file found: audio/assets/sfx/whoosh.mp3. Binary files cannot be inspected by static analysis. Consider using Python or Bash scripts for transparency.
audio/assets/sfx/whoosh.mp3
What is in the package
116 files, 1.8 MB. Show the list.
| File | Kind | Size |
|---|---|---|
.gitignore | other | 17 B |
SKILL.md | doc | 5.0 KB |
luts/README.md | doc | 1.1 KB |
luts/index.json | config | 2.0 KB |
references/audio.md | doc | 2.2 KB |
references/grading.md | doc | 6.8 KB |
references/local.md | doc | 2.4 KB |
references/media-treatment-recipes.md | doc | 35 KB |
references/media-treatments.md | doc | 14 KB |
references/memory.md | doc | 3.2 KB |
references/meta.md | doc | 6.3 KB |
references/mixing.md | doc | 4.3 KB |
references/operations.md | doc | 15 KB |
references/resolve.md | doc | 9.4 KB |
references/setup-providers.md | doc | 8.4 KB |
references/telemetry-dashboard.md | doc | 4.1 KB |
scripts/audio-duck.mjs | script | 4.0 KB |
scripts/compatibility.test.mjs | script | 1.6 KB |
scripts/dither.mjs | script | 9.7 KB |
scripts/dither.test.mjs | script | 4.6 KB |
scripts/eval.mjs | script | 15 KB |
scripts/prefs.mjs | script | 2.3 KB |
scripts/recipe.mjs | script | 3.8 KB |
scripts/resolve-plugin.test.mjs | script | 2.5 KB |
scripts/resolve.mjs | script | 1.3 KB |
scripts/transcribe.mjs | script | 7.3 KB |
scripts/transcribe.test.mjs | script | 4.0 KB |
scripts/transcript-cut.mjs | script | 10 KB |
scripts/transcript-cut.test.mjs | script | 9.6 KB |
audio/references/bgm.md | doc | 7.9 KB |
audio/references/remove-background.md | doc | 8.3 KB |
audio/references/requirements.md | doc | 4.2 KB |
audio/references/sfx.md | doc | 4.0 KB |
audio/references/transcribe.md | doc | 2.7 KB |
audio/references/tts-to-captions.md | doc | 1.7 KB |
audio/references/tts.md | doc | 13 KB |
audio/scripts/audio.mjs | script | 13 KB |
audio/scripts/audio.test.mjs | script | 5.9 KB |
audio/scripts/carve.mjs | script | 23 KB |
audio/scripts/carve.test.mjs | script | 12 KB |
audio/scripts/extract-audio-data.py | script | 7.0 KB |
audio/scripts/gemini-pipeline.test.mjs | script | 4.8 KB |
audio/scripts/heygen-tts.mjs | script | 4.3 KB |
audio/scripts/heygen-tts.test.mjs | script | 1.4 KB |
audio/scripts/heygen-voice.mjs | script | 3.8 KB |
audio/scripts/heygen-voice.test.mjs | script | 8.3 KB |
audio/scripts/lyria-recipe.py | script | 4.9 KB |
audio/scripts/wait-bgm.mjs | script | 5.7 KB |
audio/scripts/wait-bgm.test.mjs | script | 3.3 KB |
scripts/lib/config-lock.mjs | script | 1.5 KB |
scripts/lib/cutlist.mjs | script | 6.2 KB |
scripts/lib/duck.mjs | script | 3.3 KB |
scripts/lib/error-diffusion.mjs | script | 6.5 KB |
scripts/lib/index-gen.mjs | script | 1.9 KB |
scripts/lib/manifest.mjs | script | 9.2 KB |
scripts/lib/media-fetch.mjs | script | 2.8 KB |
scripts/lib/media-home.mjs | script | 730 B |
scripts/lib/npx-sync.mjs | script | 2.3 KB |
scripts/lib/parakeet-words.mjs | script | 1.1 KB |
scripts/lib/prefs-store.mjs | script | 6.5 KB |
scripts/lib/recipe-store.mjs | script | 13 KB |
scripts/lib/telemetry.mjs | script | 7.2 KB |
scripts/lib/telemetry.test.mjs | script | 2.2 KB |
scripts/lib/transcriptCutFade.mjs | script | 911 B |
scripts/lib/words.mjs | script | 728 B |
audio/assets/sfx/CREDITS.md | doc | 1.2 KB |
audio/assets/sfx/chime.mp3 | binary | 27 KB |
audio/assets/sfx/click-soft.mp3 | binary | 11 KB |
audio/assets/sfx/click.mp3 | binary | 11 KB |
audio/assets/sfx/error.mp3 | binary | 51 KB |
audio/assets/sfx/glitch-1.mp3 | binary | 82 KB |
audio/assets/sfx/glitch-2.mp3 | binary | 110 KB |
audio/assets/sfx/glitch-3.mp3 | binary | 97 KB |
audio/assets/sfx/impact-bass-1.mp3 | binary | 66 KB |
audio/assets/sfx/impact-bass-2.mp3 | binary | 81 KB |
audio/assets/sfx/key-press.mp3 | binary | 3.8 KB |
audio/assets/sfx/manifest.json | config | 3.6 KB |
audio/assets/sfx/notification.mp3 | binary | 77 KB |
audio/assets/sfx/ping.mp3 | binary | 26 KB |
audio/assets/sfx/pop.mp3 | binary | 22 KB |
audio/assets/sfx/riser.mp3 | binary | 314 KB |
audio/assets/sfx/sparkle.mp3 | binary | 56 KB |
audio/assets/sfx/typing.mp3 | binary | 26 KB |
audio/assets/sfx/whoosh-cinematic.mp3 | binary | 173 KB |
audio/assets/sfx/whoosh-short.mp3 | binary | 18 KB |
audio/assets/sfx/whoosh.mp3 | binary | 18 KB |
audio/references/captions/authoring.md | doc | 9.2 KB |
audio/references/captions/motion.md | doc | 5.4 KB |
audio/references/captions/transcript-handling.md | doc | 5.3 KB |
audio/scripts/lib/audio-meta.mjs | script | 1.1 KB |
audio/scripts/lib/audio-meta.test.mjs | script | 4.5 KB |
audio/scripts/lib/bgm-volume.mjs | script | 236 B |
audio/scripts/lib/bgm.mjs | script | 11 KB |
audio/scripts/lib/bgm.test.mjs | script | 2.6 KB |
audio/scripts/lib/concurrency.mjs | script | 527 B |
audio/scripts/lib/concurrency.test.mjs | script | 1.6 KB |
audio/scripts/lib/gemini-auth.mjs | script | 1.6 KB |
audio/scripts/lib/gemini-auth.py | script | 1.9 KB |
audio/scripts/lib/gemini-auth.test.mjs | script | 3.0 KB |
audio/scripts/lib/gemini-auth_test.py | script | 4.3 KB |
audio/scripts/lib/gemini-tts.mjs | script | 4.6 KB |
audio/scripts/lib/gemini-tts.test.mjs | script | 8.8 KB |
audio/scripts/lib/heygen.mjs | script | 11 KB |
audio/scripts/lib/heygen.test.mjs | script | 10.0 KB |
audio/scripts/lib/main-module.mjs | script | 479 B |
audio/scripts/lib/media-record.mjs | script | 4.1 KB |
audio/scripts/lib/media-record.test.mjs | script | 7.7 KB |
audio/scripts/lib/openverse.mjs | script | 4.9 KB |
audio/scripts/lib/python.mjs | script | 3.2 KB |
audio/scripts/lib/python.test.mjs | script | 5.2 KB |
audio/scripts/lib/sfx.mjs | script | 7.2 KB |
audio/scripts/lib/sfx.test.mjs | script | 12 KB |
audio/scripts/lib/tts.cleanup.test.mjs | script | 6.6 KB |
audio/scripts/lib/tts.mjs | script | 17 KB |
audio/scripts/lib/tts.spawn.test.mjs | script | 5.1 KB |
audio/scripts/lib/tts.test.mjs | script | 8.1 KB |
External hosts referenced
api.heygen.com api.openverse.org developers.heygen.com static.heygen.ai api-canary.heygen.com generativelanguage.googleapis.com pixabay.com audio.example oauth2.googleapis.com www.googleapis.com ai.google.dev api.elevenlabs.io api.groq.com api.openai.com freesound.org github.com hyperframes.heygen.com openverse.org us.i.posthog.com
Hostnames that appear in the skill's files. Referencing a host is not a finding; compare against the findings above and the skill's stated purpose.
Environment variables referenced
HEYGEN_API_KEY GEMINI_API_KEY HEYGEN_API_BASE GOOGLE_API_KEY HEYGEN_CONFIG_DIR ELEVENLABS_API_KEY HEYGEN_ACCESS_TOKEN HYPERFRAMES_API_KEY GCS_CREDS GOOGLE_APPLICATION_CREDENTIALS GCLOUD_PROJECT_ID GOOGLE_CLOUD_PROJECT HEYGEN_CLIENT_SOURCE_ARGV HYPERFRAMES_MEDIA_HOME GROQ_API_KEY HYPERFRAMES_WHISPER_PATH MEDIA_USE_TELEMETRY_HOST OPENAI_API_KEY OPENVERSE_AUDIO_URL PREFERENCE_KEYS USERPROFILE
Package contents recorded 2026-10-22 at commit 4371981b740d. The scan above ran against the version current at scan time; the two can differ if the skill has since been updated.
What we checked
- Static analyzer. Pattern rules over SKILL.md and bundled files: known-bad commands, exfiltration URLs, secrets, obfuscation.
- Bytecode analyzer.
- Pipeline analyzer.
- Correlation analyzer.
- Behavioral analyzer. Checks what the skill asks the agent to do against what its description claims it does.
- Trigger analyzer. Looks for instructions that fire on conditions the user did not ask for.
What we did not check
- Runtime behaviour. The skill was not executed; findings come from reading its files.
- Anything fetched at install or run time, including remote scripts, package dependencies, and URLs the skill tells the agent to open.
- Content the analyzers cannot read: images, binaries, and some non-English text.
- Known scanner bypass classes. See the methodology and limitations page.
Sources
- Repository: https://github.com/heygen-com/hyperframes
- Raw scan result: heygen-com-hyperframes-skills-media-use-scan.json
- Badge for your README:
 - Request a re-scan