Communitygithub.com

Error Security

Fehlersicherheit – sichere Fehlerantworten, Korrelations-IDs, keine Stack-Trace-Lecks in der Produktion.

Was ist Error Security?

Diese Fähigkeit (Skill) definiert eine Reihe von Sicherheitsregeln für den Umgang mit Fehlern in Produktionsanwendungen. Ihr Hauptziel ist es, zu verhindern, dass sensible Informationen wie Stack-Traces, Datenbankfehler oder Dateipfade an den Client weitergegeben werden. Stattdessen werden generische Fehlermeldungen zusammen mit einer eindeutigen Fehler-ID (z. B. `{ error: "Etwas ist schiefgelaufen", errorId: "abc123" }`) zurückgegeben, während die vollständigen Fehlerdetails mit derselben Korrelations-ID serverseitig protokolliert werden. Der Skill unterstützt unterschiedliche Detaillierungsstufen für Entwicklung und Produktion und zeigt Codebeispiele für Express.js und Next.js. Er ist für jede serverseitige Plattform oder jedes Framework geeignet, das benutzerdefinierte Fehlerbehandlungsroutinen zulässt, und sorgt dafür, dass Clients Fehler angemessen behandeln können, indem die richtigen HTTP-Statuscodes (400, 401, 403, 404, 500) zurückgegeben werden.

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

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Fehlersicherheit

Regeln

  • Stack-Traces, Datenbankfehler oder Dateipfade niemals in der Produktion an Clients weitergeben
  • Generische Fehlermeldungen mit einer eindeutigen Fehler-ID zurückgeben: { error: "Etwas ist schiefgelaufen", errorId: "abc123" }
  • Vollständige Fehlerdetails serverseitig mit derselben Korrelations-ID zu Debugging-Zwecken protokollieren
  • Unterschiedliche Fehlerdetailstufen verwenden: Entwicklung (vollständiger Stack-Trace) vs. Produktion (sichere Meldung + ID)
  • Alle nicht abgefangenen Fehler mit globalen Fehlerbehandlern abfangen – niemals rohe Fehler an den Client gelangen lassen
  • Fehlermeldungen von Drittanbieterdiensten bereinigen, bevor sie an Clients weitergeleitet werden
  • Korrekte HTTP-Statuscodes zurückgeben: 400 (fehlerhafte Eingabe), 401 (nicht authentifiziert), 403 (verboten), 404 (nicht gefunden), 500 (Serverfehler)
// Express-Fehlerbehandlungs-Middleware
import { randomUUID } from "node:crypto";

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

  // Vollständige Details serverseitig protokollieren
  console.error({ errorId, message: err.message, stack: err.stack, url: req.url });

  // Sichere Antwort an den Client zurückgeben
  const statusCode = (err as any).statusCode || 500;
  res.status(statusCode).json({
    error: statusCode >= 500 ? "Interner Serverfehler" : err.message,
    errorId,
    ...(process.env.NODE_ENV === "development" && { stack: err.stack }),
  });
});
// Next.js-Fehlergrenze – sichere Produktionsfehler
export default function GlobalError({ error, reset }) {
  return (
    <div>
      <h2>Etwas ist schiefgelaufen</h2>
      <p>Fehler-ID: {error.digest}</p>
      <button onClick={reset}>Erneut versuchen</button>
    </div>
  );
}

Vermeiden

  • Direkte Rückgabe von err.message – Datenbankfehler geben Tabellennamen, Spaltennamen und Abfragestruktur preis
  • Stack-Traces in Produktionsantworten – sie offenbaren Dateipfade, Abhängigkeiten und die interne Architektur
  • Ein generischer 500 für alles – verwenden Sie die richtigen Statuscodes, damit Clients Fehler angemessen behandeln können
  • Fehler ohne Korrelations-IDs protokollieren – macht das Debuggen in der Produktion nahezu unmöglich
  • Fehler stillschweigend schlucken – immer protokollieren, auch wenn die Antwort generisch ist

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.

Verwandte Skills