Skill flagged — suspicious patterns detected

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

特价机票

v1.0.0

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

0· 63·0 current·0 all-time
byfenbeitong-trip@gaogao605·duplicate of @ryan-zry/ai-flight
MIT-0
Download zip
LicenseMIT-0 · Free to use, modify, and redistribute. No attribution required.
Security Scan
VirusTotalVirusTotal
Suspicious
View report →
OpenClawOpenClaw
Suspicious
medium confidence
Purpose & Capability
技能名、描述与脚本的实际功能相符——实现航班搜索、舱位详情、下单、改期、退票等。所需二进制仅为 python3,与功能一致。
!
Instruction Scope
SKILL.md 明确指示将用户的 PII(姓名、手机号、证件号等)通过 HTTP POST 发送到外部“AI机票服务”。这是功能上合理但隐私敏感的行为,且 SKILL.md 声明“鉴权 apiKey 保存于用户主目录 ~/.fbt_auth.json”,而实际代码将 auth 文件保存在临时目录(tempdir,示例为 /tmp/.fbt_auth.json)。另外,脚本会在临时目录写入舱位数据文件(/tmp/flight_seat_items.json 和 /tmp/endorse_seat_items.json),这些文件可能包含用户选择和业务相关信息。
Install Mechanism
无安装规格(instruction-only + 附带脚本),没有远程可执行下载或包管理器安装步骤——从安装机制角度风险较低。但包含可执行脚本,会在本地运行并发起网络请求。
!
Credentials
声明不需要任何环境变量,但代码允许通过环境变量 FBT_API_URL 覆盖目标 API 地址(默认 https://app-gate.fenbeitong.com/air_biz/skill/execute)。该环境变量未在元数据中声明或解释,意味着如果运行环境中设置了恶意 FBT_API_URL,PII 和 apiKey 可被发送到任意主机。此外,apiKey 会被持久化到临时目录(默认 90 天),而非如文档所述的用户主目录,可能被系统上其他进程访问。总体所需权限(网络、读写临时目录)与功能有关,但对环境变量和持久化位置的处理不够谨慎。
Persistence & Privilege
技能不会要求“always:true”或修改其他技能配置,但会持久化 apiKey 到本地文件(临时目录中的 .fbt_auth.json)并在后续调用自动注入。它还在临时目录写入舱位相关文件以支持下单/改期流程。持久化与自动注入是功能性需求,但应注意长期存储 apiKey(默认 90 天)和将敏感数据置于临时目录的风险。
What to consider before installing
要点与建议: - PII 会被发送到外部服务:下单/鉴权流程会将乘客姓名、手机号、证件号等信息通过 HTTP POST 发送到技能使用的后端。仅在你完全信任该后端并了解其隐私政策与合规性时使用。 - SSL 验证被禁用:common.py 在发起 HTTPS 请求时使用 ssl._create_unverified_context()(跳过证书验证),这会使中间人攻击成为可能——即使目标域名看起来可信,也无法保证通信未被监听或篡改。除非开发者修复代码恢复证书验证,否则不要在不可信网络中传输敏感数据。 - apiKey 与缓存文件位置不一致:SKILL.md 写道 apiKey 存于用户主目录 (~/.fbt_auth.json),但实际代码将其保存到系统临时目录(temp dir,例如 /tmp/.fbt_auth.json)。临时目录通常对系统上其它进程/用户更可见,可能导致凭证泄露。 - 可被环境变量重定向的后端:脚本读取 FBT_API_URL 环境变量来改变目标 API,如果你的运行环境或代理设置了此变量,敏感数据可能被发送到任意地址。确保没有被未授权的环境变量注入或代理劫持。 - 临时文件包含业务数据:脚本会在临时目录写入 flight_seat_items.json 与 endorse_seat_items.json,用于下单/改期。如果其他本地用户或进程能够访问临时目录,这些文件可能被读取。 建议采取的行动: - 在信任此技能前,请要求或确认开发者修复两项关键问题:移除 ssl._create_unverified_context()(恢复证书验证),并将凭证存放到安全的、权限受限的位置(或让用户自选存储位置)。 - 如果你必须使用,优先在受控/隔离的环境中运行(例如专用容器、仅限可信网络),并清理临时文件与凭证文件后再退出。 - 考虑向技能维护者或来源请求更多背景(代码签名、后端服务的隐私/安全说明、为什么文档与实现存储路径不一致)。 总体:功能合理但实现有明显安全/隐私瑕疵,建议在确认并修复这些问题后再将其用于处理真实个人敏感数据。

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

latestvk979kkezv1kek378g1r3f6yfgx83wvht

License

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

Runtime requirements

✈️ Clawdis
Binspython3

Comments