digitaleflex/GitHub-Cyber-Scanner-Pro
GitHub: digitaleflex/GitHub-Cyber-Scanner-Pro
一个定期扫描 GitHub 以发现和整理最新网络安全工具的自动化追踪器,支持噪声过滤、去重和多格式报告生成。
Stars: 1 | Forks: 0
# CyberBook 收藏器
[](https://opensource.org/licenses/MIT)
[](https://github.com/digitaleflex/GitHub-Cyber-Scanner-Pro/actions/workflows/deploy.yml)
[](https://github.com/digitaleflex/GitHub-Cyber-Scanner-Pro/actions/workflows/scan.yml)
[](https://www.python.org/downloads/)
用于发现 GitHub 上最新网络安全工具的简单工具。
## 工具功能
1. **扫描 GitHub**:每 3 天使用 13 个特定查询进行扫描
2. **过滤噪声**(空 repos、forks、awesome-lists)
3. **生成报告**(HTML dashboard + markdown + JSON)
## 快速安装
```
git clone https://github.com/digitaleflex/GitHub-Cyber-Scanner-Pro.git
cd GitHub-Cyber-Scanner-Pro
pip install requests
```
## 配置
### 选项 1:GitHub Token(推荐)
如果没有 token,GitHub API 限制为 10 次请求/分钟。如果有 token:30 次/分钟。
1. 访问 https://github.com/settings/tokens
2. 生成一个 token (Classic)
3. 权限:仅需 `public_repo`
4. 创建 `.env` 文件:
```
GITHUB_TOKENS=ghp_votre_token_ici
```
### 选项 2:无 token
脚本在没有 token 的情况下也能运行,但会比较慢(受 rate limit 限制)。
## 使用方法
### 运行扫描
```
python scripts/scan.py
```
结果:
```
data/last_scan.json → les repos trouves cette session
data/seen.json → historique (deduplication)
```
### 生成报告
```
python scripts/report.py
```
结果:
```
reports/rapport_YYYYMMDD.md → rapport markdown
```
### 生成 dashboard
```
python scripts/dashboard.py
```
结果:
```
reports/dashboard_YYYYMMDD.html → ouvre dans le navigateur
```
### 一步到位
```
python scripts/scan.py && python scripts/report.py && python scripts/dashboard.py
```
## Dashboard
在浏览器中打开 `reports/dashboard_*.html`:
```
┌─────────────────────────────────────────────────┐
│ CyberScan Dashboard │
│ │
│ ┌──────┐ ┌──────┐ ┌──────┐ │
│ │ 12 │ │ 4521 │ │ 5 │ │
│ │outils│ │stars │ │langs │ │
│ └──────┘ └──────┘ └──────┘ │
│ │
│ Repository Stars Lang Description │
│ ───────────────────────────────────────────── │
│ berylliumsec/nebula 981 Py AI pentest... │
│ tirrenotechnologies 1.4k PHP Threat det... │
└─────────────────────────────────────────────────┘
```
## 自动化(GitHub Actions)
扫描会**每 3 天**在 GitHub Actions 上自动运行一次。
### 工作原理
1. GitHub Actions 启动一台 Ubuntu 服务器
2. 运行 `scripts/scan.py`
3. 生成报告和 dashboard
4. 将文件保存为 artifacts(保存 90 天)
### 查看结果
1. 访问 https://github.com/digitaleflex/GitHub-Cyber-Scanner-Pro/actions
2. 点击最新的一次扫描
3. 在底部点击 **"cyberreport-xxx"** (Artifacts)
4. 下载 zip 压缩包
### 手动运行
1. 进入 Actions 标签页
2. 点击 "CyberScan"
3. 点击 "Run workflow"
## 项目结构
```
.
├── scripts/
│ ├── scan.py # Scan GitHub (13 requetes)
│ ├── report.py # Rapport markdown
│ └── dashboard.py # Dashboard HTML
├── data/
│ ├── last_scan.json # Dernier scan
│ ├── seen.json # Historique
│ └── init.sql # Schema SQL (pour plus tard)
├── reports/
│ ├── rapport_*.md # Rapports markdown
│ └── dashboard_*.html # Dashboards HTML
├── src/
│ ├── scanner.py # Scanner complet (avec API)
│ └── database.py # PostgreSQL (pour plus tard)
├── .github/
│ ├── workflows/
│ │ ├── scan.yml # Scan auto tous les 3 jours
│ │ └── deploy.yml # CI/CD (lint + tests)
│ ├── ISSUE_TEMPLATE/
│ │ ├── bug_report.md
│ │ └── feature_request.md
│ └── PULL_REQUEST_TEMPLATE.md
├── LICENSE # MIT
├── CODE_OF_CONDUCT.md # Code de conduite
├── CONTRIBUTING.md # Guide de contribution
├── SECURITY.md # Politique de securite
├── CHANGELOG.md # Historique
├── requirements.txt
└── README.md
```
## 工作原理(技术层面)
### 13 个 GitHub 查询
```
C2 framework pushed:>DATE stars:>1
phishing kit pushed:>DATE stars:>1
reverse shell pushed:>DATE stars:>1
credential stealer pushed:>DATE stars:>1
RAT malware pushed:>DATE stars:>1
exploit tool pushed:>DATE stars:>1
red team tool pushed:>DATE stars:>2
pentest tool pushed:>DATE stars:>2
malware analysis pushed:>DATE stars:>2
threat intel pushed:>DATE stars:>2
osint tool pushed:>DATE stars:>2
security tool pushed:>DATE stars:>3 language:go
security tool pushed:>DATE stars:>3 language:rust
```
### 反噪声过滤
脚本会排除:
- 没有 description 的 repos
- forks
- 0 star 和 0 fork 的 repos
- "awesome lists"、"tutorials"、"courses"
### 去重
每个 repo 都会被计算哈希值(MD5)并存储在 `data/seen.json` 中。重复项将被忽略。
## 常见问题
### "没有 token 能运行吗?"
可以,但速度较慢。没有 token 时,GitHub API 限制为 10 次请求/分钟。
### "一次扫描需要多长时间?"
约 2-3 分钟(13 次请求 * 3 秒间隔)。
### "数据在哪里?"
在 `data/` (JSON) 和 `reports/` (HTML/MD) 中。目前暂无数据库。
### "如何添加数据库?"
以后再说。目前,JSON 文件就足够了。
### "CI/CD 无法运行"
检查 https://github.com/digitaleflex/GitHub-Cyber-Scanner-Pro/actions。如果显示红色,点击查看错误信息。
## 贡献
## 安全
阅读 [SECURITY.md](SECURITY.md) 了解安全政策。
## 依赖项
```
requests # Appels API GitHub
```
就这些。不需要 Docker。不需要 PostgreSQL。不需要 NLP。
## 后续步骤
1. **现在**:运行扫描,查看结果
2. **第 2 周**:将报告发送给 3 位 CTI 分析师
3. **如果通过验证**:添加 PostgreSQL、评分系统、高级 dashboard
4. **如果未通过**:停止或调整方向
## 许可证
基于 [MIT](LICENSE) 许可证分发。
标签:Homebrew安装, 后端开发, 多模态安全, 字符串匹配, 防御加固