开源工具Pompelmi:Node.js的开源安全文件上传扫描

用JavaScript构建服务的软件团队正在增加更多防御层来处理不可信的文件上传。一个名为Pompelmi的开源项目旨在在文件到达存储或业务逻辑之前将恶意软件扫描和策略检查直接插入Node.js应用程序中。

Pompelmi扫描Node.js

Pompelmi是为JavaScript和TypeScript环境构建的,并直接在应用程序流程中运行。文件在上传时在内存中扫描,允许应用程序在请求流程的早期做出接受或拒绝的决定。

应用程序代码中的内联扫描

其核心是,Pompelmi充当文件扫描仪,开发人员可以将其嵌入到上传处理程序中。传入的文件会根据一系列检查进行评估,这些检查可以根据配置的规则将内容标记为可接受、可疑或恶意。

扫描仪在没有外部网络呼叫的情况下运行。这种设计允许扫描决策保持在应用程序边界内,这可能与具有隐私、延迟或监管约束的环境相关。检查期间,文件数据不会离开服务。

Pompelmi旨在在文件缓冲区写入磁盘或对象存储之前使用它们。这种方法通过防止不安全内容到达下游系统来减少暴露。

文件政策和存档检查

该工具包支持多个策略控制,团队可以根据其风险要求进行定制。开发人员可以强制执行允许的文件扩展名、最大文件大小和服务器端MIME类型验证。MIME检查将声明的内容类型与检测到的文件签名进行比较,以减少对用户提供的元数据的依赖。

一个重点领域是压缩文件处理。Pompelmi在提取前检查存档内容,并对递归深度、总文件数量和存档大小扩展施加限制。这些控制措施旨在减少对存档炸弹技术和嵌套有效载荷交付的暴露。

策略配置允许团队定义阈值和拒绝行为。扫描结果可以记录或显示在应用程序逻辑中,而无需存储上传的文件。

可插拔扫描逻辑

Pompelmi支持多种扫描策略,这些策略可以在单个工作流程中组合。默认支票寻找风险模式和结构指标。该工具包还提供了用于添加自定义扫描仪的接口。

可选的基于签名的扫描可以通过可插拔的引擎模型启用。这允许开发人员集成符合他们自己的检测要求的签名集或扫描逻辑。

框架集成和中间件

为了简化采用,Pompelmi为常见的Node.js网络框架提供适配器。中间件软件包可用于Express和Koa,允许截获和扫描文件上传,作为请求处理的一部分。该项目还支持与Next.js路由模式的集成。

在典型的部署中,开发人员将扫描仪与框架适配器一起安装。适配器应用扫描逻辑来上传路由,并根据扫描结果控制是否继续请求。拒绝的上传可以通过标准错误路径进行处理。

除了运行时使用外,Pompelmi还可以应用于构建和管道工作流程。该项目提供的GitHub操作允许团队在持续集成期间扫描人工制品或存储库。这支持在部署前早期检测不安全内容。

Pompelmi可以在GitHub上免费下载。

原文链接地址:https://www.helpnetsecurity.com/2026/02/02/pompelmi-open-source-secure-file-upload-scanning-node-js/

© 版权声明
THE END
你的支持是我们在网空安全路上的驱动力!
点赞15 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情快捷回复

    暂无评论内容