Low Risk — Risk Score 12/100
Last scan:2 days ago Rescan
12 /100
mx_finance_search
基于东方财富数据库的金融资讯搜索工具,支持自然语言查询新闻、研报、公告等
金融资讯搜索工具,代码透明无恶意行为,存在轻微权限声明宽泛(未声明网络请求和文件写入权限),但为实现功能必要操作。
Skill Namemx_finance_search
Duration28.9s
Enginepi
Safe to install
建议完善 SKILL.md 声明 filesystem:WRITE 和 network:READ 权限,明确数据流向。建议将 API_KEY 示例值改为更明显的占位符格式(如 ${EM_API_KEY})。

Findings 3 items

Severity Finding Location
Low
权限声明不完整 - 文件系统
SKILL.md 未声明文件系统写入权限,但代码实现了将检索结果保存为本地 .txt 文件的功能(save_to_file 参数)。这是合法功能扩展。
声明中无 filesystem 权限说明
→ 在 SKILL.md metadata 中补充 filesystem:WRITE 声明
SKILL.md:1
Low
权限声明不完整 - 网络
SKILL.md 未声明网络权限,但代码向 ai-saas.eastmoney.com 发起 HTTP POST 请求获取金融数据。这是实现核心功能的必要操作。
MCP_URL = "https://ai-saas.eastmoney.com/proxy/b/mcp/tool/searchNews"
→ 在 SKILL.md metadata 中补充 network:READ 声明
SKILL.md:1
Info
示例占位符可优化
SKILL.md:61 包含 API_KEY="your_api_key_here",虽然是占位符但格式可能误导用户。
export EM_API_KEY="your_api_key_here"
→ 使用更明确的占位符格式,如 $EM_API_KEY 或 <YOUR_API_KEY>
SKILL.md:61
ResourceDeclaredInferredStatusEvidence
Filesystem NONE WRITE ✗ Violation scripts/get_data.py:207 写入本地 .txt 文件
Network NONE READ ✗ Violation scripts/get_data.py:73 POST 请求到 ai-saas.eastmoney.com
Environment READ READ ✓ Aligned scripts/get_data.py:68 仅读取 EM_API_KEY
Shell NONE NONE 无 subprocess 或 shell 执行
1 High 3 findings
🔑
High API Key 疑似硬编码凭证
API_KEY="your_api_key_here"
SKILL.md:61
🔗
Medium External URL 外部 URL
https://ai.eastmoney.com/mxClaw
SKILL.md:25
🔗
Medium External URL 外部 URL
https://ai-saas.eastmoney.com/proxy/b/mcp/tool/searchNews
scripts/get_data.py:73

File Tree

2 files · 16.7 KB · 456 lines
Python 1f · 298L Markdown 1f · 158L
├─ 📁 scripts
│ └─ 🐍 get_data.py Python 298L · 11.8 KB
└─ 📝 SKILL.md Markdown 158L · 5.0 KB

Security Positives

✓ 代码实现透明,无隐藏功能或后门
✓ 明确禁止硬编码凭证(SKILL.md 合规说明)
✓ 仅使用环境变量读取 API_KEY,无越权访问
✓ 网络请求目标为官方 eastmoney.com 合法 API
✓ 无 subprocess、eval、base64 解码等危险操作
✓ 错误处理完善,异常信息不外泄敏感内容