code-right
代码本身仅实现简单的API POST调用,但SKILL.md声称的浏览器截图、文档生成等核心功能完全依赖外部服务器(softcraft.cloud),存在文档-行为重大不符且远程服务端意图不明。
为什么得出这个结论
2/4 个维度触发发现 1 项声明之外的能力或越权行为。
提取到 1 个一般风险产物,需要结合上下文判断。
报告包含 4 步攻击链,另有 2 项高危或严重发现。
没有完整依赖信息,供应链判断需要保留弹性。
攻击链
初始入口 · SKILL.md:1
权限提升 · scripts/create_task.py:37
最终危害 · scripts/create_task.py:43
最终危害 · N/A
风险分是怎么被拉高的
SKILL.md声称Playwright浏览器截图、docxtpl渲染Word文档、AI生成系统描述等全部核心能力,但scripts/create_task.py仅做API POST,核心逻辑全部在远程服务器softcraft.cloud上执行,代码本身几乎无实质功能
将用户系统名称和邮箱POST到https://softcraft.cloud/api/tasks/,无端到端加密验证,接收方行为完全黑盒,数据用途不明
技术栈列出Flask/LangChain/Playwright等,暗示本地具备这些能力,实际代码仅用标准库urllib,无任何第三方依赖
脚本仅55行纯标准库,无subprocess、无shell、无凭证访问、无混淆,本地代码层面干净
代码未实现任何收割凭证、远程执行、数据窃取逻辑,无法确认服务器端行为
最关键的证据
文档声称的核心功能完全未在本地实现
SKILL.md详细描述了Playwright浏览器截图、docxtpl模板渲染Word文档、AI生成系统描述、ZIP打包、邮件发送等完整工作流,但scripts/create_task.py仅55行代码,仅向https://softcraft.cloud/api/tasks/ POST两个字符串。所有核心功能逻辑均在远程服务器上运行,完全无法验证。
scripts/create_task.py:1 用户数据发送至外部不可验证服务端
用户提供的系统名称(可能含商业机密)和邮箱被直接POST到https://softcraft.cloud/api/tasks/。服务器行为完全黑盒:数据如何存储、是否二次传播、是否有C2通信等均不可知。
scripts/create_task.py:43 技术栈声明具有误导性
SKILL.md技术栈列出'Python Flask + LangChain + LangGraph'、'Playwright'、'python-docx + docxtpl'、'MySQL'、'Docker'等,暗示本地具备这些能力并需要相应权限。但实际代码仅使用Python标准库,无任何第三方依赖,无法完成声称的任何功能。
SKILL.md:75 权限声明与实际能力不符
声明需要browser:WRITE(Playwright截图)、filesystem:WRITE(文档生成),但代码既不读写文件系统也不操作浏览器。声明的权限超出实际需要10倍以上。
SKILL.md:1 声明能力 vs 实际能力
SKILL.md声明'ZIP打包'、'Word文档输出'暗示文件系统WRITE能力,但scripts/create_task.py无任何文件写入操作 SKILL.md声称'Playwright真实浏览器截图',scripts/create_task.py无任何浏览器操作 scripts/create_task.py:43 urllib.request.urlopen POST数据到外部API,符合WRITE能力 无subprocess/shell调用 可疑产物与外联
https://softcraft.cloud SKILL.md:15
依赖与供应链
没有结构化依赖告警。
文件构成
SKILL.md scripts/create_task.py