# `maas-deploy` 镜像漏洞修复报告

## 1. 漏洞分析总结

根据安全报告 `scan_all_20260331_14-24-13.html`，`maas-deploy` 镜像 (`registry.cmvideo.cn/miguv-ir-plt-dev/amd64/maas-deploy:202603301700`) 共发现 **3** 个应用漏洞。详细信息如下：

- **漏洞来源**: 所有漏洞均来自项目自身打包的 `/app.jar`。
- **主要问题**: 涉及 `netty` 和 `spring-security-crypto` 两个组件的旧版本。
- **Arthas 问题**: 本次分析未在 `maas-deploy` 镜像中发现 `arthas` 相关漏洞，与之前的其他镜像不同。

详细的漏洞列表请参见 [maas-deploy-vulnerability-details.md](file:///Users/ray/workplace/project_data/migu/security/maas-deploy/maas-deploy-vulnerability-details.md)。

## 2. 修复方案

本次修复方案仅需修改项目的 `pom.xml` 文件，无需改动 `Dockerfile`。

### 2.1. `pom.xml` 修改

核心修复措施是在 `pom.xml` 中升级和明确指定存在漏洞的依赖版本。

1.  **升级 Netty 版本**: 在 `pom.xml` 的 `<properties>` 部分，将 `netty.version` 属性从 `4.1.116.Final` 更新为 **`4.1.118.Final`**。

    ```xml
    <properties>
        <!-- ... -->
        <netty.version>4.1.118.Final</netty.version>
        <!-- ... -->
    </properties>
    ```

2.  **管理 Spring Security Crypto 版本**: 在 `pom.xml` 的 `<dependencyManagement>` 部分，添加一个新的依赖条目来强制指定 `spring-security-crypto` 的版本为 **`6.3.5`**，以覆盖可能由父项目或 Spring Boot 带来的旧版本。

    ```xml
    <dependencyManagement>
        <dependencies>
            <!-- ... -->
            <dependency>
                <groupId>org.springframework.security</groupId>
                <artifactId>spring-security-crypto</artifactId>
                <version>6.3.5</version>
            </dependency>
            <!-- ... -->
        </dependencies>
    </dependencyManagement>
    ```

完整的 `pom.xml` 修改建议已在 [maas-deploy-vulnerability-fix-pom-snippets.xml](file:///Users/ray/workplace/project_data/migu/security/maas-deploy/maas-deploy-vulnerability-fix-pom-snippets.xml) 文件中提供。

## 3. 验证步骤

为确保所有漏洞已成功修复，请在应用上述 `pom.xml` 修改后，严格按照以下步骤进行验证：

1.  **执行验证脚本**: 运行我们为此提供的 [verify-maas-deploy-fix.sh](file:///Users/ray/workplace/project_data/migu/security/maas-deploy/verify-maas-deploy-fix.sh) 脚本。

    ```bash
    bash /Users/ray/workplace/project_data/migu/security/maas-deploy/verify-maas-deploy-fix.sh
    ```

2.  **脚本执行内容**: 该脚本会自动完成以下操作：
    - 清理本地 Maven 仓库中 `netty` 和 `spring-security-crypto` 的旧版本缓存。
    - 切换到项目目录 `/Users/ray/workplace/migu-deploy`。
    - 重新生成 `dependency-tree-after-fix.txt` 并初步检查版本。
    - 执行 `mvn clean package` 重新打包应用。
    - 调用 `Trivy` 对新生成的 `maas-deploy.jar` 进行扫描，并将结果输出到 `target/trivy_scan_results.txt`。

3.  **最终确认**: 请仔细检查 `dependency-tree-after-fix.txt` 和 `trivy_scan_results.txt` 两个文件，确认所有相关漏洞均已消失，并且依赖版本已更新为修复后的版本。

## 4. 交付物清单

本次 `maas-deploy` 镜像漏洞修复工作共产生以下交付物，均位于 `/Users/ray/workplace/project_data/migu/security/maas-deploy/` 目录下：

1.  `maas-deploy-vulnerability-details.md`: 漏洞详情清单。
2.  `maas-deploy-vulnerability-fix-pom-snippets.xml`: `pom.xml` 修改代码片段。
3.  `verify-maas-deploy-fix.sh`: 修复验证脚本。
4.  `maas-deploy-fix-report.md`: 本修复报告。
