pryrotech/entra-app-auditor
GitHub: pryrotech/entra-app-auditor
一款用于识别与审计 Microsoft Entra ID 用户授权应用、发现影子 IT 的 PowerShell 工具。
Stars: 4 | Forks: 1



[](https://github.com/pryrotech/entra-app-auditor/releases)

# Shadowman (entra-app-auditor)
一个用于识别和审核 Microsoft Entra ID (Azure AD) 中用户已授权应用程序的 PowerShell 工具,重点关注发现“影子 IT”和安全风险。
## 🌟 概述
**Shadowman** 是一个功能强大且目标明确的 PowerShell 脚本,专为 IT 管理员和安全专业人员设计。它不仅提供标准的应用程序清单,更专注于识别用户已授予权限的应用程序。通过整合授权数据、使用情况分析以及可配置的风险评分模型,该工具能够提供一份清晰、可操作的报告,帮助您:
* **发现** 绕过正式 IT 审批流程的用户授权应用程序。
* **优先处理** 通过标记高权限应用程序来优化安全审查。
* **管理** 应用程序安全状况,识别长期未使用但拥有高权限的应用程序以便撤销。
* **证明** 合规性,提供清晰的用户授权审计追踪。
## 🚀 主要特性
* **针对性用户授权审计**:精准识别由单个用户授权的应用程序,这是“影子 IT”的主要来源。
* **基于风险的优先级排序**:使用可配置的风险模型标记具有高权限的应用程序(例如 `Mail.ReadWrite`, `Files.ReadWrite.All`)。
* **使用情况分析**:将授权数据与登录日志关联,以区分活跃威胁与休眠威胁。
* **责任报告**:识别哪些用户已授权特定应用程序,以及每个应用程序的总授权数量。
* **灵活报告**:导出一个全面的 CSV 文件报告,便于筛选和分析。
* **依赖管理**:自动检查并安装必要的 Microsoft Graph PowerShell SDK 模块。
## 🛠️ 先决条件
* **PowerShell 5.1 或更高版本**(推荐使用 PowerShell 7.x 以获得跨平台支持)。
* **Microsoft Entra ID/M365 管理员账户**,需具备以下 Microsoft Graph API 权限:
* `Application.Read.All`
* `Directory.Read.All`
* `AuditLog.Read.All`
* `DelegatedPermissionGrant.Read.All`
* `User.Read.All`
脚本将在首次运行时自动提示您连接到 Microsoft Graph 并授权这些权限。
## 📖 快速开始
### 1. 下载脚本
克隆仓库以开始使用脚本。
```
git clone https://github.com/pryrotech/entra-app-auditor.git
```
### 通过 PowerShell 安装
```
Install-Package EntraAppAuditor -Version 1.0.1
```
### 通过 .NET CLI 安装
```
dotnet add package EntraAppAuditor --version 1.0.1
```
### 2. 运行审计
打开程序并从菜单选择要执行的审计。您也可以选择单独运行每个审计,而不是使用主程序。
首次运行时,会打开一个浏览器窗口供您使用 M365 账户进行身份验证并授权所需的 API 权限。
### 3. 查看报告
在 Excel 或您偏好的电子表格应用程序中打开生成的 CSV 文件。报告将包含以下列:
* `DisplayName`
* `AppId`
* `UserConsentsCount`
* `ConsentingUsers`
* `HasHighRiskPermissions`
* `DelegatedPermissions`
* `LastSignInUTC`
* `UsageStatus`
* ...更多\!
## ⚙️ 参数
| 参数 | 类型 | 描述 | 默认值 |
| :--- | :--- | :--- | :--- |
| `-ReportPath` | `string` | **(必需)** 保存生成 CSV 报告的完整路径。 | |
## 🤖 AI 透明度
该项目的部分功能是在生成式 AI 工具(Microsoft Copilot 及相关模型)的协助下开发的。
所有代码和文档在纳入前都经过人工审核、测试和验证。
AI 输出被视为建议,而非权威来源——每个实现都经过与官方 Microsoft Graph 和 Entra 文档的比对验证。
该仓库对所有提交和发布保持完整的人工问责制。
## ⚖️ 许可证
本项目根据 MIT 许可证授权。详细信息请参阅 [LICENSE](https://www.google.com/search?q=LICENSE) 文件。
*免责声明:本工具仅供审计用途原样提供。作者不对基于其输出采取的任何行动负责。请始终遵循组织的安全和变更管理政策。*
标签:AI合规, Azure AD, IPv6, IT治理, Libemu, Microsoft Entra ID, PB级数据处理, PowerShell, Shadow IT, 多人体追踪, 安全运维, 应用程序审计, 报告工具, 智能体, 权限风险, 用户同意, 账号清理, 身份安全, 风险评分