一句话:定义软件供应链异味并提出工具 Dirty-Waters,检测开源依赖中的潜在供应链风险。
现代软件开发高度依赖开源第三方依赖,这要求开发者信任外部代码,但现有支持不足以评估这种信任,导致软件供应链攻击频发。本文关注项目使用依赖时开发者对其供应链潜在风险缺乏感知的问题,提出“软件供应链异味”这一新概念,并实现检测工具 Dirty-Waters。该工具用于识别依赖引入的供应链风险信号。作者在三个 JavaScript 项目上评估 Dirty-Waters,结果表明所提出的各类软件供应链异味普遍存在;工具能揭示此前不可见的问题风险,并为开发者提供清晰的行动指标,以提升供应链安全。
Using open-source dependencies is essential in modern software development. However, this practice implies significant trust in third-party code, while there is little support for developers to assess this trust. As a consequence, attacks, called software supply chain attacks, have been increasingly occurring through third-party dependencies. In this paper, we target the problem of projects that use dependencies, where developers are unaware of the potential risks posed by their software supply chain. We define the novel concept of software supply chain smell and present Dirty-Waters, a novel tool for detecting software supply chain smells. We evaluate Dirty-Waters on three JavaScript projects and demonstrate the prevalence of all proposed software supply chain smells. Dirty-Waters reveals potential risks for previously invisible problems and provides clear indicators for developers to act on the security of their supply chain. A video demonstrating Dirty-Waters is available at: http://l.4open.science/dirty-waters-demo.