KI-Tools & -Skripte
Sicherheitsprüfung für Webhook-Handler
Prüft Webhook-Endpunkte für GitHub, Shopify, Twilio, Paddle, Clerk, Razorpay und 9 weitere Anbieter: fehlende Signaturprüfungen, Secrets im Code, Prüfungen, die im Fehlerfall durchlassen, Vergleiche mit ==, HMACs über geparstes JSON, Replays und doppelte Events.
Das bekommst du: 1 Datei · 50.11 KB · ZIP
Kaufoptionen ansehenProduktbeschreibung
Eine Route, die X-Shopify-Topic liest und die Bestellung versendet, aber nie X-Shopify-Hmac-Sha256 prüft, versendet Bestellungen für jeden, der die URL findet. Dasselbe gilt für einen HMAC, der über JSON.stringify(req.body) berechnet wird, ein vom Testen übrig gebliebenes twilio.webhook({ validate: false }) oder eine Prüfung, die true zurückgibt, wenn der Signatur-Header fehlt. Dieser Skill findet diese und sieben weitere Webhook-Fehler, bevor der Endpunkt live geht, und erklärt Ihnen, wie Sie jeden davon beheben.
Ihr Agent führt einen Scanner auf Ihrem Webhook-Code aus, in JavaScript und TypeScript (Express, Next.js, NestJS, Hono, Koa, Fastify), Python (Flask, FastAPI, Django, AWS Lambda), PHP (Laravel), Ruby (Rails, Sinatra) und Go. Er findet jede Route und behandelt eine POST-Route als Empfänger für GitHub, GitLab, Shopify, Twilio, Paddle, Lemon Squeezy, Polar, Svix, Clerk, Resend, SendGrid, Mailgun, Square, Razorpay oder Coinbase, wenn sie die Header oder Event-Payloads dieses Anbieters liest. Er prüft jede Route einzeln und kennt die Verifizierungsaufrufe jedes Anbieters (octokit verify, authenticate.webhook, twilio.webhook(), paddle.webhooks.unmarshal, validateEvent, verifyWebhook, Svix Webhook.verify und weitere). Verifizierte Routen sowie Routen, die durch eine verifizierende Middleware, einen Decorator oder Helper in einer anderen gescannten Datei abgedeckt sind (Express app.use, Go-Handler-Wrapper, Next.js-Middleware, Rails before_action und Rack::TwilioWebhookAuthentication), werden daher nicht gemeldet. Er überspringt Kommentare und Testdateien und führt Ihren Code nie aus. Er liefert BLOCK, REVIEW oder NOT FLAGGED, mit Datei, Zeile, Begründung und einem sichereren Ansatz. Secrets werden nie ausgegeben.
Was geprüft wird
BLOCK (vor dem Ausliefern beheben)
- W01: POST-Routen, die Webhook-Header oder Payloads eines Anbieters ohne Signaturprüfung lesen
- W02: Webhook-Signing-Secrets, Anbieter-Schlüssel und GitLab-Tokens, die im Code stehen
- W03: Verifizierung abgeschaltet oder im Fehlerfall offen (validate: false, octokit receive(), Durchlassen der Anfrage, wenn Signatur oder Secret fehlen, Ablehnen nur bei vorhandener Signatur oder Weitermachen nach einer fehlgeschlagenen Prüfung)
REVIEW (vor dem Release prüfen)
- W11: Signaturen, die mit ==, ===, strcmp oder bytes.Equal statt mit einem zeitkonstanten Vergleich verglichen werden
- W12: HMACs, die über erneut serialisiertes JSON statt über den rohen Request-Body berechnet werden
- W13: selbst geschriebene Prüfungen von Signaturen mit Zeitstempel ohne Zeitfenster (Replay)
- W14: Bestell- und Zahlungs-Events, die ohne Event-ID- oder Duplikatprüfung verarbeitet werden
- W15: der veraltete SHA-1-Header X-Hub-Signature von GitHub oder der veraltete Signatur-Header von Square
- W16: Webhook-Secrets, die mit einem fest codierten Fallback-Wert aus der Umgebung gelesen werden
- W17: Verifizierung, die sich durch eine Umgebungseinstellung oder ein SKIP_- oder DISABLE_-Flag abschalten lässt
Was enthalten ist
- Der Scanner (Python 3.9+, nur Standardbibliothek)
- Ein Regelleitfaden mit Begründung, sichererem Ansatz und Link zur Anbieterdokumentation für jede Regel
- Ein riskantes und ein sicheres Beispielprojekt sowie der echte Bericht, den der Scanner für das riskante erzeugt
Grenzen
Er liest den Code so, wie er geschrieben ist: Eine Verifizierung durch ein API-Gateway, einen Proxy oder Code außerhalb des gescannten Ordners wird nicht erkannt, und Werte, die über mehrere Dateien hinweg zusammengesetzt werden, werden nicht verfolgt. Eine Route, die einen Anbieter nur in ihrem Pfad nennt, wird nicht als Webhook-Empfänger behandelt. Stripe-Webhooks werden nicht abgedeckt. NOT FLAGGED ist keine Garantie.
Inhalt
Eine ZIP-Datei mit 19 Dateien: SKILL.md, der Scanner in scripts/ (6 Python-Dateien), references/rules.md (jede Regel mit Begründung und sichererem Ansatz) und examples/ (10 Beispieldateien plus report.md, die echte Scanner-Ausgabe für das riskante Beispiel).
So verwenden Sie es: Dies ist ein Agent-Skill: ein Ordner mit einer SKILL.md-Datei und Python-Skripten, die ein KI-Coding-Agent wie Claude Code, Cursor oder Codex CLI ausführen kann. Entpacken Sie ihn in den Skills-Ordner Ihres Agenten (für Claude Code: ~/.claude/skills/) und bitten Sie Ihren Agenten dann, Ihr Projekt zu prüfen. Die Skripte laufen auch eigenständig mit Python 3.9 oder neuer, ohne dass etwas installiert werden muss. Sie lesen nur Ihre Dateien: kein Netzwerkzugriff, und nichts wird irgendwohin gesendet.
Das bekommst du
1 Datei · 50.11 KB
- webhook-handler-safety-check-1.0.0.zipZIP · 50.11 KB
KI-Tools & -Skripte
Sicherheitsprüfung für Webhook-Handler
Prüft Webhook-Endpunkte für GitHub, Shopify, Twilio, Paddle, Clerk, Razorpay und 9 weitere Anbieter: fehlende Signaturprüfungen, Secrets im Code, Prüfungen, die im Fehlerfall durchlassen, Vergleiche mit ==, HMACs über geparstes JSON, Replays und doppelte Events.
Getly hat die hochgeladenen Dateien geöffnet und nichts gefunden, was das Öffnen verhindern würde. Das ist kein Virenscan und keine Qualitätsbewertung.
Tags
Häufige Fragen
Erhalte ich sofort Zugriff?
Ja. Dies ist ein digitales Produkt - du kannst es direkt nach dem Kauf aus deiner Bibliothek herunterladen.
Darf ich es für kommerzielle Projekte nutzen?
Ja. Kommerzielle Nutzung ist erlaubt: im eigenen Business und in dem, was du verkaufst. Die Datei selbst darfst du nicht weiterverkaufen oder verbreiten.
Wie sind die Rückerstattungsbedingungen?
Du kannst innerhalb von 30 Tagen eine Rückerstattung anfordern. Stimmt etwas nicht, fordere sie bei deiner Bestellung an - das Getly-Team prüft sie.
Welche Dateiformate und -größen erhalte ich?
Du lädst 1 Datei herunter - ZIP - insgesamt 50.11 KB.
Erhalte ich kostenlose Updates?
Ja - wenn der Verkäufer eine neue Version veröffentlicht, kannst du die aktuellen Dateien kostenlos erneut aus deiner Bibliothek herunterladen. Aktuelle Änderungen findest du im Changelog.
Preis
$5.00



