implementing-api-schema-validation-security
Ajuda seu agente a verificar se os dados enviados e recebidos por uma API estão corretos. Isso impede ataques e vazamentos de dados. É útil para proteger a comunicação entre sistemas.
O que ela faz
Essa ferramenta garante que os dados trocados em APIs (serviços de comunicação entre programas) sigam um formato exato. Ela impede ataques, como injeção de código, e evita que informações sensíveis sejam vazadas ou que dados indesejados sejam adicionados.
Quando usar
- ✓Ao configurar a segurança de APIs.
- ✓Para atender requisitos de conformidade de segurança.
- ✓Ao criar ou melhorar a arquitetura de segurança de sistemas.
Exemplo do que pedir para a IA
“Configure a validação de esquema para a minha API para prevenir ataques.”
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
Define regras claras (esquemas) para os dados que entram e saem da API. Um sistema de segurança verifica se os dados seguem essas regras, bloqueando qualquer coisa que não esteja de acordo.
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 implementing-api-schema-validation-securityOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/implementing-api-schema-validation-security/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.
Implementando Segurança com Validação de Esquema de API
Visão Geral
A validação de esquema de API garante que todos os dados trocados através de APIs estejam em conformidade com uma estrutura predefinida, definida em documentos OpenAPI Specification (OAS) ou JSON Schema. Isso previne ataques de injeção (SQLi, XSS, XXE), bloqueia atribuição em massa rejeitando propriedades desconhecidas, impede vazamento de dados validando esquemas de resposta e garante segurança de tipo em todas as interações de API. A validação de esquema opera tanto no nível do gateway de API (aplicação em tempo de execução) quanto durante o desenvolvimento (segurança "shift-left").
Quando Usar
- Ao implantar ou configurar capacidades de segurança de validação de esquema de API em seu ambiente
- Ao estabelecer controles de segurança alinhados aos requisitos de conformidade
- Ao construir ou melhorar a arquitetura de segurança para este domínio
- Ao realizar avaliações de segurança que exigem esta implementação
Pré-requisitos
- OpenAPI Specification v3.0 ou v3.1 para todos os endpoints de API
- Gateway de API com suporte à validação de esquema (Cloudflare API Shield, Kong, AWS API Gateway)
- Compreensão de JSON Schema draft-07 ou posterior
- Ambiente de desenvolvimento com bibliotecas de validação OpenAPI
- Pipeline de CI/CD para testes automatizados de conformidade de esquema
Implementação Principal
Esquema OpenAPI com Restrições de Segurança
openapi: 3.1.0
info:
title: API Segura de E-commerce
version: 2.0.0
servers:
- url: https://api.example.com/v2
description: Produção (HTTPS forçado)
security:
- OAuth2:
- read:products
- write:orders
paths:
/products:
post:
operationId: createProduct
security:
- OAuth2: [write:products]
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ProductCreate'
responses:
'201':
description: Produto criado
content:
application/json:
schema:
$ref: '#/components/schemas/Product'
'400':
$ref: '#/components/responses/ValidationError'
'401':
$ref: '#/components/responses/Unauthorized'
/products/{productId}:
get:
operationId: getProduct
parameters:
- name: productId
in: path
required: true
schema:
type: string
format: uuid
pattern: '^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Product'
components:
schemas:
ProductCreate:
type: object
required: [name, price, category]
properties:
name:
type: string
minLength: 1
maxLength: 200
pattern: '^[a-zA-Z0-9\s\-\.]+$' # Sem caracteres especiais para prevenção de injeção
description:
type: string
maxLength: 2000
# Sanitizar entidades HTML
price:
type: number
format: float
minimum: 0.01
maximum: 999999.99
exclusiveMinimum: 0
category:
type: string
enum: [electronics, clothing, food, furniture, other]
tags:
type: array
items:
type: string
maxLength: 50
pattern: '^[a-zA-Z0-9\-]+$'
maxItems: 10
uniqueItems: true
additionalProperties: false # CRÍTICO: Impede atribuição em massa
Product:
type: object
required: [id, name, price]
properties:
id:
type: string
format: uuid
readOnly: true
name:
type: string
price:
type: number
category:
type: string
tags:
type: array
items:
type: string
createdAt:
type: string
format: date-time
readOnly: true
additionalProperties: false # Impede vazamento de dados de campos internos
ValidationErrorResponse:
type: object
required: [code, message]
properties:
code:
type: string
enum: [VALIDATION_ERROR]
message:
type: string
maxLength: 500
details:
type: array
items:
type: object
properties:
field:
type: string
error:
…
Perguntas frequentes
O que é um 'esquema' de API?
É como um molde ou um contrato que define a estrutura exata dos dados que uma API pode receber ou enviar, incluindo os tipos de informação e quais campos são permitidos.
O que são 'ataques de injeção'?
São tentativas maliciosas de inserir código ou comandos indesejados em uma API para obter acesso indevido, roubar dados ou danificar o sistema.
O que é 'mass assignment'?
É uma vulnerabilidade onde um atacante pode enviar dados extras que não deveriam ser permitidos, potencialmente alterando informações importantes no sistema.
Detalhes
Descrição original do autor
Implements API schema validation using OpenAPI Specification and JSON Schema documents, enforced both at the API gateway (runtime) and during development (shift-left), to lock down request/response contracts and reject unknown properties. Use when preventing injection attacks (SQLi, XSS, XXE), blocking mass assignment, or stopping data leakage through unvalidated API responses.
Popularidade
- Estrelas no GitHub
- 35 mil
- Posição no ranking
- #5826
- 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