Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Mingqing Kang

dblp:288/6749 · DBLP profile ↗
← Back
6ranked-venue papers
1as first author
6since 2021 · last 2024
0009-0004-9476-9247ORCID · corroborated

Domains — the database's venue-derived domains; a paper can count in several

Security and privacy · 4 · 1 first-author · 4 since 2021Software engineering, systems software and programming languages · 2 · 2 since 2021

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Network and information security
6 papers
Systems and software security · 62% Web and mobile security · 27% Privacy and data protection · 11%
Software engineering, system software, and programming languages
5 papers
Program analysis · 95% Software maintenance and evolution · 5%

Topics — the 11 heaviest of 14, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Program analysis
static analysis
1.832024
RogueOne: Detecting Rogue Updates via Differential Data-flow Analysis Using Trust Domains · ICSE 2024
Mining Node.js Vulnerabilities via Object Dependence Graph and Query · USENIX Security Symposium 2022
Detecting Node.js prototype pollution vulnerabilities via object lookup analysis · ESEC/SIGSOFT FSE 2021
Program analysis › static analysis
abstract interpretation
1.422024
RogueOne: Detecting Rogue Updates via Differential Data-flow Analysis Using Trust Domains · ICSE 2024
Scaling JavaScript Abstract Interpretation to Detect and Exploit Node.js Taint-style Vulnerability · SP 2023
Systems and software security
vulnerability discovery
1.322024
ReactAppScan: Mining React Application Vulnerabilities via Component Graph · CCS 2024
Detecting Node.js prototype pollution vulnerabilities via object lookup analysis · ESEC/SIGSOFT FSE 2021
Systems and software security
software supply chain security
0.812024
RogueOne: Detecting Rogue Updates via Differential Data-flow Analysis Using Trust Domains · ICSE 2024
Web and mobile security › web security
web application vulnerability detection
0.812024
ReactAppScan: Mining React Application Vulnerabilities via Component Graph · CCS 2024
Program analysis
data flow analysis
0.812024
RogueOne: Detecting Rogue Updates via Differential Data-flow Analysis Using Trust Domains · ICSE 2024
Privacy and data protection › privacy compliance
GDPR compliance
0.712023
CHKPLUG: Checking GDPR Compliance of WordPress Plugins via Cross-language Code Property Graph · NDSS 2023
Systems and software security › information flow tracking › taint analysis
taint-style vulnerability detection
0.712023
Scaling JavaScript Abstract Interpretation to Detect and Exploit Node.js Taint-style Vulnerability · SP 2023
Web and mobile security
web application security
0.712023
Scaling JavaScript Abstract Interpretation to Detect and Exploit Node.js Taint-style Vulnerability · SP 2023
Systems and software security › vulnerability discovery
prototype pollution
0.512021
Detecting Node.js prototype pollution vulnerabilities via object lookup analysis · ESEC/SIGSOFT FSE 2021
Software maintenance and evolution › software ecosystems
dependency management
0.212024
RogueOne: Detecting Rogue Updates via Differential Data-flow Analysis Using Trust Domains · ICSE 2024

Methods — techniques the papers use, named apart from their topics

