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

使用Apache NiFi的ConvertExcelToCSVProcessor时检测到Zip Bomb的解决咨询

解决Apache NiFi ConvertExcelToCSVProcessor的Zip Bomb报错问题

报错原因

这个报错是Apache POI库的ZipSecureFile组件触发的安全机制:你的Excel文件中某个压缩条目(xl/pivotCache/pivotCacheRecords1.xml)的解压后大小与压缩前大小的比值(0.010000)刚好等于默认的最小压缩比阈值,被判定为潜在的Zip Bomb(通过小压缩文件占用大量内存的攻击手段),因此被拦截。

解决方法

不需要一定编写自定义处理器,有两种可行方案:

方案1:全局调整JVM参数(无需自定义处理器)

POI允许通过系统属性全局修改ZipSecureFile的最小压缩比限制,步骤如下:

  1. 找到NiFi的配置文件(如nifi/conf/nifi.conf),定位到java.arg.开头的JVM参数配置段
  2. 添加一行参数,将最小压缩比设为比当前报错的0.01更小的值,例如:
    java.arg.custom=-Dorg.apache.poi.util.ZipSecureFile.minInflateRatio=0.005
    
  3. 重启NiFi服务,参数即可生效

方案2:自定义处理器(细粒度控制)

如果需要仅针对特定流程或文件调整限制,才需要编写自定义处理器:

  • 在处理器的初始化或文件处理逻辑前,调用POI的API修改限制:
    import org.apache.poi.util.ZipSecureFile;
    
    // 在处理Excel文件前执行
    ZipSecureFile.setMinInflateRatio(0.005);
    
  • 之后再复用ConvertExcelToCSVProcessor的核心逻辑完成Excel转CSV

注意事项

降低最小压缩比会带来一定安全风险,可能让恶意Zip Bomb文件消耗更多服务器内存,仅在确认待处理Excel文件安全的情况下使用该设置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 17:12:06