You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何限制Maven依赖仅从私有仓库解析以防范供应链攻击

Maven有完全对应npm scope的能力,可通过私服端拦截+客户端仓库内容过滤两层配置实现你要的安全需求,完全避免恶意同名高版本依赖被拉取的风险。

1. 最优先的安全防线:私服端配置拦截

这是从根上解决问题的方案,就算客户端配置错误也不会出问题:
在你的Artifactory中,找到代理Maven Central的远程仓库配置,在「包含/排除路径规则」中添加以下排除规则:

org/acme/**
com/你的公司域名前缀/**

配置后,Artifactory永远不会从Maven Central拉取这些路径下的构件,内部私有仓库如果没有对应依赖直接返回错误,不会 fallback 到公共仓库。

2. 客户端配置:实现类似npm scope的groupId绑定效果

Maven 3.1+ 支持仓库内容过滤功能,可指定某个仓库仅处理特定groupId的依赖,其他groupId的依赖不会从该仓库解析,配置示例如下:

全局settings.xml配置(推荐,所有项目统一生效)

<settings>
  <mirrors>
    <mirror>
      <id>internal-artifactory</id>
      <mirrorOf>*</mirrorOf>
      <url>https://你公司的Artifactory地址/maven-public</url>
    </mirror>
  </mirrors>
  <profiles>
    <profile>
      <id>corporate-repo</id>
      <activation><activeByDefault>true</activeByDefault></activation>
      <repositories>
        <repository>
          <id>internal-repo</id>
          <url>https://你公司的Artifactory地址/maven-internal</url>
          <content>
            <!-- 仅允许该仓库解析内部groupId的依赖 -->
            <include>org.acme:*</include>
            <include>com.你的公司域名前缀:*</include>
          </content>
          <releases><enabled>true</enabled></releases>
          <snapshots><enabled>true</enabled></snapshots>
        </repository>
        <repository>
          <id>public-proxy</id>
          <url>https://你公司的Artifactory地址/maven-public</url>
          <content>
            <!-- 禁止公共代理仓解析内部groupId的依赖 -->
            <exclude>org.acme:*</exclude>
            <exclude>com.你的公司域名前缀:*</exclude>
          </content>
          <releases><enabled>true</enabled></releases>
          <snapshots><enabled>false</enabled></snapshots>
        </repository>
      </repositories>
    </profile>
  </profiles>
</settings>

单项目pom.xml配置

如果不需要全局生效,也可以把上述<repositories>配置直接写在项目的pom.xml中,仅对当前项目生效。

3. 关于你提到的dependency级别的仓库指定

原生Maven没有你示例中的<artifactory>标签,但是上述按groupId批量过滤的方案已经可以实现相同的安全效果,且维护成本远低于单个依赖逐一配置。如果确实有单个特殊依赖需要单独指定仓库,也可以通过新增独立的仓库配置+精确的include规则实现。

内容的提问来源于stack exchange,提问作者DaHoC

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 01:27:03