安全决策报告
migu-ai-creative-photo
使用 Node.js 标准库实现咪咕旅游照片合成服务,存在 User-Agent 伪装异常和 --insecure 跳过证书验证选项,但无明确恶意行为证据
最直接的威胁证据
高危 IP 地址
152.0.0.0 为什么得出这个结论
1/4 个维度触发 通过
声明与实际能力
声明资源与推断能力基本一致。
阻止
隐藏执行与外联
提取到 1 个高危 IOC 或外联信号。
通过
攻击链与高危发现
没有形成明确的恶意路径。
复核
依赖与供应链卫生
没有完整依赖信息,供应链判断需要保留弹性。
风险分是怎么被拉高的
User-Agent 伪装异常 +20
Chrome/152.0.0.0 版本号格式异常,line 19: 'Chrome/152.0.0.0 Mobile Safari/537.36'
可选的不安全模式 +15
支持 --insecure 跳过 TLS 证书验证,可能被用于中间人攻击
凭证文件写入 +10
--save-token-stdin 允许写入 secrets/plan_multi_token.txt
最关键的证据
中危 代码混淆
User-Agent 版本号格式异常
User-Agent 中 Chrome 版本号 '152.0.0.0' 格式不符合正常 Chrome 版本号规范(应为 152.0.xxx.x),可能用于绕过基于版本检测的过滤规则
scripts/migu_ai_creative_photo_client.mjs:19 确认是否为故意伪装,若是正常 API 调用应使用真实 User-Agent
中危 敏感访问
支持跳过 TLS 证书验证
--insecure 选项允许通过 rejectUnauthorized: false 跳过 HTTPS 证书验证,存在中间人攻击风险
scripts/migu_ai_creative_photo_client.mjs:53 生产环境不应使用 --insecure 选项,明确告知用户风险
低危 凭证窃取
Token 保存命令支持外部输入
--save-token-stdin 从 stdin 读取 JWT 并写入本地文件,属于正常功能但存在被滥用可能
scripts/migu_ai_creative_photo_client.mjs:133 确保该功能仅通过 CLI 管道使用,不被远程调用
声明能力 vs 实际能力
文件系统 通过
声明 WRITE
→ 推断 WRITE
SKILL.md:59-62, migu_ai_creative_photo_client.mjs:134 网络访问 通过
声明 READ
→ 推断 READ
SKILL.md:30, migu_ai_creative_photo_client.mjs:88-97 环境变量 通过
声明 READ
→ 推断 READ
migu_ai_creative_photo_client.mjs:75-79 可疑产物与外联
高危 IP 地址
152.0.0.0 scripts/migu_ai_creative_photo_client.mjs:19
中危 外部 URL
https://gulangyu.migudm.cn SKILL.md:30
中危 外部 URL
https://gulangyu.migudm.cn/multi-city-trip-agent/ scripts/migu_ai_creative_photo_client.mjs:15
依赖与供应链
没有结构化依赖告警。
文件构成
4 个文件 · 262 行
JavaScript 1 个文件 · 180 行Markdown 1 个文件 · 71 行JSON 1 个文件 · 10 行Text 1 个文件 · 1 行
需关注文件 · 2
scripts/migu_ai_creative_photo_client.mjs User-Agent 版本号格式异常 · 支持跳过 TLS 证书验证 · Token 保存命令支持外部输入 · 152.0.0.0 · https://gulangyu.migudm.cn/multi-city-trip-agent/
SKILL.md https://gulangyu.migudm.cn
其他文件 · package.json · creative_photo_session.txt
安全亮点
仅使用 Node.js 标准库,无第三方依赖风险
SKILL.md 完整声明了所有功能和权限
代码行为与文档描述一致
JWT token 有完整的清洗和验证逻辑
未发现代码执行、远程脚本下载或数据外泄行为
会话 ID 和 token 存储在 skill 私有目录