Audit de sécurité Node.js

VérifiéPrudence

Effectue une revue de sécurité des applications Node.js en détectant les vulnérabilités courantes comme les injections de commande, SSRF, injections SQL et traversées de chemin. Supporte les frameworks Express, Koa et NestJS. Utile pour identifier les failles avant le déploiement et appliquer des correctifs via les ressources intégrées (checklist, exemples de correction).

Spar Skills Guide Bot
SecuriteIntermédiaire
01/03/2026
Claude Code
#nodejs#security-audit#ssrf#sql-injection#code-review

Recommandé pour

Synthèse automatique

Effectue une revue de sécurité statique du code Node.js (Express/Koa/NestJS) en recherchant RCE, SSRF, injections SQL/NoSQL, traversée de chemin et faiblesses d'authentification.

Points forts

  • Couvre six dimensions précises et propres à Node : validation d'entrée, exécution de commandes (exec/spawn, shell: true), opérations fichiers (ZipSlip), SSRF avec blocage des réseaux privés et DNS rebinding, SQL/NoSQL et mass assignment, JWT et sessions
  • Trie les constats en trois niveaux (🔴 critique bloquant la release, 🟡 moyen, ⚪ suggestion) avec une consigne d'action claire pour chacun
  • S'appuie sur des ressources chargées à la demande : checklist complète, exemples de correctifs et grille de notation
  • Propose trois modes d'usage simples : scan global du répertoire src, audit d'un fichier précis, ou rapport détaillé noté

