# Detecting Suspicious OAUTH Application Consent

> 使用 Microsoft Graph API、审计日志和权限分析，检测 Azure AD / Microsoft Entra ID 中的高风险 OAuth 应用授权同意，识别非法同意授权攻击。

- Skill: `killvxk/detecting-suspicious-oauth-application-consent` (Agent Skill, multi-file: 4 files)
- Install (CLI): `npx skillmds@latest add killvxk/detecting-suspicious-oauth-application-consent`
- Raw SKILL.md: https://api.skillmd.com/api/skills/killvxk/detecting-suspicious-oauth-application-consent/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: DevOps & Infra
- License: Apache-2.0
- Author: killvxk (https://skillmd.com/u/killvxk)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/killvxk/detecting-suspicious-oauth-application-consent

---


# 检测可疑的 OAuth 应用授权同意

## 概述

非法同意授权攻击（Illicit Consent Grant Attack）诱骗用户在 Azure AD / Microsoft Entra ID 中向恶意 OAuth 应用程序授予过多权限。本 skill 使用 Microsoft Graph API 枚举 OAuth2 权限授权，分析应用程序权限是否范围过于宽泛，审查授权同意事件的目录审计日志，并根据发布者验证状态和权限范围标记高风险应用程序。

## 前置条件

- 具有全局读者或安全读者角色的 Azure AD / Entra ID 租户
- 具有 `Application.Read.All`、`AuditLog.Read.All`、`Directory.Read.All` 权限的 Microsoft Graph API 访问
- Python 3.9+，安装 `msal`、`requests`
- 配置了客户端密钥或证书以进行身份验证的应用注册

## 工作流程

1. 使用 MSAL 客户端凭据流向 Microsoft Graph 进行身份验证
2. 通过 `/oauth2PermissionGrants` 枚举所有 OAuth2 权限授权
3. 列出服务主体及其分配的应用程序权限
4. 查询 `Consent to application` 事件的目录审计日志
5. 标记具有高风险权限范围的应用程序（Mail.Read、Files.ReadWrite.All 等）
6. 检查每个应用程序的发布者验证状态
7. 生成包含修复建议的风险报告

## 输出格式

- JSON 报告，列出所有 OAuth 应用程序及其授予的权限、风险评分、未验证发布者和可疑授权同意模式
- 包含用户和 IP 详情的授权同意事件审计跟踪

