Skill flagged — suspicious patterns detected
ClawHub Security flagged this skill as suspicious. Review the scan results before using.
AI机票预订助手
v1.0.0AI机票助手 - 实现国内航班搜索、舱位查询、预订下单、机票改期、机票退票。适用于用户询问航班、查询机票价格、提交机票订单、改期航班、退票时使用。
⭐ 1· 67·0 current·0 all-time
MIT-0
Download zip
LicenseMIT-0 · Free to use, modify, and redistribute. No attribution required.
Security Scan
OpenClaw
Suspicious
high confidencePurpose & Capability
Skill 名称与描述(国内航班检索、舱位查询、下单、改期、退票)与脚本实现基本匹配;所需二进制仅为 python3,且脚本通过 HTTP POST 调用后端 API(默认域名 app-gate.fenbeitong.com),这与机票服务场景一致。
Instruction Scope
SKILL.md 强调敏感个人信息(乘客姓名、手机号、证件号)会被发送到外部服务并要求不要在日志/回复中暴露 PII,但脚本会在终端打印乘客姓名/手机号/证件号(例如 scripts/create_order.py 明确打印这些字段;order_detail.py 也会打印证件号/电话等)。此外,SKILL.md 声称 apiKey 会保存在用户主目录 (~/.fbt_auth.json),但实现中 save_api_key()/get_auth_file_path() 将文件写入系统临时目录(tempfile.gettempdir()),两者不一致,可能导致用户误解凭据位置或泄露风险。脚本还使用 /tmp 下的临时文件保存舱位数据(/tmp/flight_seat_items.json 等),这是功能所需但应注意权限与清理。
Install Mechanism
无安装 spec,仅为 instruction+本地 Python 脚本,要求仅 python3,未从不可信 URL 下载或执行外部二进制,安装风险较低。
Credentials
虽然 skill 未声明必需的环境变量,代码允许通过 FBT_API_URL 覆盖后端地址(合理)。但存在安全隐患:common.py 在调用网络时使用 ssl._create_unverified_context(),绕过 TLS 证书验证(增加中间人攻击/凭据泄露风险)。apiKey 被以明文 JSON 存储在临时目录下(temp dir),可能对其他本地用户可读且不加权限控制;对此 SKILL.md 的描述和代码实现也不一致。总体所需权限(读写临时文件、网络出站)与其功能相关但处理敏感数据的实践不够谨慎。
Persistence & Privilege
技能未设置 always:true,默认可被用户显式调用;它仅在本地创建自己的临时 auth 文件和临时舱位文件,不修改其他技能或系统配置,所请求的持久性和权限与其业务功能(保存 apiKey、临时缓存舱位)一致。
What to consider before installing
此技能确实实现了机票搜索与下单等功能,但在隐私与安全实现上有明显问题。安装前请考虑并采取以下措施:
- 不要直接在未审计环境中运行:先在隔离环境(例如受限容器或临时 VM)内测试网络流量和行为。
- 修复 TLS 验证:在 scripts/common.py 中移除或更改 ssl._create_unverified_context() 的使用,确保 urllib 使用默认证书验证以防中间人攻击。
- 修正凭据存储与权限:将 apiKey 存储到受限位置(例如用户主目录下的文件并设置文件权限 600,或更好使用操作系统的密钥链/凭据存储),并修正 SKILL.md 中关于保存位置的描述以保持一致。
- 避免在日志/控制台暴露 PII:删除或屏蔽脚本中打印乘客姓名、手机号、证件号等敏感信息的代码路径,或在输出前做最小必要化/脱敏处理,并在 SKILL.md 中明确告知用户将把哪些字段发送到外部服务并征得同意。
- 验证后端服务合法性:确认默认 API 域名(https://app-gate.fenbeitong.com/air_biz/skill/execute)是可信的官方服务;若不确定,请联系提供方或替换为受信任的端点。
- 审计网络流量与数据发送内容:检查发送到后端的 businessParams 内容,确认仅包含为完成操作所必需的数据,不含意外的本地敏感信息。
- 考虑临时文件清理与权限:临时文件(/tmp/flight_seat_items.json、endorse_seat_items.json、.fbt_auth.json)应在会话结束或不再需要时被删除,并确保其他系统用户无法读取。
如果您不具备修改代码的能力,谨慎选择:在生产环境保存真实个人信息或银行卡信息前,请要求作者修复上述问题或使用经过审核的第三方服务。Like a lobster shell, security has layers — review code before you run it.
latestvk973pjd00e0yveypt7cpe49ya183mj77
License
MIT-0
Free to use, modify, and redistribute. No attribution required.
Runtime requirements
✈️ Clawdis
Binspython3
