motion-skills@0.1.6
CAUTION· install onlyPublisher claims: "The engine behind Motion Skills: your coding agent writes the film, scores it, and you point at the frame to change it." Observed in sandbox: no network, touches nothing outside the project, writes no memory.
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-12 and scored it 73/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: Pipe-to-shell pattern; 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 deviationsStatic findings
// A pipe inside a Markdown table cell is written \| (a command like `curl … | bash`); match it as the plain pipe.Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.<div class="code cmd"><pre id="demo">npx motion-skills demo</pre><button class="copy" data-copy="demo"></button></div>Fix: Pin versions and sources; vendor anything fetched at install time.return out(`${r.dir}\n index.html open it, or put the folder on any static host (GitHub Pages, Vercel, npx serve)\n source.zip ${r.files.length} files — unzip and run mo studio ${r.name}`);Fix: Pin versions and sources; vendor anything fetched at install time.lines.push('', 'Check the plan, then `mo cut <file> --render`. Edit `plan.json` (`keep` is in source seconds) to put a cut back; a deliberate pause goes in `keep` as it is.');Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.…n-skills: "' + t + '".\\nSource: ' + url + ' (download and unzip it, then run \`npx motion-skills studio ' + D.name + '\` so I can watch and point at the frame while you work).\…Fix: Pin versions and sources; vendor anything fetched at install time.<div data-zh="还没有 Agent 在接单。在你的 Agent 里说「处理 motion-skills 的评论」,或在终端运行:">No agent is picking up comments yet. Tell your agent "handle the motion-skills comments"Fix: Remove the text that addresses the agent rather than the reader; describe behavior, do not instruct.for (const f of ['Inter-var.woff', 'NotoSansSC-500.woff', 'OFL.txt']) put(`fonts/${f}`, readFileSync(join(PKG, 'fonts', f)));Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.// A pipe inside a Markdown table cell is written \| (a command like `curl … | bash`); match it as the plain pipe.Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.zh: { copy: '复制', copied: '已复制', prompt: (t, url) => '用 motion-skills 复刻这部片:《' + t + '》。\\n源码:' + url + '(下载解压后运行 \`npx motion-skills studio ' + D.name + '\`,我边看边指着画面改)。\\n保留好的部分,把它改成:' },Fix: Pin versions and sources; vendor anything fetched at install time.<code>npx serve .</code>Fix: Pin versions and sources; vendor anything fetched at install time.// Dot-files and dot-folders never ship (.env, .claude/, .git/…): the share page and its source.zip are public.Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.// Ctrl-C or a kill does not run 'exit' handlers: what must not be left behind (browsers, temp profiles, a render'sFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.<div class="code cmd"><pre id="skill">npx skills add ${esc(SKILL)}</pre><button class="copy" data-copy="skill"></button></div>Fix: Pin versions and sources; vendor anything fetched at install time.Cost to the agent
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 motion-skills@0.1.6 as of 2d ago. This is the package itself, not its dependencies.
What would make this Verified
7 points to 80 · weights: behavior 45%, static 25%, prompt 15%, publisher 15%- Pipe-to-shell pattern≈ +9 on the totalBuild commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
- Unclaimed publisher≈ +8 on the totalClaim hideewsj: a verified publisher gets +50 on publisher trust. It is free and usually instant with GitHub sign-in.
- 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.
- Remote installer piped to shell≈ +2 on the totalBuild commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
- npx invocation of non-well-known package≈ +2 on the totalPin versions and sources; vendor anything fetched at install time.
- File type combined with upload action≈ +2 on the totalRemove the call, or declare the host in frontmatter and explain in the README what is sent and why.