venantvr-security/firefox-autohar-extension
GitHub: venantvr-security/firefox-autohar-extension
一款 Firefox 扩展,自动化捕获网络流量并检测安全风险,简化 HAR 分析流程。
Stars: 0 | Forks: 0
# PentestHAR 版本 - Firefox 扩展
Firefox 扩展,用于以 HAR(HTTP 归档)格式捕获和分析网络安全流量。
## 功能
### 捕获
- **自动捕获**:记录所有网络请求
- **自动保存**:达到大小阈值时保存 HAR 文件
- **隐私浏览**:支持无痕模式运行
- **域名过滤**:仅捕获指定域名
### 安全分析
- **密钥检测**:JWT(带解码)、AWS 密钥、GCP 密钥、Stripe、GitHub 令牌、Bearer 令牌
- **安全头部**:CSP、HSTS、X-Frame-Options、不安全的 Cookie
- **CORS 检测**:通配符、源反射、凭据
- **IDOR 检测**:带可信度评分的顺序 ID 模式
### 智能过滤
- **忽略静态资源**:自动排除 JS、CSS、图片、字体
- **仅 API**:仅捕获 API 端点
- **排除第三方**:忽略第三方域名(分析、CDN)
- **去重**:忽略重复请求
### 导出
- **ffuf**:用于爆破的端点单词表
- **curl**:可复现的 curl 命令
- **Postman**:可导入的集合
- **参数单词表**:所有参数的列表
- **Markdown 报告**:完整的安全报告
- **Nuclei 模板**:用于 IDOR 的 YAML 模板
### AI 导出(新功能)
- **AI 简报**:优化用于 AI 分析的结构化摘要
- **攻击场景**:基于发现项生成的场景
- **OpenAPI 规范**:自动重建 API 规范
- **分块导出**:为 AI 上下文限制拆分的数据
- **8 个默认提示**:识别、IDOR、JWT、密钥、API、进攻、报告、快速胜利
- **自定义提示**:本地存储保存、动态变量
## 安装
### 方法 1:临时安装(开发)
1. 打开 Firefox
2. 访问 `about:debugging#/runtime/this-firefox`
3. 点击“加载临时扩展...”
4. 选择 `manifest.json` 文件
### 方法 2:永久安装
```
cd firefox-pentesthar-extension
zip -r pentesthar.xpi * -x "*.git*"
```
然后访问 `about:addons` -> 齿轮图标 -> “从文件安装扩展...”
## 使用
1. **打开开发者工具**(F12)
2. **切换到“PentestHAR”标签页**
3. **点击“开始”** 以启动捕获
4. **浏览** 目标网站
5. **安全标签页**:查看检测到的密钥和漏洞
6. **端点标签页**:列出唯一端点和 IDOR 候选
7. **导出标签页**:导出为 ffuf、Burp、Nuclei 等格式
## 标签页
### 捕获
- 实时统计(请求数、大小)
- 自动保存进度条
- 可配置智能过滤器
- 活动日志
### 安全
- 按严重性计数(高危、严重、中危)
- 检测到的密钥列表(含 JWT 解码)
- 安全问题(头部、Cookie、CORS)
### 端点
- 按 HTTP 方法过滤的可列表面
- 文本搜索
- 带可信度评分的 IDOR 指标
- 参数计数
### 导出
- 导出内容预览
- 复制到剪贴板
- 直接下载
### AI 导出
- 快速导出(简报、场景、OpenAPI、分块)
- 按类别提供动态变量的提示
- 带令牌估算的预览
- 自定义提示管理
## 密钥检测
| 类型 | 模式 | 严重性 |
|------|---------|----------|
| JWT | `eyJ...` | 高 |
| AWS 访问密钥 | `AKIA...` | 严重 |
| GCP API 密钥 | `AIza...` | 高 |
| Stripe 密钥 | `sk_live_...` | 严重 |
| GitHub 令牌 | `ghp_...` | 严重 |
| Bearer 令牌 | `Bearer ...` | 高 |
| 私钥 | `-----BEGIN...` | 严重 |
## AI 提示变量
| 变量 | 描述 |
|----------|-------------|
| `{{target}}` | 目标主域名 |
| `{{endpoints}}` | 发现的端点列表 |
| `{{secrets}}` | 检测到的密钥(已脱敏) |
| `{{jwt_decoded}}` | 解码后的 JWT(含声明) |
| `{{idor_candidates}}` | IDOR 候选端点 |
| `{{security_issues}}` | 安全问题 |
| `{{parameters}}` | 唯一参数(查询/请求体) |
| `{{auth_endpoints}}` | 认证端点 |
| `{{request_count}}` | 捕获的请求数 |
## 架构
```
graph TB
subgraph Extension
M[manifest.json]
BG[background.js]
subgraph DevTools
DT[devtools.js]
P[panel.js]
PH[panel.html]
subgraph Security Modules
SA[SecurityAnalyzer]
SD[SecretDetector]
SH[SecurityHeaderChecker]
EE[EndpointExtractor]
RD[RequestDeduplicator]
RT[RequestTagger]
SF[SmartFilters]
EM[ExportManager]
end
subgraph AI Modules
AEM[AIExportManager]
PTS[PromptTemplateStore]
OAG[OpenAPIGenerator]
end
end
subgraph Popup
PP[popup.js]
PPH[popup.html]
end
end
M --> BG
M --> DT
DT --> P
P --> SA
SA --> SD
SA --> SH
SA --> EE
SA --> RD
SA --> RT
SA --> SF
SA --> EM
P --> AEM
AEM --> PTS
AEM --> OAG
AEM --> SA
BG <--> P
BG <--> PP
```
## 组件间通信
```
sequenceDiagram
participant User
participant Panel as Panel (DevTools)
participant SA as SecurityAnalyzer
participant BG as Background Script
participant Popup
User->>Panel: Start Recording
Panel->>BG: panelReady
loop Chaque requête
Panel->>SA: analyze(harEntry)
SA->>SA: detectSecrets()
SA->>SA: checkHeaders()
SA->>SA: extractEndpoint()
SA-->>Panel: {secrets, issues, endpoint}
Panel->>BG: updateStats
end
Popup->>BG: getPanelStatus
BG-->>Popup: {connected: true}
User->>Panel: Export ffuf
Panel->>SA: exportForFfuf()
SA-->>Panel: wordlist
```
## 漏洞赏金工作流
```
flowchart LR
A[🎬 Start] --> B[🌐 Navigate]
B --> C{📊 Auto Analysis}
C --> D[🔑 Secrets]
C --> E[🌍 Endpoints]
C --> F[⚠️ Issues]
D --> G[📝 Report]
E --> H[📋 ffuf]
E --> I[🔬 Nuclei]
F --> G
H --> J[🔍 Fuzz]
I --> K[🎯 Scan IDOR]
J --> L[🐛 Vulns]
K --> L
G --> L
```
## AI 导出工作流
```
flowchart LR
subgraph Capture
HAR[Données HAR]
SEC[Security Findings]
EP[Endpoints]
end
subgraph AI Export
BRIEF[📋 AI Brief]
SCEN[⚔️ Scénarios]
OAPI[📄 OpenAPI]
CHUNK[📦 Chunked]
end
subgraph Prompts
PTS[(LocalStorage)]
DEF[8 Prompts Défaut]
CUST[Prompts Custom]
end
HAR --> BRIEF
SEC --> BRIEF
EP --> BRIEF
SEC --> SCEN
EP --> OAPI
BRIEF --> CHUNK
DEF --> PTS
CUST --> PTS
PTS --> |Variables| RENDER[Rendu Prompt]
RENDER --> COPY[📋 Copier]
RENDER --> DL[💾 Télécharger]
COPY --> AI[🤖 IA]
BRIEF --> AI
SCEN --> AI
```
## 分析流水线
```
flowchart TD
REQ[Requête HTTP] --> SF{SmartFilters}
SF -->|Filtré| SKIP[Ignoré]
SF -->|Passé| RD{Deduplicator}
RD -->|Dupliqué| COUNT[Incrémenter compteur]
RD -->|Unique| ANALYZE[Analyser]
ANALYZE --> SD[SecretDetector]
ANALYZE --> SH[SecurityHeaderChecker]
ANALYZE --> EE[EndpointExtractor]
ANALYZE --> RT[RequestTagger]
SD --> STORE[Stocker findings]
SH --> STORE
EE --> STORE
RT --> STORE
STORE --> UI[Mise à jour UI]
```
## 权限
| 权限 | 用途 |
|------------|-------|
| `devtools` | 开发者工具面板 |
| `downloads` | 保存 HAR 文件 |
| `storage` | 设置存储 |
| `notifications` | 通知提醒 |
| `` | 网络捕获 |
## 限制
- 必须手动打开开发者工具
- Manifest V2(MV3 不支持 devtools API)
- 二进制响应可能被截断
## 许可证
MIT
*专为授权安全测试而创建。*
标签:AI 摘要, AWS 密钥, Bearer Token, CORS 检测, Credentials, CSP, CURL 命令, FFUF 词表, Firefox 扩展, GCP 密钥, GitHub Token, HAR 捕获, HSTS, IDOR 检测, JWT 解码, Markdown 报告, Nuclei 模板, OpenAPI 规范, Origin Reflection, Postman 集合, SEO: Firefox 插件, SEO: HAR 工具, SEO: 安全测试扩展, SEO: 漏洞赏金工具, SEO: 网络流量捕获, Stripe 令牌, URL发现, Wildcard, X-Frame-Options, 不安全 Cookie, 仅 API, 动态变量, 去重, 参数词表, 多模态安全, 安全头检测, 安全标准, 安全检测, 安全测试, 导出分块, 排除第三方, 提示词管理, 攻击场景生成, 攻击性安全, 数据可视化, 智能过滤, 本地存储, 私有模式, 网络流量分析, 自动保存, 自动化捕获, 自定义脚本, 静态资源忽略, 顺序 ID 预测