Communitygithub.com

YepAPI/skills

Segurança de erros — respostas seguras, IDs de correlação e sem vazamento de stack traces em produção.

O que é skills?

Esta skill implementa práticas robustas de segurança de erros para APIs e aplicações web, garantindo que informações sensíveis como stack traces, detalhes de banco de dados ou caminhos de arquivos nunca vazem para os clientes em produção. Ela utiliza IDs de correlação únicos (como UUIDs) para rastrear erros no lado servidor enquanto retorna mensagens genéricas e seguras para o usuário final, facilitando a depuração sem expor a arquitetura interna. A skill oferece exemplos concretos de middleware para Express.js e boundary de erro para Next.js, adaptando automaticamente o nível de detalhe entre ambientes de desenvolvimento (stack trace completo) e produção (apenas mensagem segura + ID). Além disso, orienta a classificação correta de códigos de status HTTP (400, 401, 403, 404, 500) e a sanitização de mensagens de erros de serviços de terceiros, evitando que informações sensíveis sejam transmitidas. Ideal para equipes que buscam conformidade com boas práticas de segurança e resiliência em aplicações Node.js e React/Next.js, a skill reduz riscos de exploração de vulnerabilidades e melhora a capacidade de debugging em produção.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/YepAPI/skills/tree/HEAD/skills/error-security

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Segurança de Erros

Regras

  • Nunca vazar stack traces, erros de banco de dados ou caminhos de arquivos para clientes em produção
  • Retornar mensagens de erro genéricas com um ID único de erro: { error: "Algo deu errado", errorId: "abc123" }
  • Registrar detalhes completos do erro no lado servidor com o mesmo ID de correlação para depuração
  • Usar diferentes níveis de detalhe de erro: desenvolvimento (stack trace completo) vs produção (mensagem segura + ID)
  • Capturar todos os erros não tratados com manipuladores globais — nunca permita que erros brutos cheguem ao cliente
  • Sanitizar mensagens de erro de serviços de terceiros antes de encaminhá-las aos clientes
  • Retornar códigos de status HTTP adequados: 400 (entrada inválida), 401 (não autenticado), 403 (proibido), 404 (não encontrado), 500 (erro do servidor)
// Middleware de tratamento de erros Express
import { randomUUID } from "node:crypto";

app.use((err: Error, req: Request, res: Response, next: NextFunction) => {
  const errorId = randomUUID();

  // Registrar detalhes completos no lado servidor
  console.error({ errorId, message: err.message, stack: err.stack, url: req.url });

  // Retornar resposta segura ao cliente
  const statusCode = (err as any).statusCode || 500;
  res.status(statusCode).json({
    error: statusCode >= 500 ? "Erro interno do servidor" : err.message,
    errorId,
    ...(process.env.NODE_ENV === "development" && { stack: err.stack }),
  });
});
// Boundary de erro Next.js — erros seguros em produção
export default function GlobalError({ error, reset }) {
  return (
    <div>
      <h2>Algo deu errado</h2>
      <p>ID do Erro: {error.digest}</p>
      <button onClick={reset}>Tentar novamente</button>
    </div>
  );
}

Evitar

  • Retornar err.message diretamente — erros de banco de dados vazam nomes de tabelas, nomes de colunas e estrutura da consulta
  • Stack traces em respostas de produção — eles revelam caminhos de arquivos, dependências e arquitetura interna
  • 500 genérico para tudo — use códigos de status adequados para que os clientes possam lidar com os erros apropriadamente
  • Registrar erros sem IDs de correlação — torna a depuração em produção quase impossível
  • Engolir erros silenciosamente — sempre registre, mesmo que a resposta seja genérica

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

YepAPI/skills

WCAG 2.1 AA — semantic HTML, keyboard navigation, screen readers.

YepAPI/skills

Experiment setup, variant splitting, statistical significance, and feature flag integration.

YepAPI/skills

CRUD generators, data tables, user management, role-based access, and bulk operations.

YepAPI/skills

Monitor what ChatGPT and Gemini say about your brand using YepAPI.

YepAPI/skills

Queue workers with BullMQ/Inngest/Trigger.dev, job retries, dead letter queues, concurrency.

YepAPI/skills

Commander.js, interactive prompts with Clack, spinners, colors, config files, exit codes, and npm publishing.

YepAPI/skills

cmdk integration, Cmd+K trigger, fuzzy search, grouped actions, keyboard navigation, and dynamic action registration.

YepAPI/skills

Content planning with trend and sentiment data from YepAPI.

YepAPI/skills

Content calendar, keyword-driven planning, and content briefs.

YepAPI/skills

Theme switching with CSS variables, system preference detection, next-themes, and persistence.

YepAPI/skills

Threaded comments, @mentions, reactions, moderation queue, optimistic UI, and cursor pagination.

YepAPI/skills

Competitive analysis between domains using YepAPI.

YepAPI/skills

Layout grids, KPI cards, data tables with sorting/filtering, sidebar navigation, and responsive breakpoints.

YepAPI/skills

Data encryption — TLS everywhere, AES-256-GCM for PII, bcrypt passwords, encrypted backups.

YepAPI/skills

Chart patterns with Recharts/Nivo/D3, responsive containers, color scales, and accessibility.

YepAPI/skills

Drizzle schema definition, push vs migrate, type-safe queries, relations, transactions, and prepared statements.

YepAPI/skills

Upload handling, resize/compress, CDN delivery, blur placeholders, and next/image patterns.

YepAPI/skills

Local business and Google Maps research using YepAPI.

YepAPI/skills

Cursor-based pagination, IntersectionObserver, virtualized lists with @tanstack/react-virtual, and scroll position restoration.

YepAPI/skills

Chat UI components, streaming responses with AI SDK, context window management, and RAG patterns.

Habilidades Relacionadas