Zum Hauptinhalt springen

Befehlsmenü

Zu einer Seite springen oder den Katalog durchsuchen

KI-Tools & -Skripte

Sicherheitsprüfung für NestJS

Prüfen Sie NestJS-Apps vor dem Deployment: TypeORM synchronize, fest codierte JWT-Geheimnisse, SQL aus Template-Strings, Lücken bei ValidationPipe, offenes CORS, fehlendes helmet und Rate-Limiting, zugängliches Swagger sowie Auth-Guards, die Anfragen durchlassen.

$5.00

Das bekommst du: 1 Datei · 57.23 KB · ZIP

Kaufoptionen ansehen

Produktbeschreibung

Ein einziges synchronize: true in TypeOrmModule.forRoot, wie im Dokumentationsbeispiel, erlaubt TypeORM, beim ersten Umbenennen einer Entitätseigenschaft im Produktivbetrieb eine Spalte samt Daten zu löschen. Eine einzige handleRequest-Überschreibung, die den Benutzer ohne Ausnahme zurückgibt, lässt jede Anfrage durch Ihren JwtAuthGuard, mit oder ohne Token. Dieser Skill findet diese und elf weitere NestJS-Fehler vor dem Deployment und zeigt, wie Sie jeden davon beheben.

Ihr Agent führt einen Scanner für Ihren NestJS-Quellcode aus: main.ts, Module, Controller, Guards, Passport-Strategien, TypeORM-Entitäten und -Datenquellen, Services und ormconfig.json. Er kennt die NestJS-Muster (useGlobalPipes und APP_PIPE, APP_GUARD mit ThrottlerGuard, den @Public()-Decorator aus der Dokumentation mit einem globalen JwtAuthGuard, JwtModule.register, ClassSerializerInterceptor mit @Exclude), verfolgt SQL-Text durch die Variablen, die ihn aufbauen, beurteilt jede App eines Monorepos einzeln, überspringt Kommentare und Testdateien und akzeptiert übliche Korrekturen (Abfrageparameter, ParseIntPipe, config.getOrThrow, eine Umgebungsprüfung um Swagger). Das sichere Beispielprojekt, nach den Empfehlungen der NestJS-Dokumentation geschrieben, besteht ohne Befund. Er führt weder Nest noch Ihre App aus. Er liefert BLOCKIEREN, PRÜFEN oder NICHT MARKIERT, jeweils mit Datei, Zeile, Begründung und sichererem Vorgehen. Geheimnisse werden niemals ausgegeben, auch nicht in Zeilen, die eine andere Regel meldet.

Was geprüft wird

BLOCKIEREN (vor der Veröffentlichung beheben)

  • NS01: TypeORM synchronize oder dropSchema auf true oder Sequelize sync mit force oder alter in der App-Konfiguration

  • NS02: fest codierte Geheimnisse (JWT secret oder secretOrKey, jwtConstants, Datenbankpasswörter und Verbindungs-URLs im Code oder in ormconfig.json, feste Ersatzwerte wie process.env.JWT_SECRET || '...')

  • NS03: aus veränderlichen Werten zusammengesetztes SQL (query(), $queryRawUnsafe, QueryBuilder where oder having mit ${...} oder +)

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

  • NS11: fehlende globale ValidationPipe oder eine ohne whitelist: true

  • NS12: @Body() oder @Query() mit dem Typ any, als Interface oder generischer Typ oder als Array ohne ParseArrayPipe

  • NS13: CORS, das Zugangsdaten von jedem Ursprung erlaubt (origin: true oder '*' mit credentials: true)

  • NS14: fehlendes helmet in einer HTTP-App

  • NS15: Swagger UI ohne Umgebungsprüfung oder erzwungenes GraphiQL bzw. erzwungene Introspektion

  • NS16: Login- und andere Authentifizierungsrouten ohne Rate-Limiting (kein eingebundener ThrottlerGuard oder @SkipThrottle)

  • NS17: Guards, die Anfragen durchlassen (handleRequest ohne Ausnahme, canActivate, das nur true zurückgibt, ignoreExpiration: true)

  • NS18: @Public() auf Routen oder Controllern, die Daten erstellen, ändern oder löschen

  • NS19: Passwortspalten, die in Antworten gelangen können (fehlendes select: false oder @Exclude ohne ClassSerializerInterceptor)

  • NS20: Sortierspalten aus Anfragewerten (orderBy(dto.sort), orderByp.${sort})) ohne Prüfung gegen eine Positivliste

Im Lieferumfang

  • Der Scanner (Python 3.9+, nur Standardbibliothek)

  • Ein Regelhandbuch mit Begründung und sichererem Vorgehen zu jeder Regel

  • Ein unsicheres und ein sicheres NestJS-Beispielprojekt (main.ts, App-Modul, Auth-Modul, JWT-Strategie und -Guard, Controller, eine TypeORM-Entität und ein Service) sowie der tatsächliche Scanner-Bericht für das unsichere Beispiel

Grenzen

Der Scanner liest jede Datei einzeln und berücksichtigt bei der Ordnerprüfung einige appweite Fakten (helmet, eine globale Pipe, einen eingebundenen Throttler-Guard, einen Serializer). Zwischen Dateien weitergereichte Werte, anderswo definierte DTO-Klassen, durch Fabriken erzeugte Guards und zur Laufzeit erstellte Optionen werden nicht nachverfolgt. Autorisierung innerhalb von Handlern, CSRF, Mongoose-Abfragen, WebSocket-Gateways und Schwachstellen in Abhängigkeiten werden nicht geprüft. NICHT MARKIERT ist keine Garantie.

Archivinhalt

Eine ZIP-Datei mit 38 Dateien: SKILL.md, der Scanner in scripts/ (6 Python-Dateien), references/rules.md (jede Regel mit Begründung und sichererem Vorgehen) und examples/ (29 Beispieldateien sowie report.md, die tatsächliche Scanner-Ausgabe für das unsichere 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. Entpacken Sie das Archiv in den Skills-Ordner Ihres Agenten (für Claude Code: ~/.claude/skills/) und bitten Sie Ihren Agenten anschließend, Ihr 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 nur Ihre Dateien: kein Netzwerkzugriff, und es wird nichts versendet.

Das bekommst du

1 Datei · 57.23 KB

  • nestjs-safety-check-1.0.0.zipZIP · 57.23 KB

In Getly Pro enthaltenPro holen

LizenzKommerzielle Nutzung erlaubt
Veröffentlicht12. Nov. 2026
Dateigröße57.23 KB
DateiformatZIP
Versionv1.0

Tags

nestjstypescriptbackendapisecurityai 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 57.23 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