← Accueil · Stacks & langages · Toute la doc
Node.js sur Outscale
Express, Fastify, NestJS, Next.js : l’écosystème Node.js fait tourner une bonne part des API et des fronts modernes. Sur Outscale, bige-ops le pose en mono-VM, en multi-VM derrière un LBU ou sur OKS, chiffre la stack au catalogue public et lit tes dépôts pour trouver les pages et les API accessibles sans connexion, et les bibliothèques qui ont une faille connue.
nodejs dans bige-ops : API sur le port 3001, front sur le 3000, 512 MiB par service par défaut. C’est le langage que bige-ops analyse le plus en détail : routes de huit frameworks back, failles côté navigateur (React, Vue, Svelte) et bibliothèques npm comparées aux failles connues.
Frameworks et bibliothèques
bige-ops reconnaît ces frameworks dans ton package.json et dans le code : chacun a son module de détection de routes.
Express
Le socle minimaliste de l’écosystème : middlewares, app.get(), router.route(). bige-ops repère les routes déclarées sur app et router, y compris en TypeScript ; les réponses qui renvoient telles quelles les données envoyées par l’utilisateur sont transmises à l’audit approfondi.
documentation officielle · Express sur OpenCVE
Fastify
Le framework orienté performance et schémas JSON. Routes courtes (fastify.get), .route({ url, method }) et préfixes de plugins (register(plugin, { prefix })) sont détectés ; preHandler et onRequest comptent comme une vérification de connexion.
documentation officielle · Fastify sur OpenCVE
Hono
Léger, standard Web, multi-runtime. app.get(), app.on(['GET','POST'], path) et basePath() sont lus.
documentation officielle · Hono sur OpenCVE
Koa
Le successeur minimaliste d’Express, tout en middlewares async ; ses routeurs (router.get()) sont détectés.
documentation officielle · Koa sur OpenCVE
LoopBack
Framework d’API orienté OpenAPI. Les décorateurs LoopBack 4 (@get, @post, @operation) deviennent des routes.
documentation officielle · LoopBack sur OpenCVE
NestJS
L’architecture modulaire et typée des équipes produit. @Controller() donne le préfixe, @Get() / @Post() les routes ; @UseGuards() marque une route protégée (connexion exigée), @Public une route ouverte à tous, et un contrôleur sans guard visible ressort pour l’audit.
documentation officielle · NestJS sur OpenCVE
Next.js
Le framework React full-stack. Les route handlers (app/**/route.ts) et les routes pages/api sont lus depuis l’arborescence ; une route API Next.js est marquée « à vérifier » : à toi de confirmer qu’elle exige une connexion.
documentation officielle · Next.js sur OpenCVE
tRPC
Des API typées de bout en bout sans schéma séparé. Les routeurs tRPC sont lus ; protectedProcedure et publicProcedure disent qui est protégé.
documentation officielle · tRPC sur OpenCVE
React, Vue, Svelte
Côté front, bige-ops cherche le code injecté qui s’exécute dans le navigateur de tes utilisateurs (XSS) : dangerouslySetInnerHTML (React, Next.js), v-html (Vue), {@html} (Svelte) et les affectations innerHTML. Docs : Vue, Svelte.
documentation officielle · React sur OpenCVE · Vue sur OpenCVE · Svelte sur OpenCVE
Faire tourner Node.js sur Outscale avec bige-ops
Dans bige-ops, le runtime nodejs donne une API sur le port 3001 et un front sur le 3000 (512 MiB chacun), construits depuis le Dockerfile de ton dépôt. Le front peut être une SPA servie par Node (--web spa), le même runtime que l’API (--web same, typique de Next.js) ou absent.
| Topologie | Sur Outscale | Pour |
|---|---|---|
single-vm | une VM {name}-all avec IP publique : apps et bases en Docker Compose | prototype, démo, environnement de test |
multi-vm | VM app en subnet public derrière un LBU, une VM privée par base (security groups au CIDR du Net), NAT pour la sortie | la production simple et lisible |
oks | cluster OKS (control plane managé + nodepools), un Deployment par service, Service LoadBalancer → LBU | le scale horizontal, les microservices, l’HPA |
bige-ops add layout custom --runtime nodejs --web same --worker \ --db postgres --db redis --topology multi-vm --lbu bige-ops estimate --json
Le layout nommé node-app pose directement une stack Node prod-like (MongoDB, Redis, Weaviate, LBU) ; node-lite reste le démarrage le plus rapide. Détail : layouts & topologies.
Ce que bige-ops vérifie dans ton code Node.js
Des failles, il y en aura toujours : l’important est de voir d’abord celles qui sont exposées. Sans clé ni IA (le « mode direct »), bige-ops lit le code JavaScript et TypeScript de tes dépôts sur ton poste et croise trois analyses.
- Les pages et les API exposées : un module par framework (Express, Fastify, Hono, Koa, LoopBack, NestJS, Next.js, tRPC). Pour chaque route, bige-ops regarde si le code juste à côté vérifie la connexion (passport, JWT, session, guards,
preHandler,protectedProcedure…). Une route marquée publique, ou une route sensible (/admin,/account,/payment,/billing…) sans vérification visible, ressort comme « page ou API accessible sans être connecté », en priorité haute pour l’admin et le paiement. - Les erreurs classiques : mots de passe ou clés écrits en clair dans le code ; exécution de commandes construites avec des données externes ; requête à la base construite avec ce que tape l’utilisateur (injection SQL) ; API ouverte à n’importe quel site ; vérification des certificats HTTPS désactivée ; code injecté qui s’exécute dans le navigateur de tes utilisateurs (XSS) ; redirection vers n’importe quel site ; lecture de fichiers hors du dossier prévu.
- Tes bibliothèques npm : les
dependencies,optionalDependenciesetpeerDependenciesde chaquepackage.jsonsont comparées à la base publique des failles connues des bibliothèques open source (OSV), avec le numéro de la faille dans le registre mondial des vulnérabilités (CVE) quand il existe.
Avec ta clé OpenCVE, l’image node de tes Dockerfile est comparée aux failles connues de Node.js sur OpenCVE ; une image en latest est signalée. Les tests, specs et suites e2e sont écartés pour éviter les fausses alertes.
Tout est ensuite classé par urgence : ce qui est exposé à Internet d’abord. Pourquoi le refaire toi-même ? C’est chez toi, sur ton poste, et c’est gratuit. En option, l’audit approfondi de bige-ops advanced relit ces pistes avec ta propre clé d’IA, écarte les fausses alertes et classe chaque faille par type, selon le catalogue de référence (CWE). La méthode complète : ce que bige-ops vérifie.
Bases de données typiques
Les drivers et ORM Node (Mongoose, Prisma, Sequelize, ioredis, BullMQ) couvrent toutes les bases du catalogue bige-ops.
| Base | Avec ce langage | Failles connues |
|---|---|---|
| PostgreSQL | Prisma, TypeORM, Drizzle ; Prisma est le plus courant avec NestJS. Stack : Next.js + NestJS + PostgreSQL + Redis + OOS. | fiche OpenCVE |
| MongoDB | le duo historique avec Mongoose. Stack : Express + MongoDB + Redis + BullMQ sur OKS. | fiche OpenCVE |
| Redis | cache, sessions et files BullMQ. Stack : Express + MongoDB + Redis + BullMQ sur OKS. | fiche OpenCVE |
| MySQL / MariaDB | Prisma, Sequelize, Knex. | fiche OpenCVE |
Règle d’or, quelle que soit la base : jamais exposée à Internet. En multi-VM elle vit dans le subnet privé, sans IP publique, derrière un security group limité au CIDR du Net ; sur OKS elle reste un Service interne (ClusterIP). Détail : réseau · ouvrir ou non et bases de données.
Versions à épingler
En production, Node.js recommande une version LTS : aujourd’hui Node.js 24 (LTS active) ou 22 (LTS de maintenance) ; Node.js 26 est en phase Current et Node.js 20 n’est plus maintenu. Épingle la majeure dans ton Dockerfile (FROM node:24-alpine) plutôt que node:latest. Calendrier : versions de Node.js · Failles connues du runtime : Node.js sur OpenCVE.
OpenCVE, la source des failles connues
Pour savoir quelles failles connues touchent les briques de ta stack, bige-ops s’appuie sur OpenCVE. OpenCVE rassemble les failles publiées dans le registre mondial des vulnérabilités (CVE) et ses sources officielles (NVD, MITRE, liste KEV des failles déjà exploitées tenue par la CISA, l’agence américaine de cybersécurité…), donne à chacune sa note de gravité sur 10 (CVSS) et sa probabilité d’être exploitée (EPSS), et les range par éditeur et par produit, consultables dans son explorateur. Le projet est open source : son code, ses issues et les contributions de sa communauté vivent sur GitHub, et il s’installe aussi chez toi. Merci à ses mainteneurs et à tous ceux qui font vivre ce référentiel : c’est grâce à eux que chaque composant de ta simulation a sa fiche de failles à jour.
Stacks Node.js chiffrées
- Next.js + NestJS + PostgreSQL + Redis + OOS (428,06 € HT/mois estimés)
- Express + MongoDB + Redis + BullMQ sur OKS (457,65 € HT/mois estimés)
Docs officielles
Pour aller plus loin : layouts & topologies, VMs, OKS, volumes BSU, OOS, LBU, réseau, régions, bases de données, catalogue de prix. Toutes les stacks : stacks & langages.