KI-Tools & -Skripte
Sicherheitsprüfung für Hono-APIs
Prüfen Sie Hono-APIs vor dem Deployment: CORS, das jeden Origin samt Credentials zurückspiegelt, Auth-Secrets im Code oder in Wrangler-vars, Request-Daten in raw() oder c.html(), aus Requests gebautes SQL, offene Redirects, fehlendes csrf() und mehr.
Das bekommst du: 1 Datei · 47.45 KB · ZIP
Kaufoptionen ansehenProduktbeschreibung
cors({ origin: (origin) => origin, credentials: true }) erlaubt jeder Website, Ihre API mit den Cookies Ihrer Nutzer aufzurufen und die Antworten zu lesen, und c.html() mit einem einfachen Template-String schickt ${c.req.query('q')} ohne Escaping an den Browser, weil nur der html-Tag escaped. Dieser Skill findet diese und die weiteren unten aufgeführten Hono-Fehler vor dem Deployment und erklärt, wie Sie jeden davon beheben.
Ihr Agent lässt einen Scanner über Ihren Hono-Code (TypeScript und JavaScript auf Cloudflare Workers, Bun, Deno oder Node, einschließlich jsr:@hono/hono-Importen) und Ihre wrangler.toml oder wrangler.json laufen. Er überspringt Kommentare und Testdateien, verfolgt Request-Daten (params, query, Header, Cookies, Body und validierte Eingaben) über lokale Variablen, behandelt den html-Tag, JSX, D1 .bind() und getaggte SQL-Templates als sicher, weiß, dass c.env-Bindings und env(c) keine literalen Secrets sind, und berücksichtigt secureHeaders(), csrf() und bodyLimit(), egal wo im Projekt sie registriert sind. Er führt Ihre App nie aus. Das Ergebnis lautet BLOCK, REVIEW oder NOT FLAGGED, jeweils mit Datei, Zeile, Begründung und einem sichereren Ansatz. Secrets werden nie ausgegeben.
Was geprüft wird
BLOCK (vor der Auslieferung beheben)
- H01: cors() mit Credentials und einer Origin-Funktion, die jeden Request-Origin zurückgibt, oder ein aus dem Request kopierter Access-Control-Allow-Origin-Header
- H02: Secrets für JWT-, Basic- und Bearer-Auth oder für signierte Cookies, die im Code, als Fallback-Wert oder in Wrangler-vars stehen (öffentliche Schlüssel und Einstellungen wie Token-Lebensdauern bleiben unberührt)
- H03: Request-Daten in raw(), in c.html() mit einem einfachen Template-String oder einer Funktion aus derselben Datei, die einen solchen baut, oder in dangerouslySetInnerHTML
- H04: SQL für D1, pg, Prisma oder Drizzle, das mit einem Template-Literal oder + aus Request-Daten gebaut wird (Platzhalterlisten und aus festen Optionen gewählte Werte sind in Ordnung)
REVIEW (vor dem Release prüfen)
- H11: CORS-Credentials mit Origin '*', Origin-Prüfungen mit startsWith, includes, endsWith ohne Punkt oder nicht verankerten Regexes sowie csrf(), das Cross-Site-Requests zulässt
- H12: c.redirect() auf eine URL aus dem Request ohne Origin- oder Allowlist-Prüfung (eine reine startsWith('/')-Prüfung lässt /\evil.com trotzdem durch)
- H13: Apps, die HTML ohne secureHeaders() ausliefern
- H14: Upload-Routen ohne bodyLimit()
- H15: onError, das Fehlermeldungen oder Stacktraces zurückgibt
- H16: POST-Routen mit Cookie-Auth ohne csrf() oder SameSite-Session-Cookies
- H17: Auth-Middleware, die erst nach den Routen registriert wird, die sie schützen soll
- H18: Session-Cookies ohne httpOnly oder secure
- H19: c.html(), gespeist von einer View-Funktion, die mit Request-Daten aufgerufen wird und in die der Scanner nicht hineinsehen kann
Was enthalten ist
- Der Scanner (Python 3.9+, nur Standardbibliothek)
- Ein Regelleitfaden mit Begründung, sichererem Ansatz und offizieller Quelle für jede Regel
- Ein riskantes und ein sicheres Workers-Beispielprojekt (Hono-Routen, D1, R2 und wrangler.toml) sowie der echte Bericht, den der Scanner für das riskante Projekt erstellt
Grenzen
Er liest jede Datei für sich und verfolgt Request-Daten nur über Variablen in dieser Datei: Werte, die an Helfer in anderen Dateien übergeben werden, und verkettete Routendefinitionen werden nicht verfolgt, und secureHeaders(), csrf() und bodyLimit() gelten für das ganze Projekt, ohne dass ihre Pfade abgeglichen werden. Er prüft weder Ihre Hono-Version gegen Sicherheitshinweise noch Einstellungen im Cloudflare-Dashboard oder mit wrangler secret put gesetzte Secrets. NOT FLAGGED ist keine Garantie.
Inhalt
Eine ZIP-Datei mit 17 Dateien: SKILL.md, der Scanner in scripts/ (5 Python-Dateien), references/rules.md (jede Regel mit Begründung und sichererem Ansatz) und examples/ (9 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 · 47.45 KB
- hono-api-safety-check-1.0.0.zipZIP · 47.45 KB
KI-Tools & -Skripte
Sicherheitsprüfung für Hono-APIs
Prüfen Sie Hono-APIs vor dem Deployment: CORS, das jeden Origin samt Credentials zurückspiegelt, Auth-Secrets im Code oder in Wrangler-vars, Request-Daten in raw() oder c.html(), aus Requests gebautes SQL, offene Redirects, fehlendes csrf() und mehr.
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 47.45 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



