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安全, 免杀技术, 暴力破解检测, 红队行动, 蓝队分析, 认证安全, 逆向工具