Learning to Triage Taint Flows Reported by Dynamic Program Analysis in Node.js Packages

Ronghao Ni, Aidan Z. H. Yang, Min-Chien Hsu, Nuno Sabino, Limin Jia +3 more
10/23/2025
cs.CRcs.LGcs.SE

No confident code implementation found for this paper. 2 possible matches can be shown below.

Abstract

Program analysis tools often produce large volumes of candidate vulnerability reports that require costly manual review, creating a practical challenge: how can security analysts prioritize the reports most likely to be true vulnerabilities? This paper investigates whether machine learning can be applied to prioritizing vulnerabilities reported by program analysis tools. We focus on Node.js packages and collect a benchmark of 1,883 Node.js packages, each containing one reported ACE or ACI vulnerability. We evaluate a variety of machine learning approaches, including classical models, graph neural networks (GNNs), large language models (LLMs), and hybrid models that combine GNN and LLMs, trained on data based on a dynamic program analysis tool's output. The top LLM achieves $F_{1} {=} 0.915$, while the best GNN and classical ML models reaching $F_{1} {=} 0.904$. At a less than 7% false-negative rate, the leading model eliminates 66.9% of benign packages from manual review, taking around 60 ms per package. If the best model is tuned to operate at a precision level of 0.8 (i.e., allowing 20% false positives amongst all warnings), our approach can detect 99.2% of exploitable taint flows while missing only 0.8%, demonstrating strong potential for real-world vulnerability triage.

View on arXivView PDF

Code Implementations

No confident code match yet

We couldn't find an author-owned or strongly-evidenced community implementation for this paper. 2 weaker matches are hidden by default — verify before relying on them.

No code implementations found yet.

Know of an implementation? Let us know in the comments below!

Similar Papers

Cite this paper

@article{ni2025learning,
  title  = {Learning to Triage Taint Flows Reported by Dynamic Program Analysis in Node.js Packages},
  author = {Ronghao Ni and Aidan Z. H. Yang and Min-Chien Hsu and Nuno Sabino and Limin Jia and Ruben Martins and Darion Cassel and Kevin Cheang},
  year   = {2025},
  eprint = {2510.20739},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2510.20739v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2510.20739.svg)](https://codeofpaper.com/paper/2510.20739)

Discussion