WhiteMuush/DataShield

GitHub: WhiteMuush/DataShield

DataShield 是一个自托管的企业员工数据泄露监控服务,通过对接多种身份目录与泄露数据源,提供分级告警和可定制安全仪表板。

Stars: 0 | Forks: 0

# DataShield
[![CI](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/d606b90bcd150639.svg)](https://github.com/WhiteMuush/DataShield/actions/workflows/ci.yml) [![Security](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/784b8bf26b150645.svg)](https://github.com/WhiteMuush/DataShield/actions/workflows/security.yml) [![Compliance](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/98ad0a7cea150652.svg)](https://github.com/WhiteMuush/DataShield/actions/workflows/compliance.yml) [![CodeQL](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/fcb83d81ee150658.svg)](https://github.com/WhiteMuush/DataShield/actions/workflows/codeql.yml) ![Next.js](https://img.shields.io/badge/Next.js-15-black?logo=next.js&logoColor=white) ![TypeScript](https://img.shields.io/badge/TypeScript-strict-3178c6?logo=typescript&logoColor=white) ![PostgreSQL](https://img.shields.io/badge/PostgreSQL-prisma-4169e1?logo=postgresql&logoColor=white)
自托管服务,用于告知企业其员工数据是否出现在已知的数据泄露中,提供基于严重程度的警报和可自定义的安全仪表板。 ## 状态 处于早期开发阶段。项目进展迅速,下面列出的内容并非全部已完成。 ## 功能(开发中) - 针对每个员工的数据泄露暴露监控(Have I Been Pwned 和手动来源) - 可自定义的小部件仪表板(拖放,保存的预设) - 员工目录同步:Microsoft Entra ID (Azure AD)、Google Workspace、 LDAP / Active Directory、AWS IAM Identity Center、Okta 以及入站 SCIM 2.0 - 按严重程度和状态进行警报 ## 技术栈 - Next.js 15 (App Router), React 19, 严格模式的 TypeScript - Prisma 7 与 PostgreSQL - Auth.js (next-auth v5) - Tailwind CSS ## 快速开始 前置条件:Node.js 20 或更高版本,以及 Docker(用于本地数据库)或你自己的 PostgreSQL 实例。 ``` # 1. 安装 dependencies npm install # 2. 配置 environment cp .env.example .env.local # then edit AUTH_SECRET (npx auth secret) # 3. 启动 database,应用 migrations 并填充 demo data npm run db:init # 4. 运行 development server npm run dev ``` 打开 http://localhost:3000 并使用初始化的管理员账户登录: ``` admin@datashield.local / ChangeMe123! ``` ### 数据库命令 - `npm run db:init` 启动一个 Postgres 容器(`compose.yml`),应用所有 迁移并植入演示数据(数据泄露、员工、警报)。 - `npm run db:up` / `npm run db:down` 启动和停止容器。 - `npm run seed:dev` 重新植入演示数据;`npm run seed` 仅植入管理员。 没有 Docker?将 `DATABASE_URL` 指向你自己的 PostgreSQL,然后运行 `npx prisma migrate deploy && npm run seed:dev`。 ### 环境变量 所有变量都位于 `.env.local`(从 `.env.example` 复制)中。必须设置 `AUTH_SECRET`;其余变量对于本地开发有可用的默认值。 ## 质量与安全 每次推送和拉取请求都会运行自动化流水线:ESLint(零警告)、严格类型检查、Prisma schema 验证和生产构建,以及 CodeQL 静态分析、依赖审计、依赖审查和密钥扫描。请参阅 [`.github/workflows`](.github/workflows)。安全策略和报告:[SECURITY.md](SECURITY.md)。 ## 许可证 请参阅 [LICENSE](LICENSE)。
标签:TypeScript, 仪表盘, 安全告警, 安全插件, 数据泄露监控, 测试用例, 自动化攻击, 请求拦截, 身份目录同步