performing-serverless-function-security-review
Ensina seu agente de IA a revisar código como um dev sênior e proteger aplicações contra ataques.
O que ela faz
Esta ferramenta verifica a segurança de funções em nuvem (como AWS Lambda, Azure Functions e GCP Cloud Functions). Ela procura por configurações arriscadas, como permissões excessivas, segredos expostos em variáveis de ambiente e vulnerabilidades que podem ser exploradas.
Quando usar
- ✓Antes de colocar uma aplicação em nuvem em produção.
- ✓Ao investigar vazamentos de dados em variáveis de ambiente ou logs.
- ✓Para entender o impacto de uma função comprometida.
Exemplo do que pedir para a IA
“Revise a segurança das minhas funções serverless na AWS.”
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 conecta-se aos seus serviços de nuvem (AWS, Azure, GCP) usando comandos específicos. Ela lista suas funções, verifica as permissões de acesso delas, procura por informações sensíveis nas configurações e analisa como elas podem ser acessadas.
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-serverless-function-security-reviewOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/performing-serverless-function-security-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.
Realizando Revisão de Segurança de Funções Serverless
Quando Usar
- Ao auditar aplicações serverless antes da implantação em produção
- Ao investigar potencial exposição de dados através de variáveis de ambiente ou logs de funções
- Ao avaliar o raio de impacto de uma função serverless comprometida com permissões de execução
- Quando revisões de conformidade exigem documentação de controles de segurança serverless
- Ao construir modelos "seguro por padrão" para implantações serverless
Não use para avaliações de segurança de contêineres ou VMs (use ferramentas de escaneamento de contêineres), para testes de segurança de API (use ferramentas DAST na camada do API Gateway) ou para detecção de ameaças serverless em tempo real (use AWS Lambda Extensions com agentes de segurança).
Pré-requisitos
- AWS CLI, Azure CLI e gcloud CLI configurados com as permissões apropriadas
- Acesso para ler configurações de funções, políticas e papéis de execução
- Prowler ou Checkov para escaneamento automatizado de segurança serverless
- SAM CLI ou Serverless Framework para análise local de funções
- CloudTrail, Azure Monitor ou Cloud Audit Logs habilitados para monitoramento de invocação de funções
Fluxo de Trabalho
Etapa 1: Enumerar Todas as Funções Serverless e Configurações
Liste todas as funções entre os provedores de nuvem com seu runtime, memória, tempo limite e configurações de rede.
# AWS Lambda: List all functions with key security attributes
aws lambda list-functions \
--query 'Functions[*].[FunctionName,Runtime,MemorySize,Timeout,Role,VpcConfig.VpcId,Layers[*].Arn]' \
--output table
# Check for functions using deprecated runtimes
aws lambda list-functions \
--query 'Functions[?Runtime==`python3.7` || Runtime==`nodejs14.x` || Runtime==`dotnetcore3.1`].[FunctionName,Runtime]' \
--output table
# Azure Functions: List all function apps
az functionapp list \
--query "[].{Name:name, Runtime:siteConfig.linuxFxVersion, ResourceGroup:resourceGroup, HttpsOnly:httpsOnly}" \
-o table
# GCP Cloud Functions: List all functions
gcloud functions list \
--format="table(name, runtime, status, httpsTrigger.url, serviceAccountEmail, vpcConnector)"
Etapa 2: Auditar Permissões do Papel de Execução
Revise os papéis IAM anexados às funções em busca de políticas excessivamente permissivas.
# AWS: Check each Lambda function's execution role
for func in $(aws lambda list-functions --query 'Functions[*].FunctionName' --output text); do
role_arn=$(aws lambda get-function-configuration --function-name "$func" --query 'Role' --output text)
role_name=$(echo "$role_arn" | awk -F'/' '{print $NF}')
echo "=== $func -> $role_name ==="
# List attached policies
aws iam list-attached-role-policies --role-name "$role_name" \
--query 'AttachedPolicies[*].[PolicyName,PolicyArn]' --output table
# Check for wildcard actions
for policy_arn in $(aws iam list-attached-role-policies --role-name "$role_name" --query 'AttachedPolicies[*].PolicyArn' --output text); do
version=$(aws iam get-policy --policy-arn "$policy_arn" --query 'Policy.DefaultVersionId' --output text)
aws iam get-policy-version --policy-arn "$policy_arn" --version-id "$version" \
--query 'PolicyVersion.Document' --output json | python3 -c "
import json, sys
doc = json.load(sys.stdin)
for stmt in doc.get('Statement', []):
actions = stmt.get('Action', [])
if isinstance(actions, str): actions = [actions]
resources = stmt.get('Resource', [])
if isinstance(resources, str): resources = [resources]
if '*' in actions or any(a.endswith(':*') for a in actions):
print(f' WARNING: {stmt[\"Effect\"]} {actions} on {resources}')
" 2>/dev/null
done
done
Etapa 3: Verificar Variáveis de Ambiente em Busca de Segredos
Escaneie variáveis de ambiente de funções em busca de credenciais codificadas, chaves de API e strings de conexão de banco de dados.
# AWS Lambda: Extrair variáveis de ambiente
for func in $(aws lambda list-functions --query 'Functions[*].FunctionName' --output text); do
envvars=$(aws lambda get-function-configuration --function-name "$func" \
--query 'Environment.Variables' --output json 2>/dev/null)
if [ "$envvars" != "null" ] && [ -n "$envvars" ]; then
echo "=== $func ==="
echo "$envvars" | python3 -c "
import json, sys, re
vars = json.load(sys.stdin)
sensitive_patterns = [
r'(?i)(password|secret|key|token|credential|api.?key)',
r'(?i)(aws.?access|aws.?secret)',
r'(?i)(database.?url|connection.?string|db.?pass)',
r'AKIA[0-9A-Z]{16}'
]
for key, value in vars.items():
for pattern in sensitive_patterns:
…
Perguntas frequentes
O que são funções serverless?
São pequenos programas que rodam na nuvem sem que você precise gerenciar servidores. Você paga apenas pelo tempo que eles executam.
O que são 'permissões excessivas'?
É quando uma função tem mais permissões do que o necessário para funcionar, aumentando o risco caso ela seja comprometida.
O que são 'vulnerabilidades de injeção'?
São falhas de segurança que permitem a um invasor inserir comandos maliciosos na função, podendo roubar dados ou controlar o sistema.
Detalhes
Descrição original do autor
Performing security reviews of serverless functions across AWS Lambda, Azure Functions, and GCP Cloud Functions to identify overly permissive execution roles, insecure environment variables, injection vulnerabilities, and missing runtime protections. '
Popularidade
- Estrelas no GitHub
- 35 mil
- Posição no ranking
- #6140
- 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
django-security
Ajuda seu agente a implementar práticas de segurança em aplicações Django. Ele foca em autenticação, autorização e prevenção contra ataques comuns, garantindo um código mais seguro.
affaan-m/ECC
laravel-security
Ajuda seu agente a proteger aplicações Laravel contra ameaças. Implementa práticas de segurança para autenticação, autorização e prevenção de ataques comuns.
affaan-m/ECC
module-regression
Ajuda seu agente a gerenciar mudanças em projetos grandes. Garante que alterações em uma parte do código não quebrem outras partes.
affaan-m/ECC