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安全, 多模态安全, 数据可视化, 无后门, 网络测绘, 蓝队分析, 逆向工具