WhiteMuush/DataShield
GitHub: WhiteMuush/DataShield
DataShield 是一个自托管的企业员工数据泄露监控服务,通过对接多种身份目录与泄露数据源,提供分级告警和可定制安全仪表板。
Stars: 0 | Forks: 0
# DataShield
[](https://github.com/WhiteMuush/DataShield/actions/workflows/ci.yml)
[](https://github.com/WhiteMuush/DataShield/actions/workflows/security.yml)
[](https://github.com/WhiteMuush/DataShield/actions/workflows/compliance.yml)
[](https://github.com/WhiteMuush/DataShield/actions/workflows/codeql.yml)



自托管服务,用于告知企业其员工数据是否出现在已知的数据泄露中,提供基于严重程度的警报和可自定义的安全仪表板。
## 状态
处于早期开发阶段。项目进展迅速,下面列出的内容并非全部已完成。
## 功能(开发中)
- 针对每个员工的数据泄露暴露监控(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, 仪表盘, 安全告警, 安全插件, 数据泄露监控, 测试用例, 自动化攻击, 请求拦截, 身份目录同步