somegg90-blip/vyala-archon-brightdata-hackathon-
GitHub: somegg90-blip/vyala-archon-brightdata-hackathon-
Vyala Archon 是一款自主智能体,通过扫描企业公开 GitHub 仓库中的传统密码学使用情况,生成 CBOM 报告并推荐 NIST 批准的后量子密码学替代方案。
Stars: 1 | Forks: 0
# 🐯 Vyala Archon
### 自主的后量子密码学威胁情报智能体
## 🎯 什么是 Vyala Archon?
Vyala Archon 是一个**自主威胁情报智能体**,它会扫描任何公司公开的 GitHub 仓库以寻找传统密码学漏洞 —— 如 RSA、ECDSA、AES-128 —— 并在量子计算机使其淘汰之前,推荐**通过 NIST 批准的后量子密码学 (PQC) 替代方案**。
你只需输入一个域名。剩下的交给 Vyala。
```
stripe.com → 🔍 Hunt → 📥 Scrape → 🔬 Parse → 🤖 AI Enrich → 📋 CBOM Report
```
## ⚡ 问题所在
| 算法 | 量子攻击 | 状态 |
|-----------|---------------|--------|
| RSA-2048 | Shor's Algorithm | 💀 已破解 |
| ECDSA / ECDH | Shor's Algorithm | 💀 已破解 |
| AES-128 | Grover's Algorithm | ⚠️ 已削弱 |
| AES-256 | Grover's Algorithm | ✅ 安全 |
| SHA-256 | Grover's Algorithm | ⚠️ 已削弱 |
美国政府 (NSA CNSA 2.0) 强制要求在 **2030 年前** 从传统的非对称加密迁移。大多数企业根本不知道他们的技术债埋没在数百个代码仓库的哪些角落。
## 🏗️ 架构
```
┌─────────────────────────────────────────────────────────────┐
│ VYALA ARCHON │
│ │
│ ┌──────────────┐ ┌─────────────────┐ ┌───────────┐ │
│ │ Bright Data │ │ Scanning Engine │ │ AI Pool │ │
│ │ │ │ │ │ │ │
│ │ SERP API │───▶│ Tree-sitter AST │───▶│ 6 Models │ │
│ │ Web Unlocker│ │ Dependency Parse│ │ 5 Accounts│ │
│ └──────────────┘ └─────────────────┘ └───────────┘ │
│ │ │ │ │
│ ▼ ▼ ▼ │
│ GitHub URLs CryptoFindings CBOM Report │
│ Raw File DL RSA/ECDSA/AES PQC Guidance │
└─────────────────────────────────────────────────────────────┘
```
**流程:**
1. **Bright Data SERP API** → 在 Google 搜索目标公司的 GitHub 仓库
2. **Bright Data Web Unlocker** → 下载原始源代码和依赖文件(绕过机器人检测、CAPTCHAs 和速率限制)
3. **Tree-sitter 解析器** → 对 `.py`、`.js`、`.java`、`.go` 源文件进行 AST 级别的扫描
4. **DependencyParser** → 正则扫描 `requirements.txt`、`package.json`、`pom.xml`、`go.mod`、`Cargo.toml` 等
5. **Multi-Tier LLM Pool** → 通过 5 个 OpenRouter 账户上的 6 个模型为每个发现丰富 PQC 建议
6. **CBOM 报告** → 结构化的加密物料清单 (Crypto Bill of Materials) 输出
## 🛡️ 检测内容
### 源代码 (Tree-sitter AST)
- Python: `rsa`, `cryptography`, `pycryptodome`, `ecdsa`, `pyopenssl`
- JavaScript: `node-rsa`, `elliptic`, `node-forge`, `jsencrypt`
- Java: Bouncy Castle, JCE RSA/EC usage
- Go: `crypto/rsa`, `crypto/ecdsa`, `golang.org/x/crypto`
### 依赖文件 (DependencyParser)
- `requirements.txt` / `pyproject.toml` / `setup.cfg`
- `package.json` / `yarn.lock` / `package-lock.json`
- `pom.xml` / `build.gradle` / `gradle/libs.versions.toml`
- `go.mod` / `Cargo.toml` / `composer.json`
### 推荐的 PQC 替代方案 (NIST 标准)
| 传统算法 | 量子攻击 | NIST 替代方案 |
|-----------|---------------|-----------------|
| RSA (密钥交换) | Shor | ML-KEM-768 / CRYSTALS-Kyber (FIPS 203) |
| ECDSA (签名) | Shor | ML-DSA-65 / Dilithium (FIPS 204) |
| RSA (签名) | Shor | SLH-DSA / SPHINCS+ (FIPS 205) |
| AES-128 | Grover | 升级至 AES-256 |
## 🚀 快速开始
### 前置条件
- Python 3.11+
- Node.js 18+ (用于前端)
- Bright Data 账户 ([注册](https://brightdata.com))
- OpenRouter 账户 ([注册](https://openrouter.ai))
### 后端设置
```
git clone https://github.com/YOUR_USERNAME/vyala-archon
cd vyala-archon
# 安装依赖项
pip install -r requirements.txt
# 配置环境
cp .env.example .env
# 使用你的凭据编辑 .env(参见 Environment Variables 部分)
# 运行 API
uvicorn api.main:app --reload --port 8000
```
### 前端设置
```
cd frontend # or wherever your Next.js app lives
npm install
npm run dev # runs on http://localhost:3000
```
### 使用 Mock 模式测试 (零消耗)
```
# 在 .env 中,设置:
MOCK_WEB=true
# 然后调用扫描 —— 在本地生成 synthetic crypto findings
```
## 🌍 Bright Data 集成
Bright Data 是 Vyala Archon 的**核心基础设施** —— 不是可选项。
| Bright Data 产品 | Vyala 的使用方式 |
|--------------------|------------------|
| **SERP API** | 在 Google 搜索 `site:github.com/{company}` 以发现包含加密代码的仓库 |
| **Web Unlocker** | 从 `raw.githubusercontent.com` 下载原始源文件,绕过 GitHub 的速率限制和机器人检测 |
| **MCP Client** | 获取最新的 NIST 文档,使 AI 的建议基于真实的行业标准 |
如果没有 Bright Data:
- GitHub 会在每小时约 60 次请求后阻止自动抓取
- 如果没有住宅代理,Google 会阻止搜索自动化
- 智能体根本无法发现或下载目标文件
## 📁 项目结构
```
vyala-archon/
├── api/
│ ├── main.py # FastAPI app entry point
│ ├── routes/ # API route handlers
│ └── schemas.py # Request/response schemas
├── core/
│ ├── models/
│ │ └── cbom.py # Pydantic v2 CBOM data models
│ ├── parsers/
│ │ ├── base_parser.py # Abstract base + file walking utilities
│ │ ├── python_parser.py
│ │ ├── js_parser.py
│ │ ├── java_parser.py
│ │ ├── go_parser.py
│ │ ├── csharp_parser.py
│ │ └── dependency_parser.py # Manifest file scanner
│ ├── ai/
│ │ ├── context_builder.py # Multi-tier LLM pool
│ │ ├── analyzer.py
│ │ └── prompt_templates.py
│ └── scanner.py # VyalaEngine orchestrator
├── web/
│ ├── hunter.py # Bright Data SERP + Web Unlocker
│ ├── mcp_client.py # Web-grounded RAG for PQC context
│ └── supply_chain.py
├── frontend/ # Next.js dashboard
├── requirements.txt
├── .env.example
├── .gitignore
└── README.md
```
## 🔐 环境变量
将 `.env.example` 复制到 `.env` 并填入你的凭证:
```
cp .env.example .env
```
请查看 `.env.example` 了解所有必需的变量及其描述。
## 📊 CBOM 报告 Schema
每次扫描都会生成一份遵循新兴 CBOM 标准的**加密物料清单 (Crypto Bill of Materials)**:
```
{
"report_id": "uuid-v4",
"project_name": "stripe.com",
"status": "COMPLETE",
"total_findings": 7,
"quantum_vulnerable_count": 6,
"critical_findings_count": 3,
"algorithms_detected": ["RSA/EC", "AES-128", "ECDSA"],
"severity_breakdown": {
"CRITICAL": 3, "HIGH": 2, "MEDIUM": 2, "LOW": 0
},
"findings": [
{
"algorithm_detected": "RSA/EC (golang.org/x/crypto)",
"severity": "CRITICAL",
"vulnerability_class": "SHOR_VULNERABLE",
"pqc_recommendation": {
"primary_algorithm": "ML-KEM-768 (CRYSTALS-Kyber)",
"nist_reference": "FIPS 203",
"hybrid_transition_recommended": true
},
"migration_complexity": "HIGH"
}
]
}
```
## 🏆 黑客松
为 **Bright Data Web Data UNLOCKED 黑客松** (2026年5月25日至30日) 构建。
**赛道:** 安全与合规
**使用的 Bright Data 产品:** SERP API, Web Unlocker
## 📜 许可证
MIT — 请查看 [LICENSE](LICENSE)
## 🔗 参考资料
- [NIST FIPS 203 — ML-KEM (CRYSTALS-Kyber)](https://csrc.nist.gov/pubs/fips/203/final)
- [NIST FIPS 204 — ML-DSA (Dilithium)](https://csrc.nist.gov/pubs/fips/204/final)
- [NIST FIPS 205 — SLH-DSA (SPHINCS+)](https://csrc.nist.gov/pubs/fips/205/final)
- [NSA CNSA 2.0](https://media.defense.gov/2022/Sep/07/2003071834/-1/-1/0/CSA_CNSA_2.0_ALGORITHMS_.PDF)
- [Bright Data 文档](https://docs.brightdata.com)
标签:逆向工具