Pular para o conteúdo
Skillpedia
Segurança35 mil · #6140

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

https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/performing-serverless-function-security-review/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/performing-serverless-function-security-review/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
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-review

Ou 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.md
Conteú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. '

repo: mukul975/Anthropic-Cybersecurity-Skills

Popularidade

Estrelas no GitHub
35 mil
Posição no ranking
#6140
Licença
Apache-2.0
Atualizada em
31/08/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas