T09 · Insecure Skill Coding Practices
- Location
scripts/shot.js:87- Finding
Shell Command Injection Through Screenshot Output Path
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill is a coherent video-demo generator, but its helper scripts contain real unsafe file and shell handling that can execute commands or write generated content outside the intended output area if given hostile inputs.
Review before installing or using on untrusted project plans. Use only trusted shot-list and plan JSON files, avoid attacker-controlled output filenames or browser paths, and prefer patching shot.js to use spawn/execFile argument arrays plus adding path containment and HTML escaping in init.js before production use.
scripts/shot.js:87Shell Command Injection Through Screenshot Output Path
scripts/init.js:49Arbitrary File Placement Through Unvalidated Project and Shot Identifiers
scripts/init.js:85Stored Script Injection in Generated Shot Pages
YARA rule matched a known webshell pattern (PHP, Python, JSP, or ASPX webshell).
"horseImg">
<div class="lid">PNG</div>
<div class="frame"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2"/><circle cx="9" cy="9" r="2"/><path d="M21 15l-5-5-9 9"/></svg></div>
</div>
<div class="phpCode">evil.png → 掀开盖子:<?php system($_GET['cmd']); ?></div>
</div>
</div>
<div id="jin3">一张图片,就能控制别人的电脑</div>
</div><!-- /cam -->
<!-- 固定 UI(不随镜头移动) -->
<div id="posCard">
<div class="lb">— 文件当前位置 · CURRENT —</div>
<div id="posName">products / products</div>
</div>
<div id="pathBar">
<div class="pv" id="pvNormal"><span class="seg">uploads/products/</span><span class="seg">SP001_20260815_</span><span class="seg okc">shell.png ✓ 老老实实待在 uploads 里</span></div>
<div class="pv" id="pvEvil" style="opaci
YARA rule matched a hack tool or exploit indicator (offensive tools, reconnaissance, privilege escalation, or exploit frameworks).
---
name: video-shot-demos
description: 视频分镜演示动画生成技能:每个镜头产出一个独立 HTML(统一播放器底盘+每页不同视觉风格),覆盖风格分配、双角色立绘素材、口播时间轴对齐、批量截图质检与 index 总览的完整工具链。适用于制作技术实测、产品发布、课程、叙事类分镜演示视频。
AIGC:
Label: "1"
ContentProducer: 001191440300708461136T1XGW3
ProduceID: 9db5aa32bb416ff6601e09a7b615dacc_ed36f1baab6a11f18874525400287e28
ReservedCode1: u6yOsEv22jbdVtYRWeJaUyUlNn7iQVd5R+izu80cHEUl0QXQimpRoLP/V4lLT8wSetgDQwgxvKxuFrV
Referenced artifact was not completely inspected
e":"...","dur":14,"brief":"震撼数字 事件宣告"}],"locks":[...]}`,格式见 plan.js 头注释)后 `node scripts/plan.js new 清单.json` 生成风格分配草表(自动校验:相邻不同风格 / 整辑不重复 / 实体锁色一致性),确认后 `node s
Referenced artifact was not completely inspected
e":"...","dur":14,"brief":"震撼数字 事件宣告"}],"locks":[...]}`,格式见 plan.js 头注释)后 `node scripts/plan.js new 清单.json` 生成风格分配草表(自动校验:相邻不同风格 / 整辑不重复 / 实体锁色一致性),确认后 `node s
Referenced artifact was not completely inspected
scripts/plan.js new 清单.json` 生成风格分配草表(自动校验:相邻不同风格 / 整辑不重复 / 实体锁色一致性),确认后 `node scripts/init.js <清单同名>.plan.json --root <输出根目录>` 一步完成初始化:建输出目录 → 校验并复制双角色立绘 → 按分
Referenced artifact was not completely inspected
scripts/plan.js new 清单.json` 生成风格分配草表(自动校验:相邻不同风格 / 整辑不重复 / 实体锁色一致性),确认后 `node scripts/init.js <清单同名>.plan.json --root <输出根目录>` 一步完成初始化:建输出目录 → 校验并复制双角色立绘 → 按分
Referenced artifact was not completely inspected
scripts/plan.js new 清单.json` 生成风格分配草表(自动校验:相邻不同风格 / 整辑不重复 / 实体锁色一致性),确认后 `node scripts/init.js <清单同名>.plan.json --root <输出根目录>` 一步完成初始化:建输出目录 → 校验并复制双角色立绘 → 按分
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.
</div>
</header>
<!-- PART 1 -->
<div class="part">
<span class="no">PART 1</span><h2>冷开场</h2><span class="line"></span><span class="cnt">4 SHOTS · 64s</span>
</div>
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.
</head>
<body>
<div id="stage">
<!-- ================= 镜头世界 ================= -->
<div id="cam">
<!-- 标题缎带 + 计数器 -->
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.
<div id="cam">
<div id="frame"></div>
<!-- 地图底:幽灵线路 -->
<svg id="mapSvg" viewBox="0 0 1920 1080">
<g stroke="#e0dac8" stroke-width="5" fill="none" stroke-linecap="round">
<path d="M0 430 H 420 L 700 150 H 1000"/>
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.
<div id="cam">
<div id="frame"></div>
<!-- 地图底:幽灵线路 -->
<svg id="mapSvg" viewBox="0 0 1920 1080">
<g stroke="#e0dac8" stroke-width="5" fill="none" stroke-linecap="round">
<path d="M0 430 H 420 L 700 150 H 1000"/>
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.
<div id="cam">
<div id="coffee"></div>
<!-- 干花装饰 -->
<svg id="flower" viewBox="0 0 340 220" fill="none" stroke-linecap="round">
<path d="M40 200 C 90 150, 130 110, 190 60" stroke="#8a9464" stroke-width="4"/>
<path d="M90 200 C 130 160, 180 130, 250 100" stroke="#9aa06e" stroke-width="3.5"/>
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.
</head>
<body>
<div id="stage">
<!-- ================= 镜头世界 ================= -->
<div id="cam">
<div id="legend">
<h1>测 AI 挖洞 · <em>三座高峰</em></h1>
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.
</head>
<body>
<div id="stage">
<!-- ================= 镜头世界 ================= -->
<div id="cam">
<div id="legend">
<h1>测 AI 挖洞 · <em>三座高峰</em></h1>
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.
</head>
<body>
<div id="stage">
<!-- ================= 镜头世界 ================= -->
<div id="cam">
<div class="win" style="left:220px"></div>
<div class="win" style="left:560px"></div>
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.
</head>
<body>
<div id="stage">
<!-- ================= 镜头世界 ================= -->
<div id="cam">
<div class="spot" id="sp1" style="left:340px"></div>
<div class="spot" id="sp2" style="right:340px"></div>
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.
</head>
<body>
<div id="stage">
<!-- ================= 镜头世界 ================= -->
<div id="cam">
<div id="awning"></div>
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.
</head>
<body>
<div id="stage">
<!-- ================= 镜头世界 ================= -->
<div id="cam">
<div id="awning"></div>
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.
<span class="lbl">靶场计分</span><b id="msTotal">950</b><small>/ 4800</small>
</div>
<!-- ================= 镜头世界 ================= -->
<div id="cam">
<div id="towerWrap">
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.
</div>
</div>
<!-- P3 危害延伸 -->
<div id="extWall">
<h3>扩展名黑名单 · 拦住了危险后缀</h3>
<div class="extRow">
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.
</head>
<body>
<div id="stage">
<!-- ================= 镜头世界 ================= -->
<div id="cam">
<div class="hole" style="top:200px"></div>
<div class="hole" style="top:520px"></div>
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.
<div id="shake">
<div id="cam">
<!-- S0 设问 -->
<div class="sc" id="s0">
<div class="q1">这套「开源的<span class="shield-ico"></span>盾」</div>
<div class="q2" id="q2">到底<em class="qmk">关我们什么事</em>?</div>
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.
<div id="shake">
<div id="cam">
<!-- S0 设问 -->
<div class="sc" id="s0">
<div class="q1">这套「开源的<span class="shield-ico"></span>盾」</div>
<div class="q2" id="q2">到底<em class="qmk">关我们什么事</em>?</div>
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<!-- ============================================================
◆ 分镜演示页模板底盘(复制本文件后只改"画面层"与 cue)◆
内置:虚拟时钟黑场播放器 / WebAudio 音效引擎 / 1920×1080 舞台
镜头层 camTo·camFocus / 时间轴引擎(cue+补间+暂停) / HUD
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<!-- ============================================================
◆ 分镜演示页模板底盘(复制本文件后只改"画面层"与 cue)◆
内置:虚拟时钟黑场播放器 / WebAudio 音效引擎 / 1920x1080 舞台
镜头层 camTo·camFocus / 时间轴引擎(cue+补间+暂停) / HUD
Detected: suspicious.dangerous_exec