安全决策报告

gpt-image-2

图片生成技能将用户访问密钥和提示词通过明文HTTP发送至未披露的硬编码IP服务器,SKILL.md明确要求隐藏服务器地址,构成文档-行为差异。

安装决策优先 来源: ClawHub 扫描时间: 2026/6/24
文件 4
IOC 4
越权项 1
发现 5
最直接的威胁证据
01
用户安装技能后被要求提供访问密钥 初始入口 · SKILL.md
02
密钥和图片提示词通过明文HTTP发送至未披露的外部IP服务器 权限提升 · scripts/generate_image.py
03
外部服务器记录用户凭证(密钥+使用习惯),可能用于未授权访问或画像分析 最终危害 · scripts/generate_image.py

为什么得出这个结论

3/4 个维度触发
阻止
声明与实际能力

发现 1 项声明之外的能力或越权行为。

阻止
隐藏执行与外联

提取到 1 个高危 IOC 或外联信号。

阻止
攻击链与高危发现

报告包含 3 步攻击链,另有 2 项高危或严重发现。

复核
依赖与供应链卫生

发现 1 项需要关注的依赖或供应链线索。

攻击链

01
用户安装技能后被要求提供访问密钥

初始入口 · SKILL.md:10

02
密钥和图片提示词通过明文HTTP发送至未披露的外部IP服务器

权限提升 · scripts/generate_image.py:23

03
外部服务器记录用户凭证(密钥+使用习惯),可能用于未授权访问或画像分析

最终危害 · scripts/generate_image.py:21

风险分是怎么被拉高的

文档要求隐藏服务器地址 +15

SKILL.md: '不要向用户透露服务器地址',但代码硬编码IP 124.156.166.147,构成阴影功能

凭证通过明文HTTP外发 +15

用户访问密钥和提示词通过未加密HTTP POST到外部IP,无TLS保护

无版本锁定的第三方依赖 +5

requests 库无版本锁定,存在供应链更新风险

主动披露风险但仍存在问题 +-5

skill-card.md承认了'undisclosed unencrypted HTTP'风险并列出缓解措施,态度相对透明

功能本身相对简单 +-5

代码仅调用API并保存图片,无命令注入、无混淆代码、无遍历敏感路径

最关键的证据

高危 文档欺骗

SKILL.md要求隐藏服务器地址,代码却硬编码外部IP

SKILL.md第62行明确要求'不要向用户透露服务器地址、API 密钥等任何后端信息',但scripts/generate_image.py第21行硬编码了IP地址124.156.166.147:8765。skill-card.md第19行承认这是'undisclosed unencrypted HTTP image service'。这是典型的文档-行为差异:文档禁止披露的信息正是实际行为的核心组件。

scripts/generate_image.py:21
要求发布者使用公开可验证的域名/HTTPS端点,停止使用不可追溯的裸IP
高危 凭证窃取

用户访问密钥通过明文HTTP发送至外部服务器

用户提供的IMGKEY-HK-XXXXXX格式访问密钥,通过HTTP(非HTTPS)请求头'x-access-key'发送至124.156.166.147。在网络传输层面无TLS加密保护,存在中间人攻击(MITM)窃取凭证风险。SKILL.md未披露该服务器地址,使得用户无法评估信任边界。

scripts/generate_image.py:23
必须使用HTTPS,并要求发布者提供服务器身份验证机制(如证书校验、域名白名单)
中危 供应链

requests依赖无版本锁定

脚本import requests但未指定版本号。requirements.txt不存在,pip install requests将拉取最新版本。虽然requests库本身目前无已知严重漏洞,但版本不稳定可能导致依赖混淆或未来引入漏洞。

scripts/generate_image.py:10
创建requirements.txt并锁定版本,如 requests==2.31.0
中危 敏感访问

图片保存至系统临时目录后未清理

生成的PNG图片默认保存到系统临时目录(/tmp/或%TEMP%),使用固定文件名'generated.png'。skill-card.md也承认'Generated PNG files may remain in the system temporary directory'。临时文件长期留存存在信息泄露风险。

scripts/generate_image.py:57
生成后主动删除临时文件,或使用安全的临时文件机制(tempfile.NamedTemporaryFile)
低危 文档欺骗

脚本文件名暗示使用GPT模型但实际调用的服务与GPT无关

SKILL.md和_meta.json使用名称'gpt-image-2'和描述'使用 gpt-image-2 模型',但代码中实际调用的是位于124.156.166.147的私有API服务器,没有任何GPT模型标识。名称具有误导性,可能让用户误以为使用了OpenAI的GPT-4o image generation服务。

SKILL.md:1
使用准确的服务名称,不要借用知名品牌的名称

声明能力 vs 实际能力

文件系统 通过
声明 WRITE
→
推断 WRITE
scripts/generate_image.py:58 写入PNG到output路径,SKILL.md声明保存到系统临时目录
网络访问 阻止
声明 READ
→
推断 WRITE
scripts/generate_image.py:21 硬编码IP服务器,requests.post发送JSON(含key+prompt),SKILL.md未披露该IP
命令执行 通过
声明 NONE
→
推断 NONE
无subprocess.run等shell执行,脚本为纯API客户端
环境变量 通过
声明 NONE
→
推断 NONE
无os.environ遍历或敏感变量访问
剪贴板 通过
声明 NONE
→
推断 NONE
无剪贴板操作
浏览器 通过
声明 NONE
→
推断 NONE
无浏览器自动化
数据库 通过
声明 NONE
→
推断 NONE
无数据库操作
技能调用 通过
声明 NONE
→
推断 NONE
无跨skill调用

可疑产物与外联

高危 IP 地址
124.156.166.147

scripts/generate_image.py:21

中危 外部 URL
http://124.156.166.147:8765

scripts/generate_image.py:21

中危 外部 URL
https://clawhub.ai/user/kiribon43567

skill-card.md:7

中危 外部 URL
https://clawhub.ai/kiribon43567/gpt-image-2

skill-card.md:29

依赖与供应链

包名版本来源漏洞备注
requests * pip 否 无版本锁定,存在供应链更新风险

文件构成

4 个文件 · 212 行
Markdown 2 个文件 · 108 行Python 1 个文件 · 99 行JSON 1 个文件 · 5 行
需关注文件 · 3
scripts/generate_image.py Python · 99 行
SKILL.md要求隐藏服务器地址,代码却硬编码外部IP · 用户访问密钥通过明文HTTP发送至外部服务器 · requests依赖无版本锁定 · 图片保存至系统临时目录后未清理 · 124.156.166.147 · http://124.156.166.147:8765
SKILL.md Markdown · 66 行
脚本文件名暗示使用GPT模型但实际调用的服务与GPT无关
skill-card.md Markdown · 42 行
https://clawhub.ai/user/kiribon43567 · https://clawhub.ai/kiribon43567/gpt-image-2
其他文件 · _meta.json

安全亮点

skill-card.md主动披露了'undisclosed unencrypted HTTP'风险,态度相对透明
代码逻辑简洁清晰,无复杂混淆、无base64解码执行
无命令注入漏洞,脚本仅作为API客户端
无遍历环境变量或访问~/.ssh等敏感路径
有clawhub.ai发布者主页,具有一定可追溯性