Skills/npm/vfrey

vfrey@1.0.0-beta.3

CAUTION· install only

Publisher claims: "Make short vertical videos for YouTube Shorts, TikTok and Reels by asking your coding agent: Claude Code, Codex, Cursor or Gemini CLI. Renders on your machine." Observed in sandbox: no network, touches nothing outside the project, writes no memory.

Registry npm (MCP server)Publisher vfrey · publishing for 15 daysInstalls 646Last detonated 1 h ago

Coverage

Nothing executable in the bundle ran; the trace covers the install step only.
Tested
every file read, file written and host contacted by what ran
Not tested
use of the skill by an agent

Is [email protected] safe to install?

KillerSkills ran it in the KillerSkills honeypot sandbox (1 scenario; nothing executable in the bundle ran; the trace covers the install step only) on 2026-11-10 and scored it 68/100 (Caution). It is not known to be malicious, but it has behaviour or code a security policy should decide on before install. Notable findings: Credential pass-through configuration; Hidden zero-width characters detected; Access to sensitive file paths. Summary: no network, touches nothing outside the project, writes no memory.

Behavior trace

Honeypot run · 0 s · 1 scenarios · 0 deviations
t+CategoryObserved action
0.0sprocessno install scripts in bundle
0.0sprocessscript backend runs setup only
0.0sprocessscript backend runs setup only
0.0sprocessno install scripts to re-run

Static findings

