Mc-smail/JWT-Security-Analyzer
GitHub: Mc-smail/JWT-Security-Analyzer
一款基于 FastAPI 的轻量级 Web 应用,用于解析 JWT 并检测常见安全配置错误,生成结构化报告和风险评分。
Stars: 0 | Forks: 1
# JWT 安全分析器
JWT 安全分析器是一个小型的 FastAPI Web 应用程序,用于检查 JSON Web Token 并突出显示常见的安全风险。
本项目旨在作为一个用于学习 Web 安全、后端开发和 token 分析的学习与作品集项目。
## 功能
- 解码 JWT header 和 payload
- 检测使用 `alg=none` 的未签名 token
- 当缺少 `exp` 声明时发出警告
- 检测过期的 token
- 检测远程密钥引用,例如 `jku` 和 `x5u`
- 检测 payload 内部的敏感字段
- 计算简单的风险评分
- 提供基于浏览器的界面
## 技术栈
- Python
- FastAPI
- Pydantic
- Jinja2 模板
- Pytest
- HTML、CSS 和 JavaScript
## 安装说明
创建并激活虚拟环境:
```
python3 -m venv .venv
source .venv/bin/activate
```
安装依赖项:
```
pip install -r requirements.txt
```
## 运行应用程序
启动 FastAPI 开发服务器:
```
uvicorn app.main:app --reload
```
在浏览器中打开 Web 界面:
```
http://127.0.0.1:8000
```
## API 用法
通过 HTTP POST 分析 JWT:
```
curl -X POST http://127.0.0.1:8000/analyze \
-H "Content-Type: application/json" \
-d '{"token":"YOUR.JWT.TOKEN"}'
```
响应包含解码后的 header、解码后的 payload、发现的问题、风险评分和摘要。
## 运行测试
使用以下命令运行测试套件:
```
pytest
```
测试涵盖了无效的 token 格式以及多项安全检查。
## 项目结构
```
app/
analyzer.py # JWT decoding and result creation
checks.py # Security checks
main.py # FastAPI routes
templates/
index.html # Web interface
test_analyzer.py
requirements.txt
```
## 示例 Token
Web 界面包含一个示例 token,它故意使用了 `alg=none` 并包含一个敏感的 payload 字段。它仅用于测试该分析器。
## 安全提示
此工具不验证 JWT 签名。它旨在用于教学目的,检查 token 结构和常见的配置错误。请勿将生产环境的机密信息粘贴到公共或不受信任的部署环境中。
## 文档
`docs/` 目录中提供了更多文档:
- API 参考
- 安全检查
- 示例 token
- 开发说明
- 故障排除
## 路线图
未来可能的改进:
- 添加更多 JWT 声明检查
- 添加可选的 JWKS 检查
- 添加可下载的报告
- 在 UI 中添加严重性过滤
- 添加 Docker 支持
标签:AV绕过, FastAPI, JWT, Python, Web安全, 多模态安全, 数据可视化, 无后门, 网络测绘, 蓝队分析, 逆向工具