securing-serverless-functions
Protege funções serverless (como AWS Lambda). Garante permissões mínimas, verifica dependências e gerencia segredos com segurança.
O que ela faz
Esta ferramenta ajuda a proteger suas funções de código que rodam na nuvem (como AWS Lambda, Azure Functions, Google Cloud Functions). Ela garante que o código tenha apenas as permissões necessárias, verifica se há componentes vulneráveis, gerencia senhas de forma segura e valida as informações que chegam.
Quando usar
- ✓Ao colocar no ar funções que lidam com dados sensíveis.
- ✓Ao verificar se o acesso concedido às funções é muito amplo.
- ✓Ao adicionar segurança automática ao processo de desenvolvimento de software.
Exemplo do que pedir para a IA
“Como posso proteger minhas funções Lambda que acessam dados de clientes?”
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
Ela funciona configurando permissões mínimas para cada função, evitando que elas acessem mais do que precisam. Também verifica se há componentes desatualizados ou perigosos no código e garante que senhas e informações importantes sejam armazenadas de forma segura, não diretamente no código.
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 securing-serverless-functionsOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/securing-serverless-functions/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.
Protegendo Funções Serverless
Quando Usar
- Ao implantar funções Lambda ou Azure Functions com acesso a dados sensíveis ou APIs na nuvem
- Ao auditar cargas de trabalho serverless existentes em busca de papéis IAM excessivamente permissivos
- Ao integrar funções serverless em um pipeline DevSecOps com varredura de segurança automatizada
- Ao descobrir segredos codificados ou dependências vulneráveis no código da função
- Ao estabelecer monitoramento em tempo de execução para cargas de trabalho serverless para detectar roubo de injeção ou credenciais
Não use para segurança de computação baseada em contêineres (veja protegendo-kubernetes-na-nuvem), para configuração de API Gateway (veja implementando-regras-de-waf-na-nuvem), ou para decisões de design de arquitetura serverless.
Pré-requisitos
- AWS Lambda, Azure Functions ou GCP Cloud Functions com acesso de implantação
- Pipeline CI/CD com ferramentas de varredura de dependências (npm audit, Snyk, Dependabot)
- AWS Secrets Manager, Azure Key Vault ou HashiCorp Vault para gerenciamento de segredos
- CloudWatch, Application Insights ou Cloud Logging para monitoramento de funções
Fluxo de Trabalho
Passo 1: Impor Papéis IAM de Menor Privilégio
Atribua a cada função Lambda um papel IAM dedicado com permissões restritas apenas aos recursos específicos que ela acessa. Nunca compartilhe papéis IAM entre funções.
# Create a least-privilege role for a specific Lambda function
aws iam create-role \
--role-name order-processor-lambda-role \
--assume-role-policy-document '{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Principal": {"Service": "lambda.amazonaws.com"},
"Action": "sts:AssumeRole"
}]
}'
# Attach a scoped policy (not AmazonDynamoDBFullAccess)
aws iam put-role-policy \
--role-name order-processor-lambda-role \
--policy-name order-processor-policy \
--policy-document '{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": ["dynamodb:PutItem", "dynamodb:GetItem"],
"Resource": "arn:aws:dynamodb:us-east-1:123456789012:table/Orders"
},
{
"Effect": "Allow",
"Action": ["logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents"],
"Resource": "arn:aws:logs:us-east-1:123456789012:log-group:/aws/lambda/order-processor:*"
},
{
"Effect": "Allow",
"Action": ["secretsmanager:GetSecretValue"],
"Resource": "arn:aws:secretsmanager:us-east-1:123456789012:secret:order-api-key-*"
}
]
}'
Passo 2: Elimine Segredos Codificados
Substitua credenciais em texto plano em variáveis de ambiente por referências a serviços de gerenciamento de segredos. Use extensões Lambda ou chamadas de SDK para recuperar segredos em tempo de execução.
# INSECURE: Hardcoded credentials in environment variable
# DB_PASSWORD = os.environ['DB_PASSWORD'] # Stored as plaintext in Lambda config
# SECURE: Retrieve from AWS Secrets Manager with caching
import boto3
from botocore.exceptions import ClientError
import json
_secret_cache = {}
def get_secret(secret_name):
if secret_name in _secret_cache:
return _secret_cache[secret_name]
client = boto3.client('secretsmanager')
response = client.get_secret_value(SecretId=secret_name)
secret = json.loads(response['SecretString'])
_secret_cache[secret_name] = secret
return secret
def lambda_handler(event, context):
db_creds = get_secret('production/database/credentials')
db_host = db_creds['host']
db_password = db_creds['password']
# Use credentials securely
# Enable encryption at rest for Lambda environment variables
aws lambda update-function-configuration \
--function-name order-processor \
--kms-key-arn arn:aws:kms:us-east-1:123456789012:key/key-id
Passo 3: Varra Dependências em Busca de Vulnerabilidades
Integre a varredura automatizada de dependências ao pipeline CI/CD para capturar pacotes vulneráveis antes da implantação.
# npm audit for Node.js Lambda functions
cd lambda-function/
npm audit --audit-level=high
npm audit fix
# Snyk scanning in CI/CD pipeline
snyk test --severity-threshold=high
snyk monitor --project-name=order-processor-lambda
# pip-audit for Python Lambda functions
pip-audit -r requirements.txt --desc on --fix
# Scan Lambda deployment package with Trivy
trivy fs --severity HIGH,CRITICAL ./lambda-package/
# Varredura de segurança CI/CD do GitHub Actions
name: Varredura de Segurança Lambda
on: [push, pull_request]
jobs:
security:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
…
Perguntas frequentes
O que são 'funções serverless'?
São pequenos pedaços de código que rodam na nuvem sob demanda, sem que você precise gerenciar servidores. Exemplos incluem AWS Lambda, Azure Functions e Google Cloud Functions.
O que é 'IAM'?
IAM significa Gerenciamento de Identidade e Acesso. É um sistema que controla quem (ou o quê) pode acessar quais recursos na nuvem, garantindo que apenas usuários ou funções autorizadas tenham permissão.
O que são 'vulnerabilidades de dependência'?
São falhas de segurança encontradas em bibliotecas ou componentes de software que seu código utiliza. Se essas bibliotecas estiverem desatualizadas ou tiverem falhas, seu código pode ficar exposto a ataques.
Detalhes
Descrição original do autor
Hardens serverless compute platforms (AWS Lambda, Azure Functions, Google Cloud Functions): least-privilege IAM roles, dependency vulnerability scanning, secrets management integration, input validation, function URL authentication, and runtime monitoring. Use when deploying serverless functions with sensitive access, auditing for overly permissive roles, or adding functions to a DevSecOps pipelin
Popularidade
- Estrelas no GitHub
- 35 mil
- Posição no ranking
- #6212
- 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
dashboard-builder
Ajuda seu agente a criar painéis de monitoramento úteis. Ele transforma dados em gráficos que respondem a perguntas importantes sobre o sistema.
affaan-m/ECC
dev-team
Simula uma equipe de desenvolvimento colaborativa, onde diferentes papéis respondem a um problema juntos. É útil para obter múltiplas perspectivas sem trocar de agente manualmente.
affaan-m/ECC
ecc-council
Faz seu agente reunir um conselho de quatro vozes para tomar decisões difíceis. É útil quando há várias opções boas e é preciso debater antes de escolher.
affaan-m/ECC