本项目用于 自动扫描和监控互联网上暴露的 Ollama 服务资产,
通过调用 ZoomEye 网络空间搜索引擎 API,发现、统计并追踪公开的 Ollama 服务,
生成专业的安全监测报告并自动更新到指定 Issue,实现资产暴露面的持续监控。
| 功能 | 说明 |
|---|---|
| 🔍 智能资产发现 | 基于多重特征识别 Ollama 服务(标题、产品名、服务端口等) |
| 📊 多维统计分析 | 自动生成国家分布、端口分布等统计图表 |
| 🗺️ 地理可视化 | 按国家、城市分类展示资产分布情况 |
| ⏰ 定时监测 | 可配置定时任务自动执行资产扫描(通过 .cnb.yml 配置) |
| 📋 结构化报告 | 生成专业的 Markdown 格式安全监测报告 |
| 🔄 自动更新 | 智能识别并更新 Issue 中的每日报告 |
| 🛡️ 安全合规 | 包含安全使用提醒和合规声明 |
.
├── update.sh # 主执行脚本:查询 ZoomEye API 并生成监测报告
├── .cnb.yml # CNB 定时任务配置(可设置每日执行)
└── README.md # 项目说明文档(当前文件)
在 CNB 项目的 Environment Variables 中设置:
CNB_REPO_SLUG="username/repository" # 目标仓库
CNB_TOKEN="your_cnb_bearer_token" # CNB Bearer Token
ISSUE_NUMBER="1" # 目标 Issue 编号(可选,默认1)
编辑 update.sh 文件,修改查询语句:
# 默认查询条件 - 可根据需要调整
QUERY_STRING='product="Ollama" OR title="Ollama" OR banner="Ollama" OR service="ollama"'
手动运行:
./update.sh
或通过 CNB 定时任务自动执行(配置在 .cnb.yml)。
生成的监测报告包含以下部分:
包含以下关键信息:
在 .cnb.yml 中配置定时任务,建议设置为每日执行:
# .cnb.yml 示例
master:
"crontab: 30 10 * * *": # 10:30点
- name: daily-ollama-scan
stages:
- name: execute-update-script
script: |
# 检查脚本是否存在
if [ -f "update.sh" ]; then
echo "找到 update.sh 脚本,开始执行..."
chmod +x update.sh
./update.sh
echo "脚本执行完成"
else
echo "错误:update.sh 脚本不存在"
exit 1
fi
在脚本中可调整以下参数:
# 每页返回数量(最大 10000)
"pagesize": 50
# 返回字段(按需调整)
"fields": "ip,port,domain,title,product,service,version,..."
# 统计维度
"facets": "country,port,product,service"
# 资产类型
"sub_type": "v4" # 可选:v4, v6, web
修改脚本中的 Markdown 模板部分,调整:
欢迎提交 Issue 和 Pull Request 来改进本项目:
本项目基于 MIT 许可证开源,详见 LICENSE 文件。
最后更新: $(date +%Y-%m-%d)
维护者: [您的名字]
状态: 🟢 活跃维护中