Pular para o conteúdo
Skillpedia
Segurança48 mil · #4079

security-and-hardening

Ajuda seu agente a proteger códigos contra falhas. É útil ao lidar com informações de usuários, senhas, armazenamento de dados ou conexões externas. Isso torna os sistemas mais seguros.

O que ela faz

Esta skill ajuda a tornar seu código mais seguro, protegendo-o contra ataques e vazamentos de dados. Ela ensina práticas para lidar com informações que vêm de fora do seu sistema, como dados de usuários ou integrações com outros serviços.

Quando usar

  • ✓Ao criar formulários que recebem informações de usuários.
  • ✓Ao implementar sistemas de login e permissões.
  • ✓Ao armazenar ou enviar dados importantes, como informações de pagamento.

Exemplo do que pedir para a IA

“Como posso garantir que os dados que os usuários enviam pelo formulário não causem problemas de segurança no meu site?”

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/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/security-and-hardening/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/security-and-hardening/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

A skill funciona ensinando a pensar como um atacante para identificar pontos fracos. Ela sugere verificar todas as informações que entram no sistema, proteger senhas e usar conexões seguras.

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 sickn33/agentic-awesome-skills --skill security-and-hardening

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/security-and-hardening/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.

Segurança e Fortalecimento

Visão Geral

Práticas de desenvolvimento com foco em segurança para aplicações web. Trate toda entrada externa como hostil, todo segredo como sagrado e toda verificação de autorização como obrigatória. Segurança não é uma fase — é uma restrição em cada linha de código que toca dados do usuário, autenticação ou sistemas externos.

Quando Usar

  • Construindo qualquer coisa que aceite entrada do usuário
  • Implementando autenticação ou autorização
  • Armazenando ou transmitindo dados sensíveis
  • Integrando com APIs ou serviços externos
  • Adicionando uploads de arquivos, webhooks ou callbacks
  • Lidando com dados de pagamento ou PII (Informações Pessoais Identificáveis)

Processo: Modelo de Ameaças Primeiro

Controles adicionados sem um modelo de ameaças são suposições. Antes de fortalecer, gaste cinco minutos pensando como um atacante:

  1. Mapeie os limites de confiança. Onde dados não confiáveis cruzam para o seu sistema? Requisições HTTP, campos de formulário, uploads de arquivos, webhooks, APIs de terceiros, filas de mensagens e saída de LLM. Cada limite é uma superfície de ataque.
  2. Nomeie os ativos. O que vale a pena roubar ou quebrar? Credenciais, PII, dados de pagamento, ações de administrador, movimentação de dinheiro.
  3. Execute STRIDE sobre cada limite — uma lente rápida, não uma cerimônia:
Ameaça Pergunta Mitigação Típica
Spoofing (Falsificação) Alguém pode se passar por um usuário/serviço? Autenticação, verificação de assinatura
Tampering (Adulteração) Dados podem ser alterados em trânsito ou em repouso? Verificações de integridade, consultas parametrizadas, HTTPS
Repudiation (Repúdio) Uma ação pode ser negada posteriormente? Registro de auditoria de eventos de segurança
Information disclosure (Divulgação de Informações) Dados podem vazar? Criptografia, listas de permissão de campos, erros genéricos
Denial of service (Negação de Serviço) Pode ser sobrecarregado? Limitação de taxa, limites de tamanho de entrada, timeouts
Elevation of privilege (Elevação de Privilégio) Um usuário pode obter direitos que não deveria? Verificações de autorização, menor privilégio
  1. Escreva casos de abuso ao lado dos casos de uso. Para cada funcionalidade, pergunte "como eu poderia usar isso indevidamente?" — e faça disso seu primeiro teste.

Se você não consegue nomear os limites de confiança para uma funcionalidade, você não está pronto para protegê-la. Isso é OWASP A04: Design Inseguro — a maioria das violações começa no design, não no código.

O Sistema de Limites de Três Camadas

Sempre Faça (Sem Exceções)

  • Valide toda entrada externa no limite do sistema (rotas de API, manipuladores de formulário)
  • Parametrize todas as consultas de banco de dados — nunca concatene entrada do usuário em SQL
  • Codifique a saída para prevenir XSS (use o auto-escape do framework, não o contorne)
  • Use HTTPS para toda comunicação externa
  • Hache as senhas com bcrypt/scrypt/argon2 (nunca armazene em texto plano)
  • Defina cabeçalhos de segurança (CSP, HSTS, X-Frame-Options, X-Content-Type-Options)
  • Use cookies httpOnly, secure, sameSite para sessões
  • Execute npm audit (ou equivalente) antes de cada lançamento

Pergunte Primeiro (Requer Aprovação Humana)

  • Adicionar novos fluxos de autenticação ou alterar a lógica de autenticação
  • Armazenar novas categorias de dados sensíveis (PII, informações de pagamento)
  • Adicionar novas integrações de serviços externos
  • Alterar a configuração CORS
  • Adicionar manipuladores de upload de arquivos
  • Modificar a limitação de taxa ou throttling
  • Conceder permissões ou papéis elevados

Nunca Faça

  • Nunca comite segredos no controle de versão (chaves de API, senhas, tokens)
  • Nunca registre dados sensíveis (senhas, tokens, números completos de cartão de crédito)
  • Nunca confie na validação do lado do cliente como um limite de segurança
  • Nunca desative cabeçalhos de segurança por conveniência
  • Nunca use eval() ou innerHTML com dados fornecidos pelo usuário <!-- security-allowlist: defensive hardening guidance -->
  • Nunca armazene sessões em armazenamento acessível pelo cliente (localStorage para tokens de autenticação)
  • Nunca exponha stack traces ou detalhes de erro internos aos usuários

Padrões de Prevenção do OWASP Top 10

Estes são padrões de prevenção, não um ranking. Para uma lista de verificação focada em tarefas, veja references/security-checklist.md.

Injeção (SQL, NoSQL, Comando de SO)

// BAD: SQL injection via string concatenation
const query = `SELECT * FROM users WHERE id = '${userId}'`;

// GOOD: Parameterized query
const user = await db.query('SELECT * FROM users WHERE id = $1', [userId]);

// GOOD: ORM with parameterized input
const user = await prisma.user.findUnique({ where: { id: userId } });

Autenticação Quebrada

// Hashing de senhas
import { hash, compare } from 'bcrypt';

const SALT_ROUNDS = 12;
const hashedPassword = await hash(plaintext, SALT_ROUNDS);
const isValid = await compare(plaintext, hashedPassword);

// Gerenciamento de sessão
app.use(session({

…
Perguntas frequentes

O que são 'vulnerabilidades'?

São falhas no código que podem ser exploradas por pessoas mal-intencionadas para roubar dados, danificar o sistema ou obter acesso indevido.

Por que é importante validar a entrada do usuário?

Porque informações vindas de fora podem conter códigos maliciosos ou dados inválidos que podem quebrar o sistema ou ser usados para ataques.

O que significa 'não armazenar senhas em texto puro'?

Significa que as senhas devem ser 'embaralhadas' (usando funções de hash) antes de serem salvas, para que mesmo que alguém acesse o banco de dados, não consiga ler as senhas originais.

Detalhes

Descrição original do autor

Hardens code against vulnerabilities. Use when handling user input, authentication, data storage, or external integrations. Use when building any feature that accepts untrusted data, manages user sessions, or interacts with third-party services.

repo: sickn33/agentic-awesome-skills

Popularidade

Estrelas no GitHub
48 mil
Posição no ranking
#4079
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas