Aller au contenu principal

Menu de commandes

Accédez à une page ou recherchez dans le catalogue

Outils et scripts IA

NestJS Safety Check

Cette annonce est affichée dans sa langue d'origine (anglais).

Check NestJS apps before you deploy: TypeORM synchronize, hard-coded JWT secrets, SQL built with template strings, ValidationPipe gaps, open CORS, missing helmet and rate limits, exposed Swagger and auth guards that let requests through.

$5.00

Ce que vous recevez : 1 fichier · 57.23 KB · ZIP

Voir les options d'achat

Description du produit

One synchronize: true left in TypeOrmModule.forRoot, as in the docs example, lets TypeORM drop a column and its data the first time someone renames an entity property in production. One handleRequest override that returns the user without throwing lets every request through your JwtAuthGuard, token or not. This skill finds those and eleven other NestJS mistakes before you deploy, and tells you how to fix each one.

Your agent runs a scanner on your NestJS source: main.ts, modules, controllers, guards, Passport strategies, TypeORM entities and data sources, services and ormconfig.json. It knows the NestJS patterns (useGlobalPipes and APP_PIPE, APP_GUARD with ThrottlerGuard, the docs' @Public() decorator with a global JwtAuthGuard, JwtModule.register, ClassSerializerInterceptor with @Exclude), follows SQL text through the variables that build it, judges each app of a monorepo on its own, skips comments and test files, and accepts the usual fixes (query parameters, ParseIntPipe, config.getOrThrow, an environment check around Swagger). The safe example project, written the way the NestJS docs recommend, passes clean. It never runs Nest or your app. It returns BLOCK, REVIEW, or NOT FLAGGED, with the file, line, reason, and a safer approach. Secrets are never printed, even on lines another rule reports.

What it checks

BLOCK (fix before shipping)

  • NS01: TypeORM synchronize or dropSchema set to true, or Sequelize sync with force or alter, in app config

  • NS02: hard-coded secrets (JWT secret or secretOrKey, jwtConstants, database passwords and connection URLs in code or ormconfig.json, literal fallbacks such as process.env.JWT_SECRET || '...')

  • NS03: SQL built from changing values (query(), $queryRawUnsafe, QueryBuilder where or having with ${...} or +)

REVIEW (check before release)

  • NS11: no global ValidationPipe, or one without whitelist: true

  • NS12: @Body() or @Query() typed any, as an interface or generic, or as an array without ParseArrayPipe

  • NS13: CORS that allows credentials from any origin (origin: true or '*' with credentials: true)

  • NS14: no helmet in an HTTP app

  • NS15: Swagger UI with no environment check, or GraphiQL or introspection forced on

  • NS16: login and other auth routes without rate limiting (no ThrottlerGuard bound, or @SkipThrottle)

  • NS17: guards that let requests through (handleRequest that never throws, canActivate that only returns true, ignoreExpiration: true)

  • NS18: @Public() on routes or controllers that create, change or delete data

  • NS19: password columns that can end up in responses (no select: false, or @Exclude without ClassSerializerInterceptor)

  • NS20: sort columns taken from request values (orderBy(dto.sort), orderByp.${sort})) with no allow-list check

What's included

  • The scanner (Python 3.9+, standard library only)

  • A rules guide with the reason and safer approach for each rule

  • A risky and a safe example NestJS project (main.ts, app module, auth module, JWT strategy and guard, controllers, a TypeORM entity and a service), and the real report the scanner produces on the risky one

Limits

It reads each file on its own, plus a few app-wide facts (helmet, a global pipe, a bound throttler guard, a serializer) when you check a folder. Values passed between files, DTO classes defined elsewhere, guards built by factories and options built at run time are not followed. Authorization inside handlers, CSRF, Mongoose queries, WebSocket gateways and dependency vulnerabilities are not checked. NOT FLAGGED is not a guarantee.

Contents

One ZIP file with 38 files: SKILL.md, the scanner in scripts/ (6 Python files), references/rules.md (every rule with its reason and safer approach), and examples/ (29 example files plus report.md, the real scanner output on the risky example).

How to use: This is an agent skill: a folder with a SKILL.md file and Python scripts that an AI coding agent such as Claude Code, Cursor, or Codex CLI can run. Unzip it into your agent's skills folder (for Claude Code: ~/.claude/skills/), then ask your agent to check your project. The scripts also run on their own with Python 3.9 or newer, with nothing to install. They read your files only: no network access, and nothing is sent anywhere.

Ce que vous recevez

1 fichier · 57.23 KB

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

Inclus dans Getly ProPasser à Pro

LicenceUsage commercial autorisé
Publié12 nov. 2026
Taille du fichier57.23 KB
Format du fichierZIP
Versionv1.0

Tags

nestjstypescriptbackendapisecurityai agent skill
R
RR HH

Questions fréquentes

Ai-je accès au produit immédiatement ?

Oui. C'est un produit numérique : vous pouvez le télécharger juste après le paiement, directement depuis votre bibliothèque.

Puis-je l'utiliser pour des projets commerciaux ?

Oui. L'usage commercial est autorisé : utilisez-le dans votre propre activité et dans ce que vous vendez. Vous ne pouvez pas revendre ni redistribuer le fichier lui-même.

Quelle est votre politique de remboursement ?

Vous pouvez demander un remboursement dans un délai de 30 jours. Si quelque chose ne va pas, demandez-le depuis votre commande et l'équipe Getly l'examine.

Quels formats et quelles tailles de fichier vais-je recevoir ?

Vous téléchargerez 1 fichier - ZIP - 57.23 KB au total.

Ai-je droit aux mises à jour gratuites ?

Oui : quand le vendeur publie une nouvelle version, vous pouvez retélécharger les derniers fichiers depuis votre bibliothèque sans frais. Consultez le journal des modifications pour les dernières mises à jour.

Prix

$5.00