什么是基于DNS的Maven组Id

  • 本文关键字:Maven Id DNS java maven
  • 更新时间 :
  • 英文 :


我正在研究我们的Java应用程序是否容易受到Dependency Confusion的攻击,并访问了此链接。第二个条件是:

There is a remote repository configured that lets anyone claim group ids without verification or you use internal packages with a group id that’s not DNS-based.

使用组id不是基于DNS的依赖关系意味着什么?如何将依赖项分类为基于DNS的依赖项?以前从未听说过这样的话,如果你能启发我,我会很高兴。

这意味着,组ID应该以您控制的反向域名开头。例如,如果你控制域example.com,你应该选择com.example作为组ID,或者选择以com.example开头的组ID。DNS在这里可能有点误导,因为这更多的是关于域名,而不是关于系统(服务器(。参见此处:Maven-命名约定指南

依赖性混淆攻击是指攻击者将恶意代码嵌入(流行的(软件的新版本中,并将其发布到公共存储库中,使其自动集成到始终使用最新版本软件的应用程序中。因此,至关重要的是,存储库能够以某种方式验证发布新软件工件的人是否有权发布该特定工件。例如,如果工件的反向组ID和用户电子邮件域名不匹配,则这可能表明用户不应被授权发布该工件,因为他可能不是负责维护工件的组织的一部分。

最新更新