ilyesHamdiii/GrantScope
GitHub: ilyesHamdiii/GrantScope
GrantScope 是一个证据驱动的 Entra OAuth 和服务主体调查工作台,帮助分析师从租户证据中推导出可解释的安全案件包。
Stars: 0 | Forks: 0
# GrantScope
GrantScope 是一个用于 Entra OAuth 应用程序和 service principal 的证据驱动型调查工作台。
它帮助分析师从原始租户证据推导出可解释的案件包:
- 哪个应用程序或 service principal 发生了更改?
- 哪些权限或凭据扩大了影响范围?
- 同意是租户范围还是用户范围?
- 是否有明确的责任所有者?
- 特权分配、凭据活动和首次使用是否构成了可疑序列?
- 在采取遏制措施前应审查哪些证据?
GrantScope 是一款调查产品,而非通用的安全态势仪表板。
## 核心功能
- 使用 Graph 风格证据 ZIP 包的导入优先工作流
- 应用程序和 service principal 清单
- 委托 OAuth grant 分析
- 应用程序权限和 app-role 分配分析
- 凭证生命周期检查
- 具有链接应用程序回退机制的所有者评估
- 发布者和来源上下文
- 特权分配、凭据活动和快速首次使用的关联分析
- 包含严重性、置信度、证据和缺失数据说明的可解释调查结果
- 包含时间线和证据索引的分析师案件包
- 分析师工作流状态、分配、备注和审查历史
- HTML、Markdown 和 PDF 案件报告
- React 调查工作台
## 演示场景
包含的合成租户包包含一个良性应用程序和三个高风险调查场景。
| 场景 | 预期结果 |
|---|---|
| NorthBridge Meetings | 良性协作应用;不应出现高危或严重调查结果 |
| CloudSync Assistant | 具有敏感权限和较弱来源上下文的租户范围委托同意 |
| Provisioning Bridge | 严重序列:特权权限、凭据添加、快速 service principal 使用 |
| Directory Administration Integration | 具有较弱所有权和发布者上下文的高影响目录管理权限 |
## 架构
```
Graph-style evidence ZIP
|
v
FastAPI import endpoint
|
v
Normalization layer
|
v
PostgreSQL evidence model
|
+--> Detection and correlation engine
| |
| v
| Explainable findings
| |
| v
| Investigation case packets
|
+--> React workbench
|
+--> Analyst workflow
+--> HTML report
+--> Markdown report
+--> PDF report
```
## 本地技术栈
| 组件 | 技术 |
|---|---|
| API | FastAPI |
| 数据库 | PostgreSQL |
| 关联引擎 | Python |
| 前端 | React 和 Vite |
| PDF 生成 | WeasyPrint |
| 运行时 | Docker Compose |
## 本地启动
```
docker compose up --build -d
```
打开:
```
Workbench: http://localhost:5173
API docs: http://localhost:8000/docs
Health: http://localhost:8000/health
```
## 运行演示
```
.\scripts\run-demo.ps1
```
## 验证项目
```
.\scripts\verify-project.ps1
```
## 实时 Entra 验证
GrantScope 已通过受控的 Microsoft Entra 实验室租户进行验证,使用了只读的 Microsoft Graph 收集器。
验证流程如下:
1. 导出 Entra 应用程序、service principal、所有权、凭据、同意、角色分配、审计和登录证据。
2. 将生成的 ZIP 导入 GrantScope。
3. 生成可解释的分析师案件。
4. 通过基线感知检测减少正常的外部企业应用程序噪音。
5. 检测租户拥有的收集器所有权缺失。
6. 在 Entra 中添加明确的责任所有者。
7. 重新导出并重新导入证据,验证所有权调查结果是否已消失。
该收集器使用只读 Graph 权限,不会修改租户配置。
## 安全边界
GrantScope 不存储或打印:
- Client secrets
- Access tokens
- Refresh tokens
- 私有证书材料
- 原始密码凭证值
仅保留凭元数据、证据引用、审计标识符和关联上下文。
## 当前局限
- 权限风险目录特意设计得较为狭窄,主要关注高影响权限。
- 实时 Microsoft Graph 收集功能已计划开发,但尚未实现。
- 本地原型没有身份验证、RBAC、租户隔离或不可变审计跟踪。
- 示例数据为合成数据,不得与真实租户导出数据混淆。
## 文档
- docs\ARCHITECTURE.md
- docs\DEMO_WALKTHROUGH.md
- docs\SECURITY_AND_LIMITATIONS.md
- docs\GRAPH_CONNECTOR_PLAN.md
- docs\PHASE_7_PDF_REPORTING.md
标签:OAuth, React, Syscalls, 云计算, 安全调查, 测试用例, 版权保护, 规则引擎, 身份与访问管理, 逆向工具