Share your thoughts, 1 month free Claude Pro on usSee more
WorkDL logo mark

Taint-Style Vulnerability Detection and Confirmation for Node.js Packages Using LLM Agent Reasoning

About

The rapidly evolving Node$.$js ecosystem currently includes millions of packages and is a critical part of modern software supply chains, making vulnerability detection of Node$.$js packages increasingly important. However, traditional program analysis struggles in this setting because of dynamic JavaScript features and the large number of package dependencies. Recent advances in large language models (LLMs) and the emerging paradigm of LLM-based agents offer an alternative to handcrafted program models. This raises the question of whether an LLM-centric, tool-augmented approach can effectively detect and confirm taint-style vulnerabilities (e.g., arbitrary command injection) in Node$.$js packages. We implement LLMVD$.$js, a multi-stage agent pipeline to scan code, propose vulnerabilities, generate proof-of-concept exploits, and validate them through lightweight execution oracles; and systematically evaluate its effectiveness in taint-style vulnerability detection and confirmation in Node$.$js packages without dedicated static/dynamic analysis engines for path derivation. For packages from public benchmarks, LLMVD$.$js confirms 84% of the vulnerabilities, compared to less than 22% for prior program analysis tools. It also outperforms a prior LLM-program-analysis hybrid approach while requiring neither vulnerability annotations nor prior vulnerability reports. When evaluated on a set of 260 recently released packages (without vulnerability groundtruth information), traditional tools produce validated exploits for few ($\leq 2$) packages, while LLMVD$.$js generates validated exploits for 36 packages.

Ronghao Ni, Mihai Christodorescu, Limin Jia• 2026

Related benchmarks

TaskDatasetResultRank
Vulnerability detection and confirmationSecBench.js
Detection Count365
23
Vulnerability detection and confirmationVulcaN
Detection129
23
Code Injection detection and exploitationWild npm registry (crawled)
Detected Count20
4
Command Injection detection and exploitationWild npm registry (crawled)
Detected Count28
4
Code Injection detection and exploitationNodeMedic (private)
Detected Count128
4
Command Injection detection and exploitationNodeMedic (private)
Detection Success Count129
4
Path Traversal detection and exploitationWild npm registry (crawled)
Detected Count44
3
Prototype Pollution detection and exploitationWild npm registry (crawled)
Detected Count20
3
Vulnerability Exploit GenerationSecBench.js Path Traversal
Exploit Count116
2
Vulnerability Exploit GenerationSecBench.js Command Injection
Exploit Success Rate67
2
Showing 10 of 13 rows

Other info

Follow for update