ppradyoth/ai-security-tracker

GitHub: ppradyoth/ai-security-tracker

一个利用GitHub API和TinyLlama对50多个主流AI/ML开源仓库进行安全漏洞与CVE动态追踪并生成可视化仪表盘的监控工具。

Stars: 0 | Forks: 0

# AI 安全追踪器 全面覆盖 AI/ML 生态系统的安全监控。追踪 50 多个仓库的安全问题、漏洞和倡议。 **仪表盘:** [https://ppradyoth.github.io/ai-security-tracker](https://ppradyoth.github.io/ai-security-tracker) ## ⚠️ **重要:搜索局限性** **此追踪器目前仅搜索带有特定标签和关键词的问题:** - 标签:`security`、`vulnerability`、`cve` - 关键词:`security`、`vulnerability`、`cve`、`credential`、`secret` 等 **许多仓库并未明确标记安全工作**,因此对于那些确实有正在进行的安全工作的仓库,此追踪器可能会显示 0 个问题。例如: - **TensorFlow**:存在安全工作,但使用了 `area:security`、`type:enhancement` 等不同的标签 - **PyTorch**:进行了安全讨论,但未标记为 "security" 标签 - **大多数 ML 框架**:侧重于错误报告和功能,而不是明确的 "security" 标签 **结果:当前数据可能不完整。** 显示 0 个问题的仓库可能实际上有我们未捕获到的重大安全活动。 **为了扩大覆盖范围,我们需要:** 1. 扩展关键词搜索(添加:`fix`、`patch`、`update`、`auth`、`injection` 等) 2. 直接查询 CVE 数据库 (NVD) 以获取权威的漏洞数据 3. 分析提交消息以查找与安全相关的更改 4. 针对每种仓库类型使用特定类别的搜索策略 有关如何自定义安全信号以获得更好覆盖范围的信息,请参阅 [SETUP.md](SETUP.md)。 ## 概述 AI 安全追踪器提供了跨以下领域的生态系统级安全实践可见性: - **7+ AI CLI 工具** — Claude Code、OpenAI Codex、Gemini、GitHub Copilot 等。 - **6+ ML 框架** — TensorFlow、PyTorch、JAX、Hugging Face、LLaMA 等。 - **4+ Agent 框架** — LangChain、AutoGen、CrewAI、LlamaIndex - **5+ 安全工具** — Bandit、Safety、Snyk、GitGuardian、TruffleHog - **2+ 安全参考** — OWASP、Awesome Security **追踪 22 个仓库的安全信号**(请参阅上述局限性): - GitHub 安全标签(仅限于特定术语) - 与安全相关的关键词 - Issue/PR 活动 - 参与度指标 ## 功能 ✨ **实时监控** - 每日从 50 多个仓库收集安全数据 - GitHub API 集成(无需外部服务) - 每日 08:00 UTC 自动运行工作流 📊 **综合仪表盘** - 概述:总问题数、趋势、参与度指标 - 按仓库划分:每个仓库的问题计数和近期活动 - 热门问题:最活跃的安全讨论 - 标签分布:热门安全话题 🎨 **极简设计** - 受 Apple/Google 启发的设计美学 - 支持深色模式的浅色主题 - 响应式设计(桌面端、平板端、移动端) - 快速的客户端渲染(无后端) 📈 **历史数据** - 180 天的时间窗口 - 存储在 Git 中的每日快照 - 便捷的趋势分析 - 完整的审计追踪 ## 快速开始 ### 查看仪表盘 在浏览器中打开 [https://ppradyoth.github.io/ai-security-tracker](https://ppradyoth.github.io/ai-security-tracker)。 ### 本地运行 ``` # Clone repo git clone https://github.com/ppradyoth/ai-security-tracker.git cd ai-security-tracker # 安装 dependencies pip install requests # 收集安全数据 export GITHUB_TOKEN=your_token_here python scripts/fetch_security_data.py > /tmp/security.json # 生成 dashboard 数据 python scripts/generate_dashboard_data.py /tmp/security.json > docs/data.json # 在本地运行 python -m http.server 8000 # 访问 http://localhost:8000/docs/ ``` ## 架构 ### 数据收集 (`scripts/fetch_security_data.py`) 1. 从 `manifest.json` 读取仓库清单 2. 查询 GitHub API 以获取与安全相关的 issue/PR 3. 提取安全信号: - 标签:"security"、"vulnerability"、"cve" - 关键词:"credential"、"exploit"、"injection" 等 4. 输出包含 180 天历史的结构化 JSON ### 仪表盘生成 (`scripts/generate_dashboard_data.py`) 1. 获取原始安全数据 2. 按仓库、问题类型、参与度进行汇总 3. 计算指标和趋势 4. 为前端生成优化的 JSON ### 前端 (`docs/`) - **index.html** — 语义化 HTML 结构 - **style.css** — 极简的 Apple/Google 风格 - **script.js** — 客户端数据加载和渲染 - **data.json** — 生成的仪表盘数据(每日提交) ### 自动化 (`.github/workflows/`) - **fetch-security-data.yml** — 每日 08:00 UTC 进行数据收集 - 运行指标收集 - 提交每日快照 - 生成并部署仪表盘 ## 配置 ### 添加仓库 编辑 `manifest.json` 以添加要追踪的仓库: ``` "ai_cli_tools": [ { "name": "Your Tool Name", "owner": "github-owner", "repo": "repo-name", "focus": "Brief description of security focus" } ] ``` ### 自定义安全信号 在 `manifest.json` 中编辑安全关键词和模式: ``` "security_labels": ["security", "vulnerability", ...], "vulnerability_keywords": ["vulnerability", "exploit", ...], "credential_keywords": ["credential", "secret", ...] ``` ## 数据结构 ### 原始安全数据 (`data/YYYY-MM-DD.json`) ``` { "generated_at": "2026-05-25T08:00:00Z", "total_repos_tracked": 50, "total_security_issues": 1234, "issues": [ { "repo": "Repository Name", "number": 12345, "title": "Issue Title", "url": "https://...", "type": "Issue|PR", "state": "open|closed", "created_at": "2026-05-20T...", "updated_at": "2026-05-25T...", "labels": ["security", "cve"], "comments": 5, "reactions": 2, "signals": { "has_security_label": true, "security_keywords_found": ["vulnerability"], "credential_keywords_found": [] } } ] } ``` ### 仪表盘数据 (`docs/data.json`) ``` { "generated_at": "...", "summary": { "total_repos_tracked": 50, "total_security_issues": 1234, "issues_by_state": { "open": 800, "closed": 434 }, "issues_by_type": { "Issue": 900, "PR": 334 } }, "top_repos": [...], "top_issues_by_engagement": [...], "labels_distribution": [...] } ``` ## 开发 ### 第一阶段:MVP ✅ - [x] 包含 50 多个精选仓库的清单 - [x] GitHub API 安全数据收集 - [x] 具有 4 个主视图的仪表盘 - [x] 日常自动化工作流 - [x] GitHub Pages 部署 ### 第二阶段:扩展(已规划) - [ ] 趋势分析(速度、响应时间) - [ ] CVE 数据集成(NVD API) - [ ] 每周和每月报告 - [ ] 工具对比功能 - [ ] 自动发现新仓库 ### 第三阶段:高级功能(未来) - [ ] 带图表的可视化(Chart.js、D3) - [ ] 机器学习异常检测 - [ ] 社区功能(注释、讨论) - [ ] 电子邮件/Slack 警报 - [ ] 指标导出 API ## 故障排除 **仪表盘不显示数据?** 1. 检查 `docs/data.json` 是否存在且不为空 2. 在本地运行 `python scripts/fetch_security_data.py` 3. 验证 GitHub token 是否具有适当的权限 **工作流失败并提示权限错误?** 1. 确保工作流具有 `permissions: { contents: write }` 2. 检查仓库设置中是否启用了 GitHub Actions 3. 验证 secrets 中的 token **仓库未显示结果?** 1. 检查 `manifest.json` 中的仓库名称是否正确 2. 验证仓库是否存在并具有公开的 issue 3. 检查 GitHub API 速率限制:`gh api rate_limit` ## 资源 - **安装指南:** 参阅 [SETUP.md](SETUP.md) - **GitHub API 文档:** https://docs.github.com/en/rest - **灵感来源:** [Big Model Radar](https://github.com/gsscsd/big_model_radar) ## 许可证 MIT 许可证 — 参阅 LICENSE 文件 ## 有疑问? 提出 issue 或访问 [GitHub 仓库](https://github.com/ppradyoth/ai-security-tracker)。
标签:AI安全, Chat Copilot, TinyLlama, 多模态安全, 数据可视化, 漏洞追踪, 监控仪表盘, 自动化监控, 逆向工具