ganesh2317/Mirror-trap

GitHub: ganesh2317/Mirror-trap

MirrorTrap 是一款结合攻击面扫描与 AI 蜜罐诱饵部署的主动防御型网络安全平台,旨在攻击者触及真实系统前捕获其侦察行为。

Stars: 0 | Forks: 0

# MirrorTrap **通过黑客的视角审视自己。** MirrorTrap 是一款全栈网络安全 SaaS,它可以扫描公司的公开攻击面,部署 AI 生成的诱饵资产(AWS 蜜罐密钥、管理后台、追踪 URL),并实时捕获攻击者——在他们触及真实系统之前。 ![MirrorTrap](https://static.pigsec.cn/wp-content/uploads/repos/cas/85/85e4f8ccf22b033f73982c062b88f5021ef7de2c329f4c0882def5fde9739a7b.svg) ## 🎬 4 分钟演示视频 — **▶ [在 YouTube 上观看](https://youtu.be/_gOj0ZJIpw4)** [![在 YouTube 上观看 MirrorTrap 演示](https://img.youtube.com/vi/_gOj0ZJIpw4/maxresdefault.jpg)](https://youtu.be/_gOj0ZJIpw4)

| | | |---|---| | 📺 YouTube | **https://youtu.be/_gOj0ZJIpw4** | | 🎥 视频文件 | [`walkthrough/MirrorTrap_Walkthrough.mp4`](./walkthrough/MirrorTrap_Walkthrough.mp4) — 224 s · 1280×800 · 9.7 MB | | 🎙️ 配音 | [`walkthrough/audio/voiceover.mp3`](./walkthrough/audio/voiceover.mp3) — Sarvam `bulbul:v3`,发音人 `shubh` | | 📜 脚本 | [`docs/WALKTHROUGH_SCRIPT.md`](./docs/WALKTHROUGH_SCRIPT.md) — 11 个带时间戳的片段 | | 🤖 录制工具 | [`walkthrough/walkthrough.py`](./walkthrough/walkthrough.py) — Playwright + ffmpeg pipeline | 有关详细的分段拆解和复现步骤,请参阅 **[`walkthrough/README.md`](./walkthrough/README.md)**。 ## 包含内容 - **落地页**:包含电影级主视觉、实时终端动画和定价。 - **Supabase auth**(如果缺少环境变量,会优雅降级为本地演示认证)。 - **扫描流程** — 动画化的 5 源 OSINT 扫描(HIBP、Shodan、crt.sh、GitHub、DNS), ARS 分数计数器,按严重程度分类的发现结果,以及 AI 档案。 - **PhantomShield** — 4 个可部署的诱饵,具备每个资产的独立日志和实时监控终端流。 - **告警** — 充满张力的触发式 UI,具备行为分析、分类和可能的攻击路径时间线。一键“模拟攻击”即可进行演示。 - **报告** — 基于 Recharts 的 ARS 趋势图、扫描历史、可下载的 HTML 报告(可打印为 PDF)。 - **仪表盘** — 动画化的 ARS 仪表、统计卡片、最近告警、扫描历史和快速扫描输入框。 - **演示模式** — 在整个应用中预加载完整的 `targetcompany.com` 数据集。 通过导航栏按钮切换,或在任意位置按 D。 ## 技术 - React 19 + TypeScript - Tailwind CSS 3 + tailwindcss-animate - React Router v6 - Supabase JS SDK(认证 + 数据) - Recharts(趋势图) - Lucide React(图标) - Radix UI primitives(Switch) ## 快速开始 ``` npm install npm run dev # → http://localhost:5173 ``` ### Supabase(可选) 创建一个 `.env.local` 文件: ``` VITE_SUPABASE_URL=https://.supabase.co VITE_SUPABASE_ANON_KEY= ``` 建议的数据表(全部通过 RLS 限制为用户级别): ``` create table scans ( id text primary key, user_id uuid references auth.users not null, domain text not null, ars_score int not null, findings_json jsonb not null, created_at timestamptz not null default now() ); create table alerts ( id text primary key, user_id uuid references auth.users not null, severity text not null, ip text not null, asset_used text not null, payload_json jsonb not null, created_at timestamptz not null default now() ); create table decoys ( id text primary key, user_id uuid references auth.users not null, active boolean not null default false, meta_json jsonb, updated_at timestamptz not null default now() ); ``` 如果未配置 Supabase,应用将以完全模拟的本地模式运行——任何 邮箱 + 密码均可登录,所有状态都会持久化到 `localStorage`。 ### 键盘快捷键 - D — 切换演示模式 - / — 聚焦到快速扫描输入框 ## 脚本 - `npm run dev` — Vite 开发服务器 - `npm run build` — 类型检查 + 生产构建 - `npm run lint` — ESLint - `npm run preview` — 预览生产构建 ## 设计 - 背景 `#0D0B1A`,表面 `#1A1730`,终端 `#0A0814` - 主色 `#7F77DD`,琥珀色 `#EF9F27`,危险色 `#F09595`,成功色 `#1D9E75` - UI 使用 Inter 字体,终端和代码使用 JetBrains Mono 字体 ## 许可证 保留所有权利 — 为黑客松演示而构建。
标签:SaaS, 威胁情报, 实时处理, 密码管理, 开发者工具, 网络安全, 自动化攻击, 蜜罐技术, 隐私保护