一句话:以 PyPI 为案例研究包仓库恶意软件扫描需求,评估现有工具并揭示社会技术检测协作模式。
该文以 Python 生态和 PyPI 仓库为案例,研究社区开源包仓库恶意软件检测的安全目标与部署需求。作者访谈仓库管理员与维护者,创建基准数据集,并比较 PyPI 内置检查、Bandit4Mal 和 OSSGadget 的 OSS Detect Backdoor 等现有工具。结果显示,管理员对假阳性极为敏感,认为即使 0.1% 的假阳性率也不可接受,而受测工具的假阳性率在 15% 到 97% 之间;提高检测规则阈值虽可降低假阳性率,却使真阳性率失去实用价值。自动工具远未满足需求,实践中已形成社会技术检测系统:外部安全研究者执行仓库恶意软件扫描、筛选有用结果并报告给管理员。文末提出改进检测能力并加强研究者与仓库管理员协作的建议。
Open-source, community-driven package repositories see thousands of malware packages each year, but do not currently run automated malware detection systems. In this work, we explore the security goals of the repository administrators and the requirements for deploying such malware scanners via a case study of the Python ecosystem and PyPI repository, including interviews with administrators and maintainers. Further, we evaluate existing malware detection techniques for deployment in this setting by creating a benchmark dataset and comparing several existing tools: the malware checks implemented in PyPI, Bandit4Mal, and OSSGadget's OSS Detect Backdoor. We find that repository administrators have exacting requirements for such malware detection tools. Specifically, they consider a false positive rate of even 0.1% to be unacceptably high, given the large number of package releases that might trigger false alerts. Measured tools have false positive rates between 15% and 97%; increasing thresholds for detection rules to reduce this rate renders the true positive rate useless. While automated tools are far from reaching these demands, we find that a socio-technical malware detection system has emerged to meet these needs: external security researchers perform repository malware scans, filter for useful results, and report the results to repository administrators. These parties face different incentives and constraints on their time and tooling. We conclude with recommendations for improving detection capabilities and strengthening the collaboration between security researchers and software repository administrators.
DOI 原文 · arXiv · PDF(开放获取) · DBLP
@inproceedings{abs-2209-13288,
title = {Bad Snakes: Understanding and Improving Python Package Index Malware Scanning},
author = {Duc-Ly Vu and Zachary Newman and John Speed Meyers},
booktitle = {ICSE},
year = {2023},
doi = {10.1109/icse48619.2023.00052}
}