code-review-nodejs
Installation
SKILL.md
Node.js / JavaScript security code review
When it applies
Reading Node/JS source (Express, Next.js, NestJS, a package). Language companion to
code-review-methodology — the exact sinks and framework gotchas to grep and trace.
Sinks & patterns (grep, then trace to user input)
- Command exec:
child_process.exec/execSyncwith user input (useexecFile/spawnw/ arg array); template strings in commands. - Code eval:
eval,new Function,vm.runIn…,setTimeout("string")— RCE. - Prototype pollution: recursive merge/
Object.assign/lodash.merge/set,JSON.parseinto object merges, query parsers —__proto__/constructorkeys (→web-prototype-pollution). - SQL/NoSQL: string-built SQL; Mongo queries taking raw
req.body/req.query(operator injection{$gt:''}); Sequelize.query()/literal. - SSRF:
axios/fetch/http.get/requeston a user URL. - Path/upload:
fs.readFile/sendFile/path.joinwith user paths;res.sendFiletraversal. - XSS (server + client):
res.sendof unescaped input; DOM sinksinnerHTML,document.write,dangerouslySetInnerHTML(React),v-html(Vue). - Deserialization:
node-serialize/funcster(unserialize RCE), untrustedJSON→object merge.