Kaushik075/VaultSense-Real-Time-Behavioral-Anomaly-Detection-Engine

GitHub: Kaushik075/VaultSense-Real-Time-Behavioral-Anomaly-Detection-Engine

VaultSense 是一款基于规则引擎与 Gemini AI 双层架构的实时用户行为异常检测工具,专门解决流媒体平台中撞库、账户接管和可疑下载等行为安全问题。

Stars: 0 | Forks: 0

## VaultSense — 实时行为异常检测引擎 ## 问题所在 传统安全工具只能捕获已知的攻击特征。它们忽略了行为漂移 —— 即看似合法的会话执行了真实用户绝对不会进行的操作。 - 一个 bot 在 6 分钟内登录了 847 个账户 —— 未触发任何数据库错误 - 窃取的凭证在凌晨 3 点通过新设备从俄罗斯登录 —— pipeline 运行正常 - 被攻陷的账户悄无声息地下载了每一个文件 —— 数据中没有任何异常 **数据 pipeline 没问题。异常的是 USER。** ## VaultSense 的功能 VaultSense 通过一个三层智能 pipeline 实时监控用户会话事件: **Layer 1 — 基于规则的欺诈引擎** 5 条行为规则在每次传入事件时同时触发: - 速度激增 → 10 分钟内超过 15 个事件 - 未知设备 → 设备 ID 不在用户的历史记录中 - 地理异常 → 国家/地区与通常位置不同 - 异常时段活动 → 凌晨 2–5 点之间登录 - 交易激增 → 金额超过用户基线的 3 倍 **Layer 2 — Gemini AI 风险解读** 被标记的事件及其完整的行为上下文被发送到 Google Gemini。Gemini 会针对每个事件返回独特的自然语言风险评估 —— 没有任何两个警报是完全相同的。 **Layer 3 — 持久化与警报** 高风险事件将被记录到 PostgreSQL 中,并在 5 秒内向 `#security-alerts` 发送 Slack 警报。 Image ## 测试结果 在包含 3 种注入攻击模式的 250,000 行真实流媒体平台数据上进行了测试: | 异常类型 | 注入数量 | 检测数量 | AI 原因示例 | |---|---|---|---| | 撞库攻击 | 3,000 | ✅ 全部 | *"几毫秒内来自不同设备的多次登录"* | | 账户接管 | 1,500 | ✅ 全部 | *"凌晨 3 点使用未知设备进行境外访问"* | | 可疑下载 | 800 | ✅ 全部 | *"在正常时段之外的快速连续下载事件"* | 每个 Slack 警报都有不同的 Gemini 生成的原因 —— 基于上下文的推理,而非简单的规则匹配。 Image ## 架构 ``` Webhook → Request Validator → Fetch User History (PostgreSQL) → Context Builder → Fraud Rules Engine → Gemini AI Interpreter → AI Response Cleaner → Risk Decision Combiner → High Risk Filter → Database Logger + Slack Alert Dispatcher ``` ## 技术栈 | 组件 | 工具 | |---|---| | 编排 | n8n(自托管,Docker) | | 数据库 | 基于 Neon.tech 的 PostgreSQL | | AI 层 | Google Gemini (gemini-3.5-flash) | | 警报 | Slack (#security-alerts) | | 数据生成 | Python (psycopg2, uuid, faker) | ## 数据库 Schema **PostgreSQL 中的 3 张表:** - `user_activity_log` — 250,000 条用户会话事件 - `user_behavior_baselines` — 500 名用户的正常行为档案 - `behavioral_audit_log` — 所有检测到的异常的永久审计跟踪 Image Image ## 如何运行 **1. 生成数据** ``` pip install psycopg2-binary python vaultsense_generate_data.py ``` 在脚本中使用您的 Neon 凭证更新 `DB_HOST`、`DB_PASSWORD`。 **2. 导入工作流** - 打开 n8n → 导入工作流 → 上传 `vaultsense_workflow.json` - 添加凭证:PostgreSQL (Neon) + Google Gemini API + Slack Bot Token - 激活工作流 **3. 测试** ``` Invoke-WebRequest -Uri "http://localhost:5678/webhook/user-activity" ` -Method POST -ContentType "application/json" ` -Body '{"user_id":"user_0001","event_type":"login","device_id":"dev_UNKNOWN_abc123","country":"Russia","events_last_10_mins":25,"hour_of_day":3}' ` -UseBasicParsing ``` 检查 Slack 中的 `#security-alerts` 以查看警报。 ## 项目结构 ``` vaultsense/ ├── vaultsense_generate_data.py # Data generation script ├── vaultsense_workflow.json # n8n workflow export └── README.md ``` ## 关键工程决策 - **批量插入而非逐行插入** — 改用 `psycopg2.extras.execute_values`,将 25 万行数据的加载时间从 2 个多小时缩短至不到 3 分钟 - **选择 Gemini 而非 OpenAI** — 提供免费层级,无需信用卡,15 req/min 的速率足以满足实时警报需求 - **使用 Webhook 触发而非定时触发** — 实时处理每个事件,而不是批量处理 - **独立的审计日志表** — `behavioral_audit_log` 维护了独立于活动日志的永久事件历史记录 ## 相关项目 **DriftGuard** — 自主数据质量可观测性 Agent 监控数据 pipeline 的 null 率、schema drift 和统计异常。 两者结合:DriftGuard 确保数据可靠性。VaultSense 确保行为安全。
标签:Gemini AI, PostgreSQL, Slack告警, 反欺诈, 安全, 异常检测, 测试用例, 请求拦截, 超时处理, 逆向工具