HIGH
Credential pass-through configurationsrc/api/client.ts:449 · Credential pass-through configuration — agent relays sensitive credentials// The bypass secret goes only to the console's own origin, never to another storage host.Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST02
HIGH
Hidden zero-width characters detectedsrc/api/ingest.ts:226 · Hidden zero-width characters detected — may conceal contentreturn { plan: JSON.parse(text.replace(/^/, "")) };Fix: Keep SKILL.md to visible, descriptive text. Remove comments and encoded text that address the agent.
AST07
HIGH
Access to sensitive file pathsbin/vfrey.mjs:27 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesif (existsSync(path.join(dir, "vfrey.json"))) return existsSync(path.join(dir, ".env")) ? path.join(dir, ".env") : null;Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
MEDIUM
npx invocation of non-well-known packagesrc/agent/brief.ts:139 · npx invocation of non-well-known package — may execute untrusted code…e, say so plainly and offer the person to switch the series to another engine (`npx vfrey desk series update --id <series> --engine vfrey-render`), or switch this run in…Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/api/client.ts:189 · npx invocation of non-well-known package — may execute untrusted codeif (status === 401) return new ApiFailure("You are not signed in, or this token was revoked.", "run `npx vfrey login`.", 401, "unauthorized");Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/agent/record.ts:68 · npx invocation of non-well-known package — may execute untrusted codereturn `npx vfrey attach ${runId} ${file}`;Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
HIGH
Privileged sudo commandsrc/tts.ts:142 · Privileged sudo command — agent may execute with elevated privileges"Fedora: sudo dnf install espeak-ng",Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
HIGH
Access to sensitive file pathsbin/vfrey.mjs:21 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files// The project's .env loads when it exists, so Node prints no "not found" notice. The project is the nearest folder at or aboveFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
MEDIUM
npx invocation of non-well-known packagesrc/api/client.ts:440 · npx invocation of non-well-known package — may execute untrusted codethrow new ApiFailure("The server sent a storage link that is not a web address.", "update vfrey with `npx vfrey update`, or try again.");Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
HIGH
Access to sensitive file pathsbin/vfrey.mjs:32 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesconst here = path.resolve(process.cwd(), ".env");Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
MEDIUM
npx invocation of non-well-known packagesrc/api/cloud.ts:42 · npx invocation of non-well-known package — may execute untrusted code" npx vfrey cloud push [--videos] [--dry-run] [--json]",Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
File type combined with upload actionsrc/agent/brief.ts:195 · File type combined with upload action — agent may exfiltrate local data filesif (input.kit) await writeFile(path.join(input.dir, "kit.json"), `${JSON.stringify(input.kit, null, 2)}\n`);Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.
AST07
MEDIUM
File type combined with upload actionsrc/agent/brief.ts:194 · File type combined with upload action — agent may exfiltrate local data filesawait writeFile(path.join(input.dir, "timing.json"), `${JSON.stringify(input.timing, null, 2)}\n`);Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.
AST07
HIGH
Privileged sudo commandsrc/tts.ts:141 · Privileged sudo command — agent may execute with elevated privileges"Debian or Ubuntu: sudo apt install espeak-ng",Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
MEDIUM
npx invocation of non-well-known packagesrc/api/client.ts:486 · npx invocation of non-well-known package — may execute untrusted codeif (status >= 200 && status < 300) throw new ApiFailure("The vfrey server sent an answer this version does not understand.", "update vfrey with `npx vfrey update`.", status);Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
HIGH
Access to sensitive file pathssrc/tts-sapi.ts:77 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesreturn { command: "powershell", args: POWERSHELL_ARGS, stdin: SAPI_SCRIPT, env: { ...env, ...vars } as NodeJS.ProcessEnv };Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
MEDIUM
npx invocation of non-well-known packagesrc/api/cloud.ts:41 · npx invocation of non-well-known package — may execute untrusted code"usage: npx vfrey cloud link [--json]",Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/api/client.ts:232 · npx invocation of non-well-known package — may execute untrusted codereturn new ApiFailure(message || `The vfrey server answered ${status}.`, status >= 500 ? "try again in a moment." : "run `npx vfrey doctor` and check the line above.", status, err?.code);Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
HIGH
Access to sensitive file pathsbin/vfrey.mjs:22 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files// the working directory that holds vfrey.json (the way git finds .git); outside a project, the working directory's own .env.Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Privileged sudo commandsrc/tts.ts:143 · Privileged sudo command — agent may execute with elevated privileges"Alpine: sudo apk add espeak-ng",Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
MEDIUM
npx invocation of non-well-known packagesrc/api/commands.ts:163 · npx invocation of non-well-known package — may execute untrusted codeelse if (answer.error === "access_denied") return refuse(io, "Sign-in was denied in the browser.", "run `npx vfrey login` again and choose Approve.");Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
File type combined with upload actionsrc/api/ingest.ts:125 · File type combined with upload action — agent may exfiltrate local data filesconst extra = { posts: differs(flags.csv, "posts.csv"), groups: differs(flags.groupsCsv, "groups.csv"), report: differs(flags.html, "report.html") };Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.
AST07
MEDIUM
npx invocation of non-well-known packagesrc/api/ingest.ts:28 · npx invocation of non-well-known package — may execute untrusted code" npx vfrey research report <run-dir...> [--out DIR] [--title T] [--top N] [--country VN] [--language vi] [--exclude-brands] [--rank reach|consistency|engagement] [--open]",Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/api/ingest.ts:29 · npx invocation of non-well-known package — may execute untrusted code" npx vfrey research schema [--recipe ID] [--json] [--file result|report]",Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
File type combined with upload actionsrc/api/ingest.ts:144 · File type combined with upload action — agent may exfiltrate local data files…re spent: read summary.md instead of running it again.\n`); if (!dir && !flags.csv && !flags.html && !flags.md && !flags.groupsCsv && !flags.json) io.stdout("Save everything: add --out DIR (writes summary.md, posts.csv, groups.csv, result.…Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.
AST07
MEDIUM
npx invocation of non-well-known packagesrc/api/creators.ts:106 · npx invocation of non-well-known package — may execute untrusted codeconst PROFILE_FIX = "check the platform and handle, like `npx vfrey creators show @name --platform tiktok`.";Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/api/mail.ts:27 · npx invocation of non-well-known package — may execute untrusted codeconst show = id ? `\`npx vfrey mail show --id ${clean(id)}\`` : "`npx vfrey mail drafts`";Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/api/creators.ts:105 · npx invocation of non-well-known package — may execute untrusted codeconst SEARCH_FIX = "list the niche ids with `npx vfrey topics niches`.";Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/api/topics.ts:36 · npx invocation of non-well-known package — may execute untrusted codeif (!found) throw new ApiFailure("You are not signed in.", "run `npx vfrey login`.", undefined, "not_signed_in");Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/api/commands.ts:101 · npx invocation of non-well-known package — may execute untrusted codeif (parsed.error) return refuse(io, parsed.error, "usage: npx vfrey login [--api URL] [--no-browser].");Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/api/mail.ts:17 · npx invocation of non-well-known package — may execute untrusted codeconst PERSON_ONLY = "an agent token can't approve or send; a person signs in with `npx vfrey login` and runs it.";Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/api/cloud.ts:44 · npx invocation of non-well-known package — may execute untrusted code" npx vfrey cloud status [--json]",Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/api/commands.ts:155 · npx invocation of non-well-known package — may execute untrusted codereturn refuse(io, "Signed in, but the token could not be saved on this machine.", "make the vfrey home folder writable (VFREY_HOME), then run `npx vfrey login` again.");Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/api/topics.ts:57 · npx invocation of non-well-known package — may execute untrusted codethrow withInputFix(error, "list the niche ids with `npx vfrey topics niches`.");Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/api/fix.ts:40 · npx invocation of non-well-known package — may execute untrusted codereturn `${pack ? `Buy ${pack.credits} credits for $${pack.usd}` : "Buy credits"}: ${url} Then run \`npx vfrey whoami\` to see your balance.`;Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/api/commands.ts:127 · npx invocation of non-well-known package — may execute untrusted codeif (now() >= deadline) return refuse(io, "The sign-in code expired.", "run `npx vfrey login` again.");Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/api/ingest.ts:31 · npx invocation of non-well-known package — may execute untrusted code" npx vfrey creators find --query \"muji sale\" --region VN [--must-mention muji] [--any-of sale,giảm]",Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/api/cloud.ts:43 · npx invocation of non-well-known package — may execute untrusted code" npx vfrey cloud pull [--json]",Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/api/cloud.ts:54 · npx invocation of non-well-known package — may execute untrusted codereturn refuse(io, error instanceof Error ? clean(error.message) : "Something went wrong.", "run `npx vfrey doctor` and check the line above.");Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/api/mail.ts:33 · npx invocation of non-well-known package — may execute untrusted codeif (/creator/i.test(text)) return mk(text, "look the creator up with `npx vfrey creators show @handle --platform tiktok`, or draft without --creator.");Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/api/creators.ts:183 · npx invocation of non-well-known package — may execute untrusted codethrow withInputFix(error, "check the platform and handle, like `npx vfrey creators watch add @name --platform tiktok`.");Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/api/fix.ts:34 · npx invocation of non-well-known package — may execute untrusted code/** What the Fix: line says for a `fix`. "npx vfrey" is rewritten when printed to the invocation that works from here (`npx @vfrey/vfrey` outside a project). */Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/api/ingest.ts:27 · npx invocation of non-well-known package — may execute untrusted code"usage: npx vfrey research run --plan plan.json [--quote] [--json] [--out DIR] [--md FILE] [--csv FILE] [--groups-csv FILE] [--html FILE] [--open] [--max-credits N] [--top N]",Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/api/creators.ts:107 · npx invocation of non-well-known package — may execute untrusted codeconst WATCH_FIX = "list your watchlists with `npx vfrey creators watch list`.";Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
File type combined with upload actionsrc/api/ingest.ts:114 · File type combined with upload action — agent may exfiltrate local data filesconst csvFile = flags.csv ?? inDir("posts.csv");Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.
AST07
MEDIUM
npx invocation of non-well-known packagesrc/api/fix.ts:42 · npx invocation of non-well-known package — may execute untrusted codereturn `upgrade your plan${fix.packs?.length ? " or top up credits" : ""} at ${url}. Then run \`npx vfrey whoami\` to check your plan.`;Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/api/ingest.ts:30 · npx invocation of non-well-known package — may execute untrusted code" npx vfrey research trends --region VN [--platform tiktok] [--group hashtag|sound|creator|day]",Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
File type combined with upload actionsrc/api/ingest.ts:130 · File type combined with upload action — agent may exfiltrate local data filesif (extra.posts) writeOut(inDir("posts.csv")!, postsCsv);Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.
AST07
MEDIUM
File type combined with upload actionsrc/api/ingest.ts:184 · File type combined with upload action — agent may exfiltrate local data files…hows the cost, spends nothing)", " npx vfrey research run --plan plan.json --max-credits 20 --out out/x (summary.md, posts.csv, groups.csv, result.json, report.html; comments.csv and transcripts.csv wh…Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.
AST07
MEDIUM
npx invocation of non-well-known packagesrc/api/commands.ts:40 · npx invocation of non-well-known package — may execute untrusted codereturn refuse(io, error instanceof Error ? clean(error.message) : "Something went wrong.", "run `npx vfrey doctor` and check the line above.");Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/api/creators.ts:112 · npx invocation of non-well-known package — may execute untrusted codeif (value === null || value === undefined || !ok(value)) throw new ApiFailure("The vfrey server sent an answer this version does not understand.", "update vfrey with `npx vfrey update`.");Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/api/mail.ts:34 · npx invocation of non-well-known package — may execute untrusted codereturn mk(text || "No such draft.", "list your drafts with `npx vfrey mail drafts`.");Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/api/topics.ts:53 · npx invocation of non-well-known package — may execute untrusted codethrow new ApiFailure("The vfrey server sent an answer this version does not understand.", "update vfrey with `npx vfrey update`.");Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/desk/verbs.ts:20 · npx invocation of non-well-known package — may execute untrusted code/** A niche id from `npx vfrey topics niches`, such as ai-tools or my-niche-1a2b3c. */Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/desk/handoff.ts:71 · npx invocation of non-well-known package — may execute untrusted code" npx vfrey videos # finished videos with paths",Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/desk/handoff.ts:70 · npx invocation of non-well-known package — may execute untrusted code" npx vfrey desk snapshot --json # every run with its checks and errors",Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/desk/cli.ts:197 · npx invocation of non-well-known package — may execute untrusted codeif (!id) throw new UsageError("Missing the series id.", "Pass it as `npx vfrey desk series targets <id>`.");Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/doctor.ts:168 · npx invocation of non-well-known package — may execute untrusted code…OVIDER=kokoro asks for the natural voice, and it is not installed", fix: `Run \`npx vfrey voice install\` (${kokoroSizeText("q8")}, once).` }; } if ((natural.install…Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/doctor.ts:176 · npx invocation of non-well-known package — may execute untrusted code…ce(system) : "system"} voice (for a free natural voice in other languages run \`npx vfrey voice install --language <code>\`: ${SUPERTONIC_LANGUAGE_COUNT_TEXT}; ${superto…Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/cli.ts:50 · npx invocation of non-well-known package — may execute untrusted codeexport: "npx vfrey creators export ...",Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/api/topics.ts:64 · npx invocation of non-well-known package — may execute untrusted codethrow new ApiFailure("The vfrey server sent an answer this version does not understand.", "update vfrey with `npx vfrey update`.");Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/brand/load.ts:176 · npx invocation of non-well-known package — may execute untrusted code…anceof Error ? error.message : String(error)}).`, fix: "fix the syntax, or run `npx vfrey brand init` for a starter." }] }; } const result = brandSchema.safeParse(js…Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/desk/verbs.ts:111 · npx invocation of non-well-known package — may execute untrusted codeother ? `Choose ${other.label}: \`npx vfrey engine use ${other.id}\`.` : "Run `npx vfrey doctor` to see what is missing.",Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/desk/http.ts:464 · npx invocation of non-well-known package — may execute untrusted code…was not started from a project, so there is nowhere to leave a request.", "Run `npx vfrey open` in your project folder, or use Copy prompt for your agent."); const…Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/brand/flag.ts:9 · npx invocation of non-well-known package — may execute untrusted codeif (at !== -1 && (!value || value.startsWith("--"))) return { ok: false, reason: "--brand needs a file.", fix: "pass a brand file inside the project; `npx vfrey brand init` writes a starter." };Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
File type combined with upload actionsrc/desk/verbs.ts:246 · File type combined with upload action — agent may exfiltrate local data filesconst row = store.db.prepare(`SELECT config_json FROM desk_platforms WHERE series_id = ? AND platform = ?`).get(input.id, target.platform) as { config_json: string } | undefined;Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.
AST07
MEDIUM
npx invocation of non-well-known packagesrc/api/topics.ts:97 · npx invocation of non-well-known package — may execute untrusted codeconst balance = "See your balance with `npx vfrey whoami`.";Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/desk/verbs.ts:104 · npx invocation of non-well-known package — may execute untrusted codereturn no(`${input.engine} is not an engine.`, "Run `npx vfrey engine list` to see the engines.");Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/cli.ts:51 · npx invocation of non-well-known package — may execute untrusted codejob: "npx vfrey desk job ...",Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/doctor.ts:162 · npx invocation of non-well-known package — may execute untrusted code…pertonic asks for the multilingual voice, and it is not installed", fix: `Run \`npx vfrey voice install --language vi\` (${supertonicSizeText()}, once).` }; } if (pr…Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/brand/series.ts:14 · npx invocation of non-well-known package — may execute untrusted code… fix: "run it from inside the project folder (the one with vfrey.json), or run `npx vfrey init` first." }; const abs = canonicalPath(path.resolve(cwd, value)); if (!…Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/desk/handoff.ts:75 · npx invocation of non-well-known package — may execute untrusted code… ` npx vfrey desk job retry --id ${run.id}`, "or make a new video with `npx vfrey tick --now --about \"<subject>\" --script scripts/<idea>.json --scene scenes/<i…Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/cli.ts:47 · npx invocation of non-well-known package — may execute untrusted codewatch: "npx vfrey creators watch ...",Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/desk/ui/app.js:64 · npx invocation of non-well-known package — may execute untrusted code…tip = ""; return; } if (!a.signedIn) { setHtml(el, html`Not signed in · <code>npx vfrey login</code>`); el.title = "Run npx vfrey login in a terminal"; row.dataset.tip…Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/doctor.ts:130 · npx invocation of non-well-known package — may execute untrusted code… (\`${WINGET.chrome}\`)` : ""} first. (Pictures & clips does not need Chrome: \`npx vfrey render --engine pictures\` and \`tick --engine pictures\` use ffmpeg alone.)`, …Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/cli.ts:48 · npx invocation of non-well-known package — may execute untrusted codefind: "npx vfrey creators find ...",Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/desk/handoff.ts:69 · npx invocation of non-well-known package — may execute untrusted code` npx vfrey open ${run.id} --no-browser # the run page link`,Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/brand/load.ts:160 · npx invocation of non-well-known package — may execute untrusted codereturn { path: where, reason: `${where ? `${where}: ` : ""}${message}`, fix: "see `npx vfrey brand init` for the shape of brand.json." };Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
File type combined with upload actionsrc/desk/verbs.ts:385 · File type combined with upload action — agent may exfiltrate local data filesconst row = store.db.prepare(`SELECT kind FROM desk_sources WHERE id = ?`).get(input.id) as { kind: string } | undefined;Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.
AST07
MEDIUM
npx invocation of non-well-known packagesrc/doctor.ts:187 · npx invocation of non-well-known package — may execute untrusted code…oice: ${system} (with ffmpeg). It sounds robotic. To get a natural voice: run \`npx vfrey voice install\` (${kokoroSizeText("q8")}, once) for English that works offline,…Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/brand/load.ts:288 · npx invocation of non-well-known package — may execute untrusted codethrow new BrandError(`Cannot read the brand file ${file}.`, "check the path, or run `npx vfrey brand init` to write a starter.");Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/desk/handoff.ts:74 · npx invocation of non-well-known package — may execute untrusted code` npx vfrey desk job retry --id ${run.id}`,Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/desk/http.ts:415 · npx invocation of non-well-known package — may execute untrusted codeif (!file || !existsSync(file)) return refuse(res, 404, "No cover for that run.", "Make one with `npx vfrey tick --thumbnail`, or put a thumbnail field in the script.");Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/desk/verbs.ts:228 · npx invocation of non-well-known package — may execute untrusted code? "Copy the id shown for the account on the series page (or `desk snapshot`), then run `npx vfrey desk series live --id " + input.id + " --confirm <channel id>` again."Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/brand/series.ts:17 · npx invocation of non-well-known package — may execute untrusted codeif (!existsSync(abs)) return { ok: false, reason: `${value} does not exist.`, fix: "write it first (`npx vfrey brand init` writes a starter), then point the series at it." };Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/cli.ts:49 · npx invocation of non-well-known package — may execute untrusted codebrowse: "npx vfrey creators browse ...",Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/brand/load.ts:98 · npx invocation of non-well-known package — may execute untrusted code{ error: bad("brand.json must be a JSON object.", "run `npx vfrey brand init` for a starter.") },Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/cloud/job.ts:61 · npx invocation of non-well-known package — may execute untrusted code…t assembles media files that stay on your machine. Fix: render it locally with `npx vfrey tick --now --script script.json --engine pictures`, or choose one of " + JOB_EN…Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/kit/kit.ts:303 · npx invocation of non-well-known package — may execute untrusted code…-sheet")) warn(`characters/${name}`, `${name} has no sheet image.`, `add one: \`npx vfrey series kit add ${series} <image> --as character:${name} --source own\`.`); …Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/kit/kit.ts:260 · npx invocation of non-well-known package — may execute untrusted codeif (!stored) warn(KIT_MANIFEST, "kit.json is missing or unreadable.", `run \`npx vfrey series kit init ${series}\` or any \`series kit add\` to write it.`);Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
File type combined with upload actionsrc/help.ts:262 · File type combined with upload action — agent may exfiltrate local data files… 2:3 3:4 4:3 5:4 21:9, or WxH) and the frame rate (24, 30, 60); default is vfrey.json, else 9:16 at 30 fps"], ["--frame <seconds> out.png", "with --scene: write one still at that second. It goes to the path you give (default ./scene-frame.…Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.
AST07
MEDIUM
File type combined with upload actionsrc/queue/store.ts:740 · File type combined with upload action — agent may exfiltrate local data filesreturn desk.setSecret(this.db, input);Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.
AST07
MEDIUM
File type combined with upload actionsrc/queue/store.ts:728 · File type combined with upload action — agent may exfiltrate local data filesdesk.createAccount(this.db, input);Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.
AST07
MEDIUM
npx invocation of non-well-known packagesrc/help.ts:17 · npx invocation of non-well-known package — may execute untrusted code… (natural voice installed, or the system voice and how to get the natural one: `npx vfrey voice install`), and warns when only a system voice is left"], ["--render…Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
File type combined with upload actionsrc/help.ts:84 · File type combined with upload action — agent may exfiltrate local data files…s JSON"], ["--out DIR", "write everything in one folder: summary.md, posts.csv, groups.csv, result.json, report.html, and comments.csv and transcripts.csv when the plan reads comments or transcripts (read summary.md; never run again to see…Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.
AST07
MEDIUM
npx invocation of non-well-known packagesrc/tts.ts:551 · npx invocation of non-well-known package — may execute untrusted code…nfigError("tts_kokoro_missing", `The natural voice is not installed. Fix: run \`npx vfrey voice install\` (${kokoroSizeText("q8")}, once), or use TTS_PROVIDER=local for …Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/help.ts:14 · npx invocation of non-well-known package — may execute untrusted codeusage: ["npx vfrey doctor [--render] [--json] [--rules]"],Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/tts.ts:242 · npx invocation of non-well-known package — may execute untrusted codeif (!first) return { ok: false, message: "No free voice was found on this machine.", fix: "run `npx vfrey doctor`, or set TTS_PROVIDER=none for captions only." };Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/kit/command.ts:41 · npx invocation of non-well-known package — may execute untrusted code"npx vfrey series list [--json]",Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/tts.ts:410 · npx invocation of non-well-known package — may execute untrusted code…obotic in ${languageName(code)}. For a free natural voice on this computer run: npx vfrey voice install --language ${code} (${supertonicSizeText()}, once), or add an Ele…Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/voice/list.ts:94 · npx invocation of non-well-known package — may execute untrusted codesetup: kokoro.installed ? null : kokoro.supported ? `npx vfrey voice install (${kokoroSizeText("q8")}, once)` : "no prebuilt engine for this computer",Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/help.ts:21 · npx invocation of non-well-known package — may execute untrusted code…JS.NodeJS.LTS`, `winget install Gyan.FFmpeg`, then open a new terminal and run `npx vfrey doctor --render`. The free voice is the built-in Windows voice (SAPI, through P…Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
File type combined with upload actionsrc/queue/store.ts:793 · File type combined with upload action — agent may exfiltrate local data filesreturn desk.setPlatform(this.db, input);Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.
AST07
MEDIUM
npx invocation of non-well-known packagesrc/kit/kit.ts:258 · npx invocation of non-well-known package — may execute untrusted code…ngth} files; the most is ${KIT_LIMITS.files}.`, "remove files you do not need: `npx vfrey series kit remove <series> <file>`."); const stored = readManifest(kitDir); …Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
File type combined with upload actionsrc/queue/store.ts:744 · File type combined with upload action — agent may exfiltrate local data filesreturn desk.clearSecret(this.db, input);Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.
AST07
MEDIUM
npx invocation of non-well-known packagesrc/telemetry.ts:129 · npx invocation of non-well-known package — may execute untrusted codeio.stdout(`Usage stats are on. Turn them off any time with \`npx vfrey telemetry off\`.\n`);Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.
AST06
MEDIUM
File type combined with upload actionsrc/help.ts:427 · File type combined with upload action — agent may exfiltrate local data files…"], ["<file.mp4>", "the video. It must be the size and frame rate in frame.json and within half a second of its length, or attach refuses with a Fix line. The file is copied into the brief folder; nothing is uploaded"], ["--fit pad|trim|sp…Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.
AST07
MEDIUM
npx invocation of non-well-known packagesrc/tick-report.ts:209 · npx invocation of non-well-known package — may execute untrusted codeconst key = item.keyMissing ? ` No ${item.platform} key is set either: add it first (npx vfrey doctor shows what is missing).` : "";Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/kit/kit.ts:297 · npx invocation of non-well-known package — may execute untrusted code…); } if (!f.source) err(f.path, `${f.path} has no recorded source.`, `\`npx vfrey series kit add ${series} <file> --as reference --source own\` (or generated:<to…Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/tts.ts:412 · npx invocation of non-well-known package — may execute untrusted codereturn `For a natural voice run: npx vfrey voice install (${kokoroSizeText("q8")}, once).`;Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/kit/command.ts:2 · npx invocation of non-well-known package — may execute untrusted code* `npx vfrey series kit ...` (spec 037): the kit's verbs. `series kit <series>` prints the brief an agent reads at the start of aFix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/media/stage.ts:14 · npx invocation of non-well-known package — may execute untrusted code…several with `beat`; `skills/vfrey-product/media.md` shows the format) and run `npx vfrey tick --now --script script.json --engine pictures`, or pass --media FILE.", …Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/tick-report.ts:233 · npx invocation of non-well-known package — may execute untrusted codefor (const note of paused) steps.push(`Resume it: npx vfrey desk series resume --id ${note.series}`);Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/help.ts:26 · npx invocation of non-well-known package — may execute untrusted codeusage: ["npx vfrey login [--api URL] [--no-browser]"],Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/tick-report.ts:168 · npx invocation of non-well-known package — may execute untrusted code? { approve: `npx vfrey desk job approve --id ${job.id}`, reject: `npx vfrey desk job reject --id ${job.id} --reason "<why>"` }Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/usage-wrap.ts:36 · npx invocation of non-well-known package — may execute untrusted code/** `wrapLine` for every usage line of a block of text ("usage: ..." or "npx vfrey ..."). Sentences are left as they are. */Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
File type combined with upload actionsrc/queue/store.ts:752 · File type combined with upload action — agent may exfiltrate local data filesdesk.createSeries(this.db, input);Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.
AST07
MEDIUM
npx invocation of non-well-known packagesrc/kit/command.ts:42 · npx invocation of non-well-known package — may execute untrusted code"npx vfrey series kit <series> [--language CODE] [--json | --paths]",Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/kit/kit.ts:261 · npx invocation of non-well-known package — may execute untrusted code…EST, "kit.json is out of date: the files changed since it was written.", `run \`npx vfrey series kit init ${series}\` to refresh it (it keeps your files).`); for (cons…Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/kit/command.ts:43 · npx invocation of non-well-known package — may execute untrusted code"npx vfrey series kit init <series>",Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/music/music.ts:312 · npx invocation of non-well-known package — may execute untrusted code… could not be read, so no music was mixed.", "render again; if it repeats, run `npx vfrey doctor`."); const D = facts.durationSec; if (input.music.start >= D - 0.5) …Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/tts.ts:297 · npx invocation of non-well-known package — may execute untrusted codeif (!foreign) return { ok: false, message: "No free voice was found on this machine.", fix: "run `npx vfrey doctor`, or set TTS_PROVIDER=none for captions only." };Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/usage-wrap.ts:38 · npx invocation of non-well-known package — may execute untrusted codereturn text.split("\n").map((line) => (/^\s*(usage:|npx )/.test(line) ? wrapLine(line, width) : line)).join("\n");Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/kit/command.ts:44 · npx invocation of non-well-known package — may execute untrusted code"npx vfrey series kit add <series> <file> --as reference|character:<name>|prompt --source own|generated:<tool>|licensed:<where> [--caption TEXT]",Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
File type combined with upload actionsrc/media/plan.ts:231 · File type combined with upload action — agent may exfiltrate local data filesthrow new MediaPlanError(`media.json gives "beat" to ${given} of ${shots.length} shots.`, 'put "beat": N on every shot, or on none (then there is one shot for each beat, in order).');Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.
AST07
MEDIUM
npx invocation of non-well-known packagesrc/voice/list.ts:105 · npx invocation of non-well-known package — may execute untrusted code…alled, setup: multilingual.installed ? null : multilingual.supported ? `npx vfrey voice install --language ${code === "en" ? "vi" : code} (${supertonicSizeText()…Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/tick-report.ts:210 · npx invocation of non-well-known package — may execute untrusted code…e yet, so vfrey only recorded a practice publication.${key} To upload for real: npx vfrey desk series live --id ${series} --confirm <channel id>`; } if (item.status …Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/scene/scene.ts:83 · npx invocation of non-well-known package — may execute untrusted code`write ${path.join(dir, KIND_ENTRY[kind])} yourself, or run \`npx vfrey scene init ${dir}${kind === "tsx" ? " --engine remotion" : ""}\` for a starting point.`,Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/scene/scene.ts:103 · npx invocation of non-well-known package — may execute untrusted code`write ${path.join(dir, KIND_ENTRY[kind])}, or run \`npx vfrey scene init ${dir}${kind === "tsx" ? " --engine remotion" : ""}\` for a starting point.`,Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/telemetry.ts:135 · npx invocation of non-well-known package — may execute untrusted codeio.stderr("✗ Unknown telemetry command.\nFix: use `npx vfrey telemetry on`, `off` or `status`.\n");Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/voice/list.ts:147 · npx invocation of non-well-known package — may execute untrusted codeif (code === "en") return `the natural voice is not installed (npx vfrey voice install; ${kokoroSizeText("q8")})`;Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/voice/pins.ts:4 · npx invocation of non-well-known package — may execute untrusted code* lockfile in ./runtime/ and installed by `npx vfrey voice install` into the models folder, not into the project.Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/voice/list.ts:133 · npx invocation of non-well-known package — may execute untrusted codesetup: system ? null : "install espeak-ng (see `npx vfrey doctor`)",Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagesrc/voice/list.ts:148 · npx invocation of non-well-known package — may execute untrusted codereturn `the multilingual voice is not installed (npx vfrey voice install --language ${code}; ${supertonicSizeText()})`;Fix: Pin versions and sources; vendor anything fetched at install time.
AST06

Cost to the agent

Instructions loaded
≈67 tok
1 file · 81 in bundle

Tokens estimated at four characters each. Skills load their instruction text when triggered; the figure is what that costs.

Known vulnerabilities

No advisories in OSV for @vfrey/vfrey@1.0.0-beta.3 as of 54 min ago. This is the package itself, not its dependencies.

What would make this Verified

12 points to 80 · weights: behavior 45%, static 25%, prompt 15%, publisher 15%
  1. Unclaimed publisher≈ +8 on the totalClaim vfrey: a verified publisher gets +50 on publisher trust. It is free and usually instant with GitHub sign-in.
  2. Credential pass-through configuration≈ +4 on the totalStop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
  3. Hidden zero-width characters detected≈ +4 on the totalKeep SKILL.md to visible, descriptive text. Remove comments and encoded text that address the agent.
  4. Access to sensitive file paths≈ +4 on the totalStop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
  5. Privileged sudo command≈ +4 on the totalBuild commands from fixed arguments; do not interpolate untrusted strings into a shell.
  6. npx invocation of non-well-known package≈ +2 on the totalPin versions and sources; vendor anything fetched at install time.
Publish a new version to npm, then queue it here. Not your skill? Claim the handle to get verdict changes by email.Claim vfreyPropose a patch to the maintainer