Zum Hauptinhalt springen

Befehlsmenü

Zu einer Seite springen oder den Katalog durchsuchen

KI-Tools & -Skripte

Prüfung von Prisma-Schemas

Prüfe Prisma-Projekte vor der Auslieferung: Datenbankpasswörter im Schema oder in prisma.config.ts, aus Strings aufgebautes $queryRawUnsafe, migrate reset oder db push --accept-data-loss beim Deployment, req.body als data und Schemafehler.

$5.00

Das bekommst du: 1 Datei · 42.42 KB · ZIP

Kaufoptionen ansehen

Produktbeschreibung

prisma.$queryRawUnsafeSELECT * FROM "Order" WHERE status = '${status}') sieht aus wie das sichere Tagged Template, setzt den Wert aber direkt in SQL ein. Ein Build-Skript mit prisma db push --accept-data-loss löscht beim nächsten Deployment Spalten. Dieser Skill findet diese und zwölf weitere Prisma-Fehler vor der Auslieferung und erklärt dir, wie du jeden davon behebst.

Dein Agent führt einen Scanner für dein Prisma-Schema (schema.prisma oder einen mehrteiligen prisma/schema-Ordner), prisma.config.ts, den JavaScript- und TypeScript-Code mit Prisma Client und die Skripte in package.json aus. Er überspringt Kommentare, unterscheidet das getaggte $queryRaw-Template von einem an $queryRawUnsafe übergebenen Template-String, verfolgt eine SQL-Variable bis zu ihrer Erstellung in der Datei zurück, folgt npm run von einem Skript zum nächsten und liest relationMode aus der Schemadatei mit dem datasource-Block. Er führt weder Prisma noch deinen Code aus und verbindet sich mit keiner Datenbank. Das Ergebnis lautet BLOCK, REVIEW oder NOT FLAGGED, jeweils mit Datei, Zeile, Begründung und einem sichereren Vorgehen. Passwörter und API-Schlüssel werden nie ausgegeben.

Was geprüft wird

BLOCKIEREN (vor der Auslieferung beheben)

  • P01: ein Datenbankpasswort oder Accelerate-api_key für einen entfernten Host im Schema, in prisma.config.ts oder einer Verbindungszeichenfolge von PrismaClient oder einem Treiberadapter

  • P02: $queryRawUnsafe oder $executeRawUnsafe mit SQL aus ${...}, + oder += sowie Prisma.raw() mit zusammengesetzten Strings oder Werten aus Anfragen

  • P03: prisma migrate reset, db push --force-reset oder db push --accept-data-loss in einem Build-, Start-, Deployment- oder Installationsskript

  • P04: req.body, req.query oder await request.json(), vollständig als data, where, orderBy, include oder select in einer Route ohne Validator übergeben

PRÜFEN (vor der Veröffentlichung prüfen)

  • P11: als Float gespeicherte Geldfelder (price, amount, total, balance)

  • P12: Passwortfelder, deren Name nicht erkennen lässt, dass sie einen Hash enthalten

  • P13: Relationsfelder ohne Index bei relationMode = "prisma"

  • P14: String-IDs ohne @default

  • P15: email ohne @unique in Benutzer-, Konto- und Kundenmodellen

  • P16: onDelete: Cascade von einem Benutzer oder einer Organisation auf Bestellungen, Rechnungen, Zahlungen oder Audit-Einträge

  • P17: direktes SQL aus einem Wert, der in der Datei nicht als fester String erkennbar ist, oder zusammengesetztes SQL, dessen Werte als $1-Parameter übergeben werden

  • P18: prisma migrate dev oder db push in einem Deployment-Skript

  • P19: ein vollständiges Anfrageobjekt in einer Datenbankabfrage innerhalb einer Route, die zuvor einen Validator ausführt (prüfe, ob die Abfrage das validierte Ergebnis nutzt)

  • P20: ein in einer Datei gespeichertes Datenbankpasswort für localhost, etwa als DATABASE_URL-Fallback

Im Lieferumfang

  • Der Scanner (Python 3.9+, nur Standardbibliothek)

  • Ein Regelhandbuch mit Begründung und sichererem Vorgehen für jede Regel

  • Ein riskantes und ein sicheres Prisma-7-Beispielprojekt (Schema, prisma.config.ts, Express-Routen, package.json) sowie der tatsächliche Scannerbericht zum riskanten Projekt

Grenzen

Er liest jede Datei so, wie sie vorliegt: In einer Datei aufgebautes und in einer anderen ausgeführtes SQL, .env-Dateien, Migrations-SQL, Dockerfiles und CI-Dateien werden nicht nachverfolgt. Testdateien, Seed-Skripte und generierte Prisma-Client-Ordner werden übersprungen. Die laufende Datenbank wird nicht geprüft. NOT FLAGGED ist keine Garantie.

Inhalt

Ein ZIP-Archiv mit 18 Dateien: SKILL.md, der Scanner unter scripts/ (5 Python-Dateien), references/rules.md (jede Regel mit Begründung und sichererem Vorgehen) und examples/ (10 Beispieldateien sowie report.md, die tatsächliche Scannerausgabe zum riskanten Beispiel).

Anwendung: Dies ist ein Agenten-Skill: ein Ordner mit einer SKILL.md-Datei und Python-Skripten, die ein KI-Programmieragent wie Claude Code, Cursor oder Codex CLI ausführen kann. Entpacke das Archiv in den Skills-Ordner deines Agenten (für Claude Code: ~/.claude/skills/). Bitte deinen Agenten anschließend, dein Projekt zu prüfen. Die Skripte lassen sich auch eigenständig mit Python 3.9 oder neuer ausführen, ohne zusätzliche Installation. Sie lesen ausschließlich deine Dateien: kein Netzwerkzugriff und keine Datenübertragung.

Das bekommst du

1 Datei · 42.42 KB

  • prisma-schema-check-1.0.0.zipZIP · 42.42 KB

In Getly Pro enthaltenPro holen

LizenzKommerzielle Nutzung erlaubt
Veröffentlicht11. Nov. 2026
Dateigröße42.42 KB
DateiformatZIP
Versionv1.0

Tags

prismaormdatabasesql-injectionsecurityai agent skill
R
RR HH

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 42.42 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