Ameerhamza2637/vulnify-lens

GitHub: Ameerhamza2637/vulnify-lens

一个多租户实时网络攻击检测与安全分析 SaaS 平台,帮助企业即时发现并响应安全威胁。

Stars: 0 | Forks: 0

Vulnify Lens logo # Vulnify Lens ### 为您的业务运行的系统提供实时网络攻击检测、事件响应和安全分析。 多租户安全监控 SaaS · **Vue 3** 前端 · **Laravel 11** API · **PostgreSQL** · **Redis** · **Docker** [快速开始](#-quick-start-docker) · [架构](docs/ARCHITECTURE.md) · [接入流程](docs/ONBOARDING.md) · [API 参考](docs/API.md) · [安全模型](docs/SECURITY.md)
## 什么是 Vulnify Lens? **Vulnify Lens** 是一个多租户 SaaS 平台,允许各类组织——银行、软件供应商、电子商务以及任何运行内部或集中式系统的公司——**连接其网站、服务器和应用程序,并在遭受攻击的瞬间收到告警。** 客户端将遥测数据(Web 服务器日志、WAF 事件、认证日志)流式传输到统一的接入 endpoint。Vulnify Lens 使用具有可解释性的、基于特征和行为的检测引擎实时分析每一个事件,生成按优先级排序的**事件**(incident),并在面临高严重性和致命威胁时**立即向客户的安全团队发送电子邮件**——其中包含通俗易懂的解释和针对每个事件的建议操作。 每个客户都会获得一个与其行业量身定制的、基于权限的独立分析仪表板。 ## 为什么它很重要 - **攻击是被检测到的,而不仅仅是被编目。** SQL 注入、XSS、路径遍历、命令注入、Log4Shell 式的 RCE、凭证暴力破解、DoS 泛洪和自动化扫描器都会在发生时被标记。 - **零噪声告警。** 严重性阈值控制、按类别静音和静默时段意味着团队只会收到真正重要的电子邮件。 - **设计上即可解释。** 每个事件都会说明匹配了*什么*、*为什么*它很危险、对应的 **MITRE ATT&CK** 技术以及*下一步该怎么做*——没有黑盒评分。 - **为多客户而生。** 每个组织完全的数据隔离、基于角色的仪表板(Owner / Analyst / Viewer)以及针对特定客户的告警路由。 ## 核心功能 | 领域 | 亮点 | | --- | --- | | **客户接入** | 3 步向导:组织与行业 → 注册资产 → 签发接入密钥并连接 | | **检测引擎** | 特征 + 行为规则,MITRE ATT&CK 映射,建议的修复方案 | | **事件** | 优先级动态、过滤、确认/解决工作流、完整的证据链 | | **电子邮件告警** | 对高危/致命事件进行排队通知,可配置的严重性阈值和静默时段 | | **分析** | 随时间变化的攻击趋势、严重性分布、热门攻击类型、攻击源国家/地区细分、最受攻击的资产 | | **RBAC** | Owner、Analyst 和 Viewer 角色,具有细粒度权限 (Spatie) | | **多租户** | 每个资产、事件、事件和密钥都限定在一个组织范围内 | | **攻击模拟器** | `php artisan vulnify:simulate` 生成逼真的遥测数据,确保可靠的演示 | | **计费就绪** | Plan 字段 + 设置脚手架,已为集成 Stripe (Laravel Cashier) 做好准备 | ## 技术栈 - **前端:** Vue 3, Vite, Pinia, Vue Router, ApexCharts - **后端:** Laravel 11, PHP 8.3, Sanctum (token auth), Spatie Permission (RBAC) - **数据:** PostgreSQL 16 (关系型,多租户), Redis 7 (缓存 + 队列) - **基础设施:** Docker Compose — nginx, php-fpm, worker, Postgres, Redis, MailHog ## 🚀 快速开始 (Docker) ``` git clone vulnify-lens cd vulnify-lens docker compose up --build ``` 就是这样。首次启动时,系统会迁移数据库,植入一个演示客户并生成示例攻击数据。然后打开: | 服务 | URL | | --- | --- | | **Web 应用** | http://localhost:5173 | | **API** | http://localhost:8080/api/v1 | | **MailHog(查看告警邮件)** | http://localhost:8025 | ### 演示登录(密码:`password`) | 角色 | 电子邮件 | 可见范围 | | --- | --- | --- | | Owner | `owner@vulnify.test` | 包括设置、团队和密钥在内的所有内容 | | Analyst | `analyst@vulnify.test` | 仪表板、事件、资产 | | Viewer | `viewer@vulnify.test` | 只读仪表板 | ### 触发实时攻击(会触发真实的邮件告警) ``` docker compose exec app php artisan vulnify:simulate --live=3 ``` 观察仪表板中出现的事件,并查看落在 [MailHog](http://localhost:8025) 中的告警。 ## 🧑‍💻 本地开发(不使用 Docker) ``` # Backend(开箱即用 SQLite) cd backend composer install php artisan migrate:fresh --seed php artisan vulnify:simulate --count=80 php artisan serve --port=8080 # Frontend(在另一个终端中) cd frontend npm install npm run dev ``` ## 客户如何连接 ``` Client system (web server / WAF / app logs) │ POST /api/v1/ingest/events (header: X-Ingest-Key) ▼ Ingest API ──► SecurityEvent stored ──► queued ProcessSecurityEvent job │ ▼ Detection Engine (signatures + behaviour) │ match? ▼ Incident created ──► Alert settings evaluated ──► Email the security team │ ▼ Real-time dashboard & incident feed ``` 请参阅 [docs/ONBOARDING.md](docs/ONBOARDING.md) 了解完整流程,以及 [docs/API.md](docs/API.md) 了解接入约定。 ## 仓库布局 ``` vulnify-lens/ ├─ backend/ Laravel 11 API (detection engine, incidents, RBAC, alerts) ├─ frontend/ Vue 3 + Vite SPA (dashboard, onboarding, incidents, settings) ├─ docker/ nginx + php-fpm images and config ├─ docs/ Architecture, onboarding, API and security documentation └─ docker-compose.yml ``` ## 路线图 - 通过 Laravel Cashier 实现 Stripe 计费(套餐已建模完成) - 原生日志推送代理 (nginx / Apache / Cloudflare / syslog) - 真正的 GeoIP 丰富 (MaxMind GeoLite2) - Slack / PagerDuty / webhook 告警渠道 - 相关的多事件攻击活动 ## 许可证 MIT — 查看 [LICENSE](LICENSE)。
标签:CISA项目, ffuf, Laravel, SaaS, Vue, 搜索引擎查询, 文件系统扫描, 测试用例, 请求拦截