YASA: Scalable Multi-Language Taint Analysis on the Unified AST at Ant Group

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Wang, Yayi, Wang, Shenao, Zhao, Jian, Shi, Shaosen, Li, Ting, Cheng, Yan, Bian, Lizhong, Yu, Kan, Zhao, Yanjie, Wang, Haoyu
Format: Preprint
Published: 2026
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866912997328289792
author Wang, Yayi
Wang, Shenao
Zhao, Jian
Shi, Shaosen
Li, Ting
Cheng, Yan
Bian, Lizhong
Yu, Kan
Zhao, Yanjie
Wang, Haoyu
author_facet Wang, Yayi
Wang, Shenao
Zhao, Jian
Shi, Shaosen
Li, Ting
Cheng, Yan
Bian, Lizhong
Yu, Kan
Zhao, Yanjie
Wang, Haoyu
contents Modern enterprises increasingly adopt diverse technology stacks with various programming languages, posing significant challenges for static application security testing (SAST). Existing taint analysis tools are predominantly designed for single languages, requiring substantial engineering effort that scales with language diversity. While multi-language tools like CodeQL, Joern, and WALA attempt to address these challenges, they face limitations in intermediate representation design, analysis precision, and extensibility, which make them difficult to scale effectively for large-scale industrial applications at Ant Group. To bridge this gap, we present YASA (Yet Another Static Analyzer), a unified multi-language static taint analysis framework designed for industrial-scale deployment. Specifically, YASA introduces the Unified Abstract Syntax Tree (UAST) that provides a unified abstraction for compatibility across diverse programming languages. Building on the UAST, YASA performs point-to analysis and taint propagation, leveraging a unified semantic model to manage language-agnostic constructs, while incorporating language-specific semantic models to handle other unique language features. When compared to 6 single- and 2 multi-language static analyzers on an industry-standard benchmark, YASA consistently outperformed all baselines across Java, JavaScript, Python, and Go. In real-world deployment within Ant Group, YASA analyzed over 100 million lines of code across 7.3K internal applications. It identified 314 previously unknown taint paths, with 92 of them confirmed as 0-day vulnerabilities. All vulnerabilities were responsibly reported, with 76 already patched by internal development teams, demonstrating YASA's practical effectiveness for securing large-scale industrial software systems.
format Preprint
id arxiv_https___arxiv_org_abs_2601_17390
institution arXiv
publishDate 2026
record_format arxiv
spellingShingle YASA: Scalable Multi-Language Taint Analysis on the Unified AST at Ant Group
Wang, Yayi
Wang, Shenao
Zhao, Jian
Shi, Shaosen
Li, Ting
Cheng, Yan
Bian, Lizhong
Yu, Kan
Zhao, Yanjie
Wang, Haoyu
Software Engineering
Cryptography and Security
Programming Languages
Modern enterprises increasingly adopt diverse technology stacks with various programming languages, posing significant challenges for static application security testing (SAST). Existing taint analysis tools are predominantly designed for single languages, requiring substantial engineering effort that scales with language diversity. While multi-language tools like CodeQL, Joern, and WALA attempt to address these challenges, they face limitations in intermediate representation design, analysis precision, and extensibility, which make them difficult to scale effectively for large-scale industrial applications at Ant Group. To bridge this gap, we present YASA (Yet Another Static Analyzer), a unified multi-language static taint analysis framework designed for industrial-scale deployment. Specifically, YASA introduces the Unified Abstract Syntax Tree (UAST) that provides a unified abstraction for compatibility across diverse programming languages. Building on the UAST, YASA performs point-to analysis and taint propagation, leveraging a unified semantic model to manage language-agnostic constructs, while incorporating language-specific semantic models to handle other unique language features. When compared to 6 single- and 2 multi-language static analyzers on an industry-standard benchmark, YASA consistently outperformed all baselines across Java, JavaScript, Python, and Go. In real-world deployment within Ant Group, YASA analyzed over 100 million lines of code across 7.3K internal applications. It identified 314 previously unknown taint paths, with 92 of them confirmed as 0-day vulnerabilities. All vulnerabilities were responsibly reported, with 76 already patched by internal development teams, demonstrating YASA's practical effectiveness for securing large-scale industrial software systems.
title YASA: Scalable Multi-Language Taint Analysis on the Unified AST at Ant Group
topic Software Engineering
Cryptography and Security
Programming Languages
url https://arxiv.org/abs/2601.17390