rohan-dalvi1402/AuthGuard-login-anomaly-detector
GitHub: rohan-dalvi1402/AuthGuard-login-anomaly-detector
一个基于 Flask 的轻量级后端服务,通过时间窗口和 IP 追踪检测登录接口上的暴力破解与撞库攻击。
Stars: 0 | Forks: 0
# AuthGuard – 智能登录攻击检测器
AuthGuard 是一个基于 Flask 构建的轻量级后端服务,旨在检测并响应可疑的登录活动,例如暴力破解和撞库攻击。它利用基于时间窗口的追踪和基于 IP 的分析来识别认证流程中的异常行为。
本项目旨在作为检测工程概念和安全应用程序设计的实际演示。
## 概述
认证 endpoint 通常是自动化攻击的常见目标。AuthGuard 引入了一个简单的检测层,通过监控失败的登录尝试,并根据频率和时间模式标记潜在的可疑活动。
该系统有意保持精简,侧重于逻辑的清晰性,而非生产级别的基础设施。
## 功能
- 利用可配置的阈值检测暴力破解尝试
- 追踪每个 IP 地址的失败登录尝试
- 应用基于时间窗口的分析进行异常检测
- 在识别到可疑行为时返回告警
- 模块化的检测逻辑,便于轻松扩展
## 架构
该应用程序由两个主要组件构成:
- `app.py` – 处理 HTTP 请求并模拟一个认证 endpoint
- `detector.py` – 实现用于追踪和标记可疑活动的检测逻辑
为简单起见,所有检测均在内存中执行。
## 工作原理
1. 每次登录尝试都会连同其源 IP 地址一起被记录
2. 失败的尝试会在定义的时间窗口内被追踪
3. 如果失败尝试的次数超过阈值,则该 IP 将被标记
4. 被标记的请求将收到被阻止的响应
这种方法模拟了真实系统中使用的基本速率限制和行为检测策略。
## 快速开始
### 前置条件
- Python 3.8+
- pip
## 运行应用程序
安装所需的依赖项:
```
pip install -r requirements.txt
```
启动应用程序:
```
python app.py
```
API 将可通过以下地址访问:
```
http://127.0.0.1:5000
```
## 示例请求
使用 cURL 发送登录请求:
```
curl -X POST http://127.0.0.1:5000/login \
-H "Content-Type: application/json" \
-d '{"username":"admin","password":"incorrect"}'
```
### 示例响应
```
{
"success": false
}
```
在超过配置阈值的多次失败登录尝试后,服务将返回:
```
{
"alert": "Brute-force detected"
}
```
标签:Flask, Web安全, 免杀技术, 暴力破解检测, 红队行动, 蓝队分析, 认证安全, 逆向工具