trust domains · 1.5differential data-flow analysis · 1.5abstract interpretation · 1.5top-down abstract interpretation · 1.3satisfiability checking · 1.3code property graph · 1.3bottom-up abstract interpretation · 1.3component graph · 0.8JSX analysis · 0.8CodeQL · 0.8query-based analysis · 0.6object dependence graph · 0.6
YearPublicationVenuePosition
2024 ReactAppScan: Mining React Application Vulnerabilities via Component Graph
abstract
React, a single-page application framework, has recently become popular among web developers due to its flexible and convenient management of web application states via a syntax extension to JavaScript, called JSX (JavaScript and XML). Despite its abundant functionalities, the security of React, especially vulnerability detection, still lags: many existing vulnerability detection works do not support JSX let alone React Data Flow introduced by React components. The only exception is CodeQL, which supports JSX syntax. However, CodeQL cannot properly track React Data Flow across different components for detecting vulnerabilities.
Mingqing Kang, V. N. Venkatakrishnan, Rigel Gjomemo, Yinzhi Cao
CCS2
2024 RogueOne: Detecting Rogue Updates via Differential Data-flow Analysis Using Trust Domains
abstract
Rogue updates, an important type of software supply-chain attack in which attackers conceal malicious code inside updates to benign software, are a growing problem due to their stealth and effectiveness. We design and implement RogueOne, a system for detecting rogue updates to JavaScript packages. RogueOne uses a novel differential data-flow analysis to capture how an update changes a package's interactions with external APIs. Using an efficient form of abstract interpretation that can exclude unchanged code in a package, it constructs an object data-flow relationship graph (ODRG) that tracks data-flows among objects. RogueOne then maps objects to trust domains, a novel abstraction which summarizes trust relationships in a package. Objects are assigned a trust domain based on whether they originate in the target package, a dependency, or in a system API. RogueOne uses the ODRG to build a set of data-flows across trust domains. It compares data-flow sets across package versions to detect untrustworthy new interactions with external APIs. We evaluated RogueOne on hundreds of npm packages, demonstrating its effectiveness at detecting rogue updates and distinguishing them from benign ones. RogueOne achieves high accuracy and can be more than seven times as effective in detecting rogue updates and avoiding false positives compared to other systems built to detect malicious packages.
Raphael J. Sofaer, Yaniv David, Mingqing Kang, Jianjia Yu, Yinzhi Cao, Jason Nieh
ICSE3
2023 CHKPLUG: Checking GDPR Compliance of WordPress Plugins via Cross-language Code Property Graph
Faysal Hossain Shezan, Zihao Su, Mingqing Kang, Nicholas Phair, Patrick William Thomas, Michelangelo van Dam, Yinzhi Cao, Yuan Tian 0001
NDSS3
2023 Scaling JavaScript Abstract Interpretation to Detect and Exploit Node.js Taint-style Vulnerability
abstract
Taint-style vulnerabilities, such as OS command injection and path traversal, are common and severe software weaknesses. There exists an inherent trade-off between analysis scalability and accuracy in detecting such vulnerabilities. On one hand, existing syntax-directed approaches often make compromises in the analysis accuracy on dynamic features like bracket syntax. On the other hand, existing abstract interpretation often faces the issue of state explosion in the abstract domain, thus leading to a scalability problem.In this paper, we present a novel approach, called FAST, to scale the vulnerability discovery of JavaScript packages via a novel abstract interpretation approach that relies on two new techniques, called bottom-up and top-down abstract interpretation. The former abstractly interprets functions based on scopes instead of call sequences to construct dynamic call edges. Then, the latter follows specific control-flow paths and prunes the program to skip statements unrelated to the sink. If an end-to-end data-flow path is found, FAST queries the satisfiability of constraints along the path and verifies the exploitability to reduce human efforts.We implement a prototype of FAST and evaluate it against real-world Node.js packages. We show that FAST is able to find 242 zero-day vulnerabilities in NPM with 21 CVE identifiers being assigned. Our evaluation also shows that FAST can scale to real-world applications such as NodeBB and popular frameworks such as total.js and strapi in finding legacy vulnerabilities that no prior works can.
Mingqing Kang, Yichao Xu, Song Li 0006, Rigel Gjomemo, Jianwei Hou, V. N. Venkatakrishnan, Yinzhi Cao
SP1
2022 Mining Node.js Vulnerabilities via Object Dependence Graph and Query
Song Li 0006, Mingqing Kang, Jianwei Hou, Yinzhi Cao
USENIX Security Symposium2
2021 Detecting Node.js prototype pollution vulnerabilities via object lookup analysis
abstract
Prototype pollution is a type of vulnerability specific to prototype-based languages, such as JavaScript, which allows an adversary to pollute a base object’s property, leading to a further consequence such as Denial of Service (DoS), arbitrary code execution, and session fixation. On one hand, the only prior work in detecting prototype pollution adopts dynamic analysis to fuzz package inputs, which inevitably has code coverage issues in triggering some deeply embedded vulnerabilities. On the other hand, it is challenging to apply state-of-the-art static analysis in detecting prototype pollution because of the involvement of prototype chains and fine-grained object relations including built-in ones.
Song Li 0006, Mingqing Kang, Jianwei Hou, Yinzhi Cao
ESEC/SIGSOFT FSE2