Limites

  • Analyse par lecture de code uniquement : ne couvre ni les dépendances vulnérables (pas d'équivalent npm audit) ni les failles de configuration à l'exécution
  • Les résultats restent des pistes à confirmer manuellement, avec un risque de faux positifs sur du code volontairement dynamique
  • Utilisable seulement dans Claude Code, car le déclenchement passe par une commande slash et des URI skill://
Quand l'utiliser

À utiliser avant une mise en production ou lors d'une revue de PR sur une API Node.js afin d'obtenir rapidement une liste hiérarchisée de vulnérabilités candidates.

Quand l'éviter

À ne pas utiliser comme unique contrôle de sécurité : il ne remplace ni l'audit des dépendances, ni un test d'intrusion, ni un scan DAST.

Analyse de sécurité

Prudence
Score qualité82/100

The skill is a defensive Node.js security audit guide and contains no destructive, exfiltration, obfuscation, or safety-disabling instructions. However, it explicitly allows `Shell`, so execution risk is non-zero and should be treated as a powerful-tool capability used for legitimate scanning purposes.

Points d'attention
  • •Declares `Shell` tool access, which gives the skill command-execution capability even though the visible instructions are benign.
  • •The quick-start examples use slash-command syntax that could be misinterpreted or expanded by an agent; no explicit command allowlist or scope limitation is provided.
Comment cette analyse est faite

Exemples

Full source scan
/nodejs-security-check — 扫描 src 目录,重点看命令执行、SSRF 和 SQL 注入风险
Audit one upload route
/nodejs-security-check file src/routes/upload.js — 检查这个上传接口有没有路径穿越或 ZipSlip 问题
Generate a scored report
/nodejs-security-check report — 生成一份带严重级别、修复建议和评分的完整报告

id: sec-nodejs-check name: Node.js 安全审查 category: security description: 检查 RCE、SSRF、SQL 注入、路径穿越等安全问题,支持 Express/Koa/NestJS tags: [security, nodejs, backend, ssrf, sql-injection] updated_at: 2026-01-20 allowed-tools: [Read, Grep, Glob, Shell]

Node.js 安全审查

⚠️ 核心规则

  1. 永不信任用户输入 - 所有请求数据须 Schema 验证
  2. 安全默认 - 使用安全 API(execFile 而非 exec)
  3. 纵深防御 - 输入验证 + 参数化查询 + 输出编码

快速开始

/nodejs-security-check                    # 智能扫描 src 目录
/nodejs-security-check file src/xxx.js    # 扫描指定文件
/nodejs-security-check report             # 生成详细报告

问题分级

| 前缀 | 含义 | 处理方式 | |------|------|----------| | 🔴 严重 | 可被直接利用 | 阻止发布 | | 🟡 中等 | 需特定条件 | 尽快修复 | | ⚪ 建议 | 最佳实践 | 可选优化 |

检查维度

| 维度 | 检查项 | |------|--------| | 输入验证 | Schema 验证、HPP 防护、请求体限制 | | 命令执行 | exec/spawn 注入、shell: true | | 文件操作 | 路径穿越、上传安全、ZipSlip | | 网络请求 | SSRF、私网阻断、DNS 重绑定 | | 数据库 | SQL 注入、NoSQL 注入、Mass Assignment | | 认证授权 | JWT 算法、会话安全、权限校验 |

📦 按需加载资源

| 资源 | URI | |-----|-----| | 完整检查清单 | skill://nodejs-security-check/references/checklist.md | | 修复示例 | skill://nodejs-security-check/references/fix-examples.md | | 评分标准 | skill://nodejs-security-check/references/scoring-standard.md |


📦 可用资源

  • skill://nodejs-security-check/references/checklist.md
  • skill://nodejs-security-check/references/fix-examples.md
  • skill://nodejs-security-check/references/report-format.md
  • skill://nodejs-security-check/references/scoring-standard.md
  • skill://nodejs-security-check/references/security-toolkit.md

根据 SKILL.md 中的 IF-THEN 规则判断是否需要加载

Du fichier au premier essai

Le téléchargement contient exactement le contenu affiché sur cette fiche. Cette copie peut différer de la dernière version du dépôt source.

Consulter la source et ses fichiers annexes

Ce téléchargement contient uniquement SKILL.md. Les scripts, références, modèles et dépendances éventuels ne sont pas inclus. Récupérez les fichiers nécessaires depuis la source en conservant leur arborescence avant de poursuivre.

1. Télécharger le fichier

Télécharger SKILL.md

Depuis la racine d’un projet de test, enregistrez le fichier sous .skill-downloads/node-js-security-audit-mm78nnn1/SKILL.md, ou utilisez la commande suivante. Ce dossier sert à examiner la skill avant son installation.

Commande pour macOS/Linux ou WSL : un shell POSIX et curl sont nécessaires. Sous Windows sans WSL, utilisez le bouton de téléchargement et créez le dossier manuellement.

mkdir -p '.skill-downloads/node-js-security-audit-mm78nnn1' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/node-js-security-audit-mm78nnn1/download' --output '.skill-downloads/node-js-security-audit-mm78nnn1/SKILL.md.part' && mv '.skill-downloads/node-js-security-audit-mm78nnn1/SKILL.md.part' '.skill-downloads/node-js-security-audit-mm78nnn1/SKILL.md'

2. Vérifier les prérequis

Lisez SKILL.md avant de l’utiliser. Si le fichier cite des scripts ou services externes, examinez-les et préparez les accès nécessaires dans votre environnement de test.

Aucune section de prérequis reconnue dans ce fichier. Cela ne signifie pas qu’il est autonome : les bibliothèques, outils et accès peuvent être cités ailleurs dans le contenu ou dans le dépôt source.

Les plateformes de la fiche sont des indications du catalogue. Les chemins ci-dessous suivent la documentation des outils ; ils ne prouvent pas que cette skill y a été exécutée. Aucune version minimale de ces outils n’est attestée pour cette fiche.

3. Charger la skill

Le fichier ne fournit pas un en-tête name/description exploitable pour cette procédure native. Le téléchargement reste disponible pour lecture ; utilisez le mode manuel ci-dessous.

Mode manuel ou autre outil : joignez SKILL.md à une conversation, ou ouvrez-le dans un agent capable de lire les fichiers. Ajoutez les ressources annexes nécessaires. Il n’existe pas de dossier universel reconnu par tous les outils.

4. Faire un premier essai

Utilisez une entrée courte et fictive : un endpoint d’API, un petit document ou un brief d’interface. Dans une nouvelle conversation, joignez le fichier ou donnez son chemin à l’agent, puis adaptez cette demande :

Lis .skill-downloads/node-js-security-audit-mm78nnn1/SKILL.md et applique ses instructions à cet exemple : [décrire une entrée de test]. Indique les fichiers, dépendances ou accès qui manquent. Produis le résultat demandé par la skill sans inventer de données ni exécuter de script non examiné.

Résultat attendu : une sortie correspondant aux instructions de la skill, ou une liste précise des prérequis manquants. Une simple confirmation de lecture ne valide pas le premier usage. Si une ressource externe est indisponible, ce parcours reste à tester.

Skills similaires