Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

AI机票预订助手

v1.0.1

AI机票助手 - 实现国内航班搜索、舱位查询、预订下单、机票改期、机票退票。适用于用户询问航班、查询机票价格、提交机票订单、改期航班、退票时使用。

1· 80·0 current·0 all-time
by赵瑞宇@ryan-zry
MIT-0
Download zip
LicenseMIT-0 · Free to use, modify, and redistribute. No attribution required.
Security Scan
VirusTotalVirusTotal
Suspicious
View report →
OpenClawOpenClaw
Suspicious
high confidence
Purpose & Capability
Skill 的名称、描述与代码一致:提供国内航班搜索、舱位价格、下单、改期、退票等功能。所需运行时仅为 python3,且脚本实现了 SKILL.md 中声明的大部分功能,整体能力与目的相符。
!
Instruction Scope
SKILL.md 明确说明会将乘客姓名、手机号、证件号等 PII 通过 HTTP POST 发送到外部服务 —— 这与下单功能预期一致,但实现上有问题:scripts/create_order.py 在发起请求前将乘客姓名/电话/证件号打印到 stdout(会进入日志),与 SKILL.md 中“请勿在日志或回复中暴露用户个人信息”的建议自相矛盾。此外 SKILL.md 指出 apiKey 会保存到用户主目录 (~/.fbt_auth.json),但代码实际把鉴权文件存到临时目录(tempdir,通常 /tmp/.fbt_auth.json)——文档与实现不一致并带来隐私/持久性差异。
Install Mechanism
无安装脚本或外部下载,只有 Python 脚本(instruction-only + code files)。仅要求 python3 在 PATH 上,未从网络下载或执行任意外部二进制,安装风险较低。
!
Credentials
skill.json / SKILL.md 未声明需要任何环境变量,但代码支持并使用 FBT_API_URL 环境变量作为 API 端点(未在文档中显式列出)。鉴权以 apiKey 实现,但 apiKey 以明文写入临时目录文件(get_auth_file_path -> tempfile.gettempdir() + '.fbt_auth.json'),这在多用户或共享系统上容易被其他本地用户读取。总体上所需权限与功能相关,但对 apiKey 的存储位置与未声明的可配置环境变量存在不透明性与过度暴露风险。
Persistence & Privilege
skill 不要求 always:true,也不修改其他技能或系统配置。但它会在临时目录写入多个文件(/tmp/flight_seat_items.json、/tmp/endorse_seat_items.json、/tmp/.fbt_auth.json 等),并在会话间复用保存在临时目录的 apiKey(持久化直到系统清理或重启)。将长期凭据存放在临时目录而不是用户主目录或更安全的密钥存储是一个安全/隐私问题。
What to consider before installing
要点汇总与建议: - 功能一致性:脚本实现的功能(搜索、查询舱位、下单、改期、退票)与描述一致,使用 python3 发起 HTTP POST 到远端服务(默认 https://app-gate.fenbeitong.com/air_biz/skill/execute)。 - 需要注意的安全/隐私问题(高优先级): 1) apiKey 存储位置:代码将 apiKey 明文写到系统临时目录 (/tmp 或 tempfile.gettempdir()) 的 .fbt_auth.json,这比写入用户主目录或受限存储更易被本地其他用户读取。SKILL.md 文档却写到 ~/.fbt_auth.json,文档与代码不一致。 2) TLS 验证被禁用:common.call_api() 与 call_api_without_auth() 使用 ssl._create_unverified_context(),绕过了 HTTPS 证书验证,存在中间人攻击风险(敏感 PII 与凭证可能被窃取或篡改)。 3) PII 泄露风险:脚本在控制台打印乘客姓名、手机号、证件号等(create_order.py 在请求前打印这些信息),会出现在终端/日志中,和 README 中“不要在日志中暴露 PII”自相矛盾。 4) 未声明的环境影响:可以通过环境变量 FBT_API_URL 更改后端地址(代码读取但文档未列出),应验证该端点是否可信。 - 操作建议: • 若要使用,先联系技能来源或维护者确认 API 服务域名与资质(app-gate.fenbeitong.com 是否为可信服务提供方)。 • 在部署或运行前,修改代码以恢复 TLS 证书验证(移除 ssl._create_unverified_context() 的使用),并尽量使用受保护的凭据存储而不是临时目录(将文件放在用户主目录下并设置合适的文件权限,或使用系统密钥环)。 • 不要在多用户或不受信任的机器上运行,因为 /tmp 中的凭据可能被其他本地用户读取。考虑把 auth 文件放到安全位置并加密。 • 如果关心日志隐私,删除或屏蔽脚本中打印完整乘客证件信息的语句,或确保运行环境不会保存命令行输出到持久日志。 • 要求作者/来源提供主页、隐私政策或服务方说明;目前包元数据缺少主页且来源未知,降低了可信度。 - 结论:该技能并非明显恶意,但实现上存在多项安全与隐私缺陷(尤其是 TLS 验证禁用与在 /tmp 中明文保存凭证),在未修复这些问题并确认后端可信前,不建议在生产或包含敏感 PII 的环境中使用。

Like a lobster shell, security has layers — review code before you run it.

latestvk974rt99rqpssesv56xy3xjxz983n9ge

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

Runtime requirements

✈️ Clawdis
Binspython3

Comments