auditing-aws-s3-bucket-permissions
Ensina seu agente de IA a colocar projetos no ar e cuidar da infraestrutura e deixar sites acessíveis para todo mundo.
O que ela faz
Esta ferramenta verifica se os seus 'cofres' de dados na nuvem (chamados de buckets S3 na Amazon Web Services) estão protegidos. Ela procura por acessos abertos demais, configurações erradas ou falta de proteção, garantindo que apenas pessoas autorizadas vejam seus dados.
Quando usar
- ✓Ao fazer uma checagem de segurança geral na sua conta da Amazon.
- ✓Quando você precisa ter certeza de que dados importantes não estão expostos publicamente.
- ✓Ao configurar uma nova conta na Amazon e querer garantir que o armazenamento de dados esteja seguro desde o início.
Exemplo do que pedir para a IA
“Verifique a segurança dos meus 'cofres' de dados na Amazon S3.”
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 usa comandos específicos para verificar as configurações de cada 'cofre' de dados. Ela analisa quem pode acessar, se há proteções ativas e se a criptografia está ligada.
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 auditing-aws-s3-bucket-permissionsOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/auditing-aws-s3-bucket-permissions/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.
Auditoria de Permissões de Buckets AWS S3
Quando Usar
- Ao realizar uma avaliação de segurança de ambientes AWS para identificar dados expostos publicamente
- Ao integrar uma nova conta AWS e estabelecer uma linha de base de segurança para recursos de armazenamento
- Ao responder a um alerta sobre potencial exposição de dados S3 do AWS Trusted Advisor ou Security Hub
- Quando frameworks de conformidade (SOC 2, PCI DSS, HIPAA) exigem revisão periódica dos controles de acesso a dados
- Quando uma violação ou comprometimento de credenciais exige revisão imediata de todos os recursos S3 acessíveis
Não use para auditar armazenamento de objetos fora da AWS (use ferramentas específicas do provedor), para monitoramento em tempo real (use S3 Event Notifications com Lambda) ou para auditar padrões de acesso S3 (use S3 Access Analyzer ou CloudTrail S3 data events).
Pré-requisitos
- AWS CLI v2 configurado com credenciais que possuam permissões
s3:GetBucketPolicy,s3:GetBucketAcl,s3:GetBucketPublicAccessBlock,s3:GetEncryptionConfigurationes3:ListAllMyBuckets - Prowler instalado (
pip install prowler) para verificações automatizadas de benchmarks CIS - S3audit ou ferramenta de enumeração similar para detecção rápida de buckets públicos
- Acesso ao AWS Organizations se estiver auditando em várias contas
- Python 3.8+ com boto3 para scripts de auditoria personalizados
Fluxo de Trabalho
Etapa 1: Enumerar Todos os Buckets S3 e Bloqueio de Acesso Público em Nível de Conta
Verifique primeiro as configurações de Bloqueio de Acesso Público S3 em nível de conta, depois liste todos os buckets com suas regiões.
# Check account-level S3 Block Public Access settings
aws s3control get-public-access-block \
--account-id $(aws sts get-caller-identity --query Account --output text) \
--output json
# List all buckets with creation dates
aws s3api list-buckets \
--query 'Buckets[*].[Name,CreationDate]' \
--output table
# Get bucket regions for each bucket
for bucket in $(aws s3api list-buckets --query 'Buckets[*].Name' --output text); do
region=$(aws s3api get-bucket-location --bucket "$bucket" --query 'LocationConstraint' --output text)
echo "$bucket -> ${region:-us-east-1}"
done
Etapa 2: Verificar a Configuração de Bloqueio de Acesso Público e ACL de Cada Bucket
Itere por todos os buckets para avaliar seus bloqueios de acesso público individuais e concessões de ACL.
# Check per-bucket Block Public Access settings
for bucket in $(aws s3api list-buckets --query 'Buckets[*].Name' --output text); do
echo "=== $bucket ==="
aws s3api get-public-access-block --bucket "$bucket" 2>/dev/null || echo " No Block Public Access configured"
# Check ACL for public grants
aws s3api get-bucket-acl --bucket "$bucket" \
--query 'Grants[?Grantee.URI==`http://acs.amazonaws.com/groups/global/AllUsers` || Grantee.URI==`http://acs.amazonaws.com/groups/global/AuthenticatedUsers`]' \
--output json
done
Etapa 3: Analisar Políticas de Bucket para Acesso Excessivamente Permissivo
Revise as políticas de bucket para principais curinga (wildcard), condições ausentes e declarações que permitem acesso amplo.
# Extract and analyze bucket policies
for bucket in $(aws s3api list-buckets --query 'Buckets[*].Name' --output text); do
policy=$(aws s3api get-bucket-policy --bucket "$bucket" --output text 2>/dev/null)
if [ -n "$policy" ]; then
echo "=== $bucket policy ==="
echo "$policy" | python3 -c "
import json, sys
policy = json.load(sys.stdin)
for stmt in policy.get('Statement', []):
principal = stmt.get('Principal', {})
effect = stmt.get('Effect', '')
if principal == '*' or principal == {'AWS': '*'}:
print(f' WARNING: {effect} with wildcard principal')
print(f' Actions: {stmt.get(\"Action\", \"\")}')
print(f' Condition: {stmt.get(\"Condition\", \"NONE\")}')
"
fi
done
Etapa 4: Verificar Configurações de Criptografia e Versionamento
Verifique se todos os buckets têm criptografia do lado do servidor habilitada e versionamento configurado para proteção de dados.
# Check encryption and versioning status for all buckets
for bucket in $(aws s3api list-buckets --query 'Buckets[*].Name' --output text); do
echo "=== $bucket ==="
# Encryption configuration
aws s3api get-bucket-encryption --bucket "$bucket" 2>/dev/null \
&& echo " Encryption: ENABLED" \
|| echo " Encryption: DISABLED"
# Versioning status
aws s3api get-bucket-versioning --bucket "$bucket" \
--query 'Status' --output text
# Logging status
aws s3api get-bucket-logging --bucket "$bucket" \
--query 'LoggingEnabled' --output text 2>/dev/null
done
…
Perguntas frequentes
O que são 'buckets S3'?
São como pastas ou 'cofres' na nuvem da Amazon Web Services (AWS) onde você pode guardar seus arquivos e dados.
O que significa 'acesso público'?
Significa que qualquer pessoa na internet, mesmo sem uma conta ou permissão especial, poderia ver ou acessar os dados guardados nesse 'cofre'.
O que é 'criptografia'?
É como um código secreto que embaralha seus dados. Só quem tem a 'chave' certa (permissão) consegue ler o que está escrito.
Detalhes
Descrição original do autor
Systematically audit AWS S3 bucket permissions to identify publicly accessible buckets, overly permissive ACLs, misconfigured bucket policies, and missing encryption settings using AWS CLI, S3audit, and Prowler to enforce least-privilege data access controls. '
Popularidade
- Estrelas no GitHub
- 35 mil
- Posição no ranking
- #5512
- 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
bun-runtime
Faz seu agente usar o Bun para rodar, organizar e testar código. Ajuda a escolher o Bun em vez de outras ferramentas e a migrar projetos existentes.
affaan-m/ECC
database-migrations
Ajuda seu agente a fazer mudanças seguras em bancos de dados. Ele garante que as alterações possam ser desfeitas e minimiza o tempo de inatividade.
affaan-m/ECC
deployment-patterns
Configura fluxos de implantação e CI/CD, containerização e estratégias de rollback para garantir lançamentos seguros.
affaan-m/ECC