nodejs-backend-patterns
Guides on building production-ready Node.js backend services with best practices for APIs, authentication, and database integration.
Install this skill
Security score
The nodejs-backend-patterns skill was audited on Mar 8, 2026 and we found 31 security issues across 2 threat categories. Review the findings below before installing.
Categories Tested
Security Issues
Template literal with variable interpolation in command context
| 46 | console.log(`${req.method} ${req.path}`); |
Template literal with variable interpolation in command context
| 52 | console.log(`Server running on port ${PORT}`); |
Template literal with variable interpolation in command context
| 284 | .map((field, idx) => `${field} = $${idx + 2}`) |
Template literal with variable interpolation in command context
| 287 | const query = ` |
Template literal with variable interpolation in command context
| 328 | throw new Error(`No factory registered for ${key}`); |
Template literal with variable interpolation in command context
| 555 | duration: `${duration}ms`, |
Template literal with variable interpolation in command context
| 954 | const cacheKey = `${propertyKey}:${JSON.stringify(args)}`; |
Access to .env file
| 37 | app.use(cors({ origin: process.env.ALLOWED_ORIGINS?.split(",") })); |
Access to .env file
| 50 | const PORT = process.env.PORT || 3000; |
Access to .env file
| 68 | level: process.env.LOG_LEVEL || "info", |
Access to .env file
| 351 | host: process.env.DB_HOST, |
Access to .env file
| 352 | port: parseInt(process.env.DB_PORT || "5432"), |
Access to .env file
| 353 | database: process.env.DB_NAME, |
Access to .env file
| 354 | user: process.env.DB_USER, |
Access to .env file
| 355 | password: process.env.DB_PASSWORD, |
Access to .env file
| 418 | const payload = jwt.verify(token, process.env.JWT_SECRET!) as JWTPayload; |
Access to .env file
| 499 | host: process.env.REDIS_HOST, |
Access to .env file
| 500 | port: parseInt(process.env.REDIS_PORT || "6379"), |
Access to .env file
| 534 | level: process.env.LOG_LEVEL || "info", |
Access to .env file
| 651 | process.env.NODE_ENV === "production" |
Access to .env file
| 680 | host: process.env.DB_HOST, |
Access to .env file
| 681 | port: parseInt(process.env.DB_PORT || "5432"), |
Access to .env file
| 682 | database: process.env.DB_NAME, |
Access to .env file
| 683 | user: process.env.DB_USER, |
Access to .env file
| 684 | password: process.env.DB_PASSWORD, |
Access to .env file
| 717 | await mongoose.connect(process.env.MONGODB_URI!, { |
Access to .env file
| 867 | process.env.REFRESH_TOKEN_SECRET!, |
Access to .env file
| 888 | return jwt.sign(payload, process.env.JWT_SECRET!, { |
Access to .env file
| 894 | return jwt.sign(payload, process.env.REFRESH_TOKEN_SECRET!, { |
Access to .env file
| 908 | host: process.env.REDIS_HOST, |
Access to .env file
| 909 | port: parseInt(process.env.REDIS_PORT || "6379"), |