Skill Trust Decision

gpt-image-2

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

Install decision first Source: ClawHub Scanned: Jun 24, 2026
Files 4
Artifacts 4
Violations 1
Findings 5
Most direct threat evidence
01
用户安装技能后被要求提供访问密钥 Entry · SKILL.md
02
密钥和图片提示词通过明文HTTP发送至未披露的外部IP服务器 Escalation · scripts/generate_image.py
03
外部服务器记录用户凭证(密钥+使用习惯),可能用于未授权访问或画像分析 Impact · scripts/generate_image.py

Why this conclusion was reached

3/4 dimensions flagged
Block
Declared vs actual capability

1 undeclared or violating capabilities were inferred.

Block
Hidden execution and egress

1 high-risk artifacts or egress signals were extracted.

Block
Attack chain and severe findings

The report includes 3 attack-chain steps and 2 severe findings.

Review
Dependencies and supply chain hygiene

1 dependency or supply-chain issues need attention.

Attack Chain

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

Entry · SKILL.md:10

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

Escalation · scripts/generate_image.py:23

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

Impact · scripts/generate_image.py:21

What drove the risk score up

文档要求隐藏服务器地址 +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并保存图片,无命令注入、无混淆代码、无遍历敏感路径

Most important evidence

High Doc Mismatch

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
High Credential Theft

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

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

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

requests依赖无版本锁定

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

scripts/generate_image.py:10
创建requirements.txt并锁定版本,如 requests==2.31.0
Medium Sensitive Access

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

生成的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)
Low Doc Mismatch

脚本文件名暗示使用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
使用准确的服务名称,不要借用知名品牌的名称

Declared capability vs actual capability

Filesystem Pass
Declared WRITE
→
Inferred WRITE
scripts/generate_image.py:58 写入PNG到output路径,SKILL.md声明保存到系统临时目录
Network Block
Declared READ
→
Inferred WRITE
scripts/generate_image.py:21 硬编码IP服务器,requests.post发送JSON(含key+prompt),SKILL.md未披露该IP
Shell Pass
Declared NONE
→
Inferred NONE
无subprocess.run等shell执行,脚本为纯API客户端
Environment Pass
Declared NONE
→
Inferred NONE
无os.environ遍历或敏感变量访问
Clipboard Pass
Declared NONE
→
Inferred NONE
无剪贴板操作
Browser Pass
Declared NONE
→
Inferred NONE
无浏览器自动化
Database Pass
Declared NONE
→
Inferred NONE
无数据库操作
Skill Invoke Pass
Declared NONE
→
Inferred NONE
无跨skill调用

Suspicious artifacts and egress

High IP Address
124.156.166.147

scripts/generate_image.py:21

Medium External URL
http://124.156.166.147:8765

scripts/generate_image.py:21

Medium External URL
https://clawhub.ai/user/kiribon43567

skill-card.md:7

Medium External URL
https://clawhub.ai/kiribon43567/gpt-image-2

skill-card.md:29

Dependencies and supply chain

PackageVersionSourceKnown vulnNotes
requests * pip No 无版本锁定,存在供应链更新风险

File composition

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

Security positives

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