Characterizing and Understanding Software Security Vulnerabilities in Machine Learning Libraries
Nima Shiri Harzevili, Jiho Shin, Junjie Wang, and Song Wang

TL;DR
This paper analyzes security vulnerabilities in five major ML libraries, characterizing their types, causes, symptoms, and fixes, and introduces DeepMut, a tool to evaluate test suite adequacy against these vulnerabilities.
Contribution
It provides the first comprehensive characterization of ML library vulnerabilities and develops DeepMut, an automated mutation testing tool based on these insights.
Findings
596 security-related commits analyzed
DeepMut found over 1,000 mutants not covered by existing tests
Insights into vulnerability types, causes, and fixing patterns
Abstract
The application of machine learning (ML) libraries has been tremendously increased in many domains, including autonomous driving systems, medical, and critical industries. Vulnerabilities of such libraries result in irreparable consequences. However, the characteristics of software security vulnerabilities have not been well studied. In this paper, to bridge this gap, we take the first step towards characterizing and understanding the security vulnerabilities of five well-known ML libraries, including Tensorflow, PyTorch, Sickit-learn, Pandas, and Numpy. To do so, in total, we collected 596 security-related commits to exploring five major factors: 1) vulnerability types, 2) root causes, 3) symptoms, 4) fixing patterns, and 5) fixing efforts of security vulnerabilities in ML libraries. The findings of this study can assist developers in having a better understanding of software security…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Reliability and Analysis Research · Adversarial Robustness in Machine Learning · Software Engineering Research
