← 最新论文
💻 computer science

DCI: Dependency Confidence Index for Assessing Open-Source Dependency Trustworthiness

本文介绍了依赖置信度指数(Dependency Confidence Index, DCI),这是一种综合指标,它整合了源自文献和开发者调查的九个经验加权信任因子,用于评估开源依赖的可信度,并通过对 92 个 PyPI 包的试点评估证明了其有效性。

原作者: Clemens Albrecht, Stefan Reitmann

发布于 2026-08-18
📖 1 分钟阅读☕ 轻松阅读

原作者: Clemens Albrecht, Stefan Reitmann

原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

每一天,我们的数字生活都依赖于一个庞大且无形的软件网络。从手机上的应用程序到管理我们银行账户的系统,现代程序很少是从零开始构建的。相反,它们就像复杂的结构一样,利用被称为“开源依赖项”的预制部件进行组装,这些部件由世界各地的数千个不同个人和组织创建。虽然这种方法使技术得以飞速发展,但也引入了一个显著的风险:如果其中一个借用的部件存在缺陷或具有恶意,那么构建在其之上的整个应用程序都可能失效或遭到破坏。开发人员面临的挑战在于,目前还没有一种单一、简单的方法来判断这些无数组件的可信度。他们必须筛选安全报告、代码质量检查和项目历史,却往往缺乏一种明确的方法来权衡哪些因素最为重要。

为了应对这种不确定性,开姆尼茨工业大学的研究人员开发了一种名为“依赖置信度指数”(Dependency Confidence Index)的新工具。该系统充当了一个统一的计分卡,旨在帮助软件开发人员在决定使用特定的代码片段之前判断其是否值得信赖。研究人员并非仅仅发明了一套新的规则;他们将这种方法建立在现有的关于软件可靠性的科学理解基础之上。他们首先确定了九个对信任度有贡献的关键领域,范围涵盖了从代码本身的安全性到维护该项目的项目健康状况。这些领域包括代码编写的质量、项目是否拥有清晰的许可证、更新频率以及背后人员的声誉。

该项目的核心工作是将这些广泛的概念转化为具体的、自动化的测量指标。团队创建了一个数字平台,该平台可以扫描软件库并收集关于这九个因素的数据。为了确定每个因素在最终得分中所占的比重,他们咨询了一个由十名资深软件开发人员组成的小组。这些专家通过相互比较各项因素,以决定哪些因素对于安全性和可靠性最为关键。结果是一个加权系统,其中安全性脱颖而出成为最重要的因素,紧随其后的是源代码的质量和项目的整体健康状况。随后,该平台会将收集到的原始数据(例如已知漏洞的数量或代码更新的频率)合并为一个介于零到一之间的数字。接近一的分数表示该组件具有高度的可信度,而较低的分数则表明存在潜在风险。

研究人员在 Python 编程语言中使用的 92 个流行软件包上测试了他们的新指数。他们发现该系统运行非常稳定,在对相同软件包进行多次运行时会产生相同的结果。当他们将新得分与现有的安全工具 OpenSSF Scorecard 进行对比时,观察到了两者之间存在中度的吻合度。这表明新指数捕捉到了与既有工具类似的信息,但提供了不同的视角。有趣的是,分析显示,对于这些高质量的流行软件包而言,得分更多是由项目管理水平(如自动化测试的使用和清晰的依赖规则)驱动的,而非由安全缺陷的存在所驱动。在这一特定的测试组中,由于安全指标表现得非常一致且极高,因此不足以在不同的库之间产生差异。这并不意味着安全性不重要;相反,它表明对于成熟且流行的项目,软件的维护过程往往是信任度的最强信号。

该研究也强调了他们目前方法的局限性。研究人员指出,他们的系统依赖于一些有时难以自动获取的数据,例如能够维护项目的确切人数或文档的完整程度。此外,测试仅限于流行的 Python 库,这意味着对于那些更旧、知名度较低或带有恶意的软件包,结果可能会有所不同,因为后者更容易出现安全缺陷。团队谨慎地声明,该指数并不是专门安全工具的替代品,也不能保证一段软件是安全的。相反,它旨在作为一种筛选辅助工具,帮助开发人员整理有关库的大量可用信息,并识别哪些领域可能需要更仔细的检查。通过提供一个单一且可解释的数字以及每个因素的详细分解,依赖置信度指数旨在让构建我们数字世界的开发人员能够更轻松地应对复杂的软件供应链安全任务。

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →