performing-oauth-scope-minimization-review
Faz seu agente revisar permissões de acesso em aplicativos. É útil para encontrar e corrigir acessos excessivos que podem ser um risco.
O que ela faz
Esta ferramenta revisa as permissões dadas a aplicativos de terceiros que acessam seus dados. Ela verifica se esses aplicativos têm mais acesso do que o necessário, se há permissões não utilizadas ou padrões de consentimento arriscados.
Quando usar
- ✓Ao revisar anualmente as permissões de aplicativos.
- ✓Após um incidente de segurança com tokens de acesso.
- ✓Para auditorias de conformidade (como GDPR).
Exemplo do que pedir para a IA
“Revise as permissões de acesso de todos os aplicativos de terceiros.”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
A ferramenta coleta informações sobre todas as permissões concedidas a aplicativos. Em seguida, ela as classifica com base no risco, ajudando a identificar e remover acessos excessivos ou desnecessários.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill performing-oauth-scope-minimization-reviewOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/performing-oauth-scope-minimization-review/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Revisão de Minimização de Escopos OAuth
Quando Usar
- Revisão anual ou trimestral das permissões OAuth de aplicativos de terceiros
- Após um incidente de segurança envolvendo tokens OAuth comprometidos ou acesso não autorizado a dados
- Auditoria de conformidade que exige documentação do acesso a dados por terceiros (GDPR Artigo 28, SOC 2)
- Descoberta de aplicativos de "shadow IT" acessando dados organizacionais via concessões OAuth
- Migração ou consolidação de aplicativos SaaS que exigem limpeza de permissões
- Implementação do princípio de menor privilégio para integrações de API
Não use para revisar permissões de aplicativos de primeira parte dentro do mesmo limite de confiança; a minimização de escopos OAuth foca em concessões de consentimento de terceiros e entre limites.
Pré-requisitos
- Acesso de administrador aos provedores de identidade (Microsoft Entra ID, Okta, Google Workspace)
- Permissões da API do Microsoft Graph: Application.Read.All, OAuth2PermissionGrant.ReadWrite.All
- Inventário de integrações de terceiros aprovadas do departamento de compras ou governança de TI
- Framework de classificação de risco de escopos OAuth
- Ferramentas para análise de tokens (jwt.io para revisão manual, scripts automatizados para análise em massa)
Fluxo de Trabalho
Etapa 1: Inventariar Todas as Concessões OAuth e Permissões de Consentimento
Liste todos os registros de aplicativos OAuth e permissões delegadas:
"""
Inventário de Concessões OAuth - Microsoft Entra ID
Lista todos os registros de aplicativos, principais de serviço
e concessões de permissões delegadas/de aplicativo.
"""
import requests
import json
from collections import defaultdict
class EntraOAuthAuditor:
def __init__(self, tenant_id, client_id, client_secret):
self.tenant_id = tenant_id
self.base_url = "https://graph.microsoft.com/v1.0"
self.token = self._get_token(client_id, client_secret)
self.headers = {"Authorization": f"Bearer {self.token}"}
def _get_token(self, client_id, client_secret):
url = f"https://login.microsoftonline.com/{self.tenant_id}/oauth2/v2.0/token"
response = requests.post(url, data={
"grant_type": "client_credentials",
"client_id": client_id,
"client_secret": client_secret,
"scope": "https://graph.microsoft.com/.default"
})
return response.json()["access_token"]
def get_all_service_principals(self):
"""Obtém todos os principais de serviço (aplicativos empresariais)."""
apps = []
url = f"{self.base_url}/servicePrincipals?$top=999&$select=id,appId,displayName,appOwnerOrganizationId,servicePrincipalType,accountEnabled,createdDateTime"
while url:
response = requests.get(url, headers=self.headers)
data = response.json()
apps.extend(data.get("value", []))
url = data.get("@odata.nextLink")
return apps
def get_oauth2_permission_grants(self):
"""Obtém todas as concessões de permissões delegadas (consentimento do usuário)."""
grants = []
url = f"{self.base_url}/oauth2PermissionGrants?$top=999"
while url:
response = requests.get(url, headers=self.headers)
data = response.json()
grants.extend(data.get("value", []))
url = data.get("@odata.nextLink")
return grants
def get_app_role_assignments(self, sp_id):
"""Obtém atribuições de permissões de aplicativo para um principal de serviço."""
url = f"{self.base_url}/servicePrincipals/{sp_id}/appRoleAssignments"
response = requests.get(url, headers=self.headers)
return response.json().get("value", [])
def build_permission_inventory(self):
"""Constrói um inventário abrangente de permissões OAuth."""
service_principals = self.get_all_service_principals()
delegated_grants = self.get_oauth2_permission_grants()
# Mapeia IDs de principais de serviço para nomes
sp_map = {sp["id"]: sp for sp in service_principals}
inventory = []
# Processa permissões delegadas
for grant in delegated_grants:
sp = sp_map.get(grant["clientId"], {})
scopes = grant.get("scope", "").split()
for scope in scopes:
if not scope:
continue
inventory.append({
"app_name": sp.get("displayName", "Desconhecido"),
"app_id": grant.get("clientId"),
"publisher_tenant": sp.get("appOwnerOrganizationId"),
"is_third_party": sp.get("appOwnerOrganizationId") != self.tenant_id,
…
Perguntas frequentes
O que são 'permissões' (scopes) em OAuth?
Permissões são como 'chaves' que definem o que um aplicativo pode fazer ou acessar em seu nome (por exemplo, ler seu e-mail, acessar seus contatos).
Por que é importante revisar essas permissões?
Revisar garante que apenas os aplicativos necessários tenham acesso aos seus dados e que eles não tenham permissões excessivas, o que pode ser um risco de segurança.
Esta ferramenta remove permissões automaticamente?
Não, a ferramenta identifica os riscos e excessos, mas a remoção ou ajuste das permissões geralmente requer uma ação manual de um administrador.
Detalhes
Descrição original do autor
Performs OAuth 2.0 scope minimization review to identify over-permissioned third-party application integrations, excessive API scopes, unused token grants, and risky OAuth consent patterns across identity providers and SaaS platforms. Activates for requests involving OAuth scope audit, API permission review, third-party app risk assessment, or consent grant minimization. '
Popularidade
- Estrelas no GitHub
- 35 mil
- Posição no ranking
- #6110
- Licença
- Apache-2.0
- Atualizada em
- 31/08/2026
Comentários
- …
Mais skills deste repositório
abusing-dpapi-for-credential-access
Dá ao seu agente de IA instruções prontas para uma tarefa específica, para ele fazer melhor e mais rápido.
mukul975/Anthropic-Cybersecurity-Skills
abusing-shadow-credentials-for-privesc
Ensina seu agente de IA a escrever textos claros e bem estruturados.
mukul975/Anthropic-Cybersecurity-Skills
achieving-cmmc-level-2-compliance
Ajuda seu agente a preparar um ambiente para conformidade com CMMC Nível 2. Ele implementa requisitos de segurança e gerencia a documentação necessária.
mukul975/Anthropic-Cybersecurity-Skills
acquiring-disk-image-with-dd-and-dcfldd
Ajuda seu agente a criar cópias exatas de discos rígidos. Isso é útil para garantir que nenhuma informação seja perdida ou alterada durante investigações.
mukul975/Anthropic-Cybersecurity-Skills
Skills parecidas
data-throughput-accelerator
Faz seu agente acelerar a movimentação de grandes volumes de dados. Ele encontra gargalos e garante que os dados sejam transferidos de forma rápida e correta.
affaan-m/ECC
inventory-demand-planning
Ajuda seu agente a prever a demanda de produtos em lojas. Ele otimiza o estoque e planeja quando fazer promoções para vender mais.
affaan-m/ECC
market-research
Ajuda seu agente a realizar pesquisas de mercado e análises competitivas. Fornece resumos com atribuição de fontes.
affaan-m/ECC