安全决策报告
recognize_intent
技能为合法BI意图识别工具,但存在硬编码外部IP和内嵌JWT令牌等可疑配置,存在配置漂移和凭证管理问题
最直接的威胁证据
为什么得出这个结论
2/4 个维度触发 阻止
声明与实际能力
发现 2 项声明之外的能力或越权行为。
阻止
隐藏执行与外联
提取到 1 个高危 IOC 或外联信号。
通过
攻击链与高危发现
没有形成明确的恶意路径。
复核
依赖与供应链卫生
发现 4 项需要关注的依赖或供应链线索。
风险分是怎么被拉高的
硬编码外部IP +20
recognize_intent.py:969 硬编码IP 47.77.199.56 为 Gemini API 地址
内嵌JWT令牌 +15
recognize_intent.py:973-978 内嵌默认JWT令牌作为fallback凭证
Shell执行能力 +10
index.js 使用 spawn 执行 Python,无文档声明
最关键的证据
中危 敏感访问
硬编码外部IP地址
Gemini API URL使用硬编码IP 47.77.199.56 而非域名,环境变更时无法动态更新
recognize_intent.py:969 使用环境变量配置API地址,确保可审计和可替换
中危 凭证窃取
内嵌JWT令牌作为默认凭证
代码中硬编码了长串JWT令牌作为GEMINI_TOKEN的默认值,存在凭证泄露风险
recognize_intent.py:973 移除硬编码令牌,要求用户必须配置有效的环境变量
低危 文档欺骗
Shell执行能力未在文档声明
SKILL.md未声明使用subprocess/spawn执行Python脚本
index.js:75 在文档中声明允许执行的命令和用途
声明能力 vs 实际能力
文件系统 通过
声明 READ
→ 推断 READ
index.js:40 从 .env 读取配置 命令执行 阻止
声明 NONE
→ 推断 WRITE
index.js:75 使用 child_process.spawn 执行 Python 网络访问 阻止
声明 NONE
→ 推断 READ
recognize_intent.py:969 硬编码外部IP作为API端点 可疑产物与外联
高危 IP 地址
47.77.199.56 recognize_intent.py:969
中危 外部 URL
http://47.77.199.56/api/v1beta recognize_intent.py:969
中危 外部 URL
https://dashscope.aliyuncs.com/compatible-mode/v1 recognize_intent.py:1016
依赖与供应链
| 包名 | 版本 | 来源 | 漏洞 | 备注 |
|---|---|---|---|---|
| httpx | * | pip | 否 | 无版本锁定 |
| pymilvus | * | pip | 否 | 无版本锁定 |
| openai | * | pip | 否 | 无版本锁定 |
| pymysql | * | pip | 否 | 无版本锁定 |
文件构成
3 个文件 · 2119 行
Python 1 个文件 · 1930 行JavaScript 1 个文件 · 135 行Markdown 1 个文件 · 54 行
需关注文件 · 2
recognize_intent.py 硬编码外部IP地址 · 内嵌JWT令牌作为默认凭证 · 47.77.199.56 · http://47.77.199.56/api/v1beta · https://dashscope.aliyuncs.com/compatible-mode/v1
index.js Shell执行能力未在文档声明
其他文件 · SKILL.md
安全亮点
代码结构清晰,无混淆或Base64编码的恶意载荷
无凭证外传或C2通信行为
外部服务调用为正常业务逻辑(Gemini AI、Milvus、MySQL)
错误处理完善,失败时优雅降级