介绍一下Datadog的供应链防火墙SCFW

admin 2026-01-08 02:06:51 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: Datadog开源的SCFW是一款轻量级供应链防火墙,通过拦截包管理器命令,利用Datadog研究库和OSV.dev实时阻断恶意包并预警漏洞。工具支持日志集成与自定义验证器,能有效防御开源投毒攻击。建议开发者通过pipx安装并配置别名,以低成本提升开发环境安全性。 综合评分: 92 文章分类: 安全工具,供应链安全,漏洞预警


cover_image

介绍一下Datadog的供应链防火墙SCFW

原创

玄月调查小组

玄月调查小组

2026年1月7日 10:20 上海

导读:面对PyPI和npm上日益猖獗的恶意投毒,Datadog安全实验室其实早在2024年就开源了一款名为 Supply-Chain Firewall (SCFW) 的轻量级工具。它像防火墙一样驻守在开发者终端,能够实时拦截恶意包安装,并对已知漏洞发出预警,填补开发环境供应链安全的空白。

在现代软件开发中,开源软件供应链是不可或缺的基石。然而,这块基石正面临前所未有的侵蚀。

从植入挖矿脚本到窃取API密钥、用户凭证,针对开发者的开源供应链攻击正在不断增长。攻击者利用Typosquatting(近似域名抢注)或 Dependency Confusion(依赖混淆)将恶意代码植入开源包。

很明显,如果要求开发者在每次安装项目前手动审计数以千计的依赖包既不现实,也会极大拖慢开发效率。

SCFW 是什么?

简单说,SCFW 是一个包裹在包管理器的中间件。它通过拦截并检查pipnpm 和 poetry 的命令,分析即将安装的软件包是否安全。

1. 核心架构:双重数据源验证

SCFW 在执行安装前,会将目标包与两大“数据源”进行比对:

  • Datadog Security Research 数据集:包含已确认的恶意 PyPI 和 npm 包。
  • OSV.dev (Open Source Vulnerabilities):Google维护的开源漏洞数据库。

此外,SCFW也一定可扩展性,用户可以编写自定义验证器(Verifier)来接入企业内部的安全情报。

2. 零容忍阻断和风险提示

针对不同威胁等级,SCFW 采取不同的响应策略:

  • 恶意包:直接阻断 如果目标包被判定为恶意软件(如包含后门),SCFW 会强制终止安装流程,不留任何余地。 例:拦截已知的恶意包 passports-js
$ scfw run npm install passports-js
Package [email protected]:
  - Datadog Security Research has determined that package [email protected] is malicious
  - An OSV.dev malicious package advisory exists for package [email protected]:
      * https://osv.dev/vulnerability/MAL-2024-8868

The installation request was blocked. No changes have been made.
  • 漏洞包:交互式预警 如果目标包存在已知漏洞(如CVE)但非恶意投毒,SCFW 会展示漏洞详情,并将决定权交给开发者。 例:安装存在漏洞的 urllib3 版本时,二次提示确认
scfw run pip install urllib3==2.2.1
Package urllib3-2.2.1:
  - An OSV.dev advisory exists for package urllib3-2.2.1:
      * [High] https://osv.dev/vulnerability/GHSA-gm62-xv2j-4w53
  - An OSV.dev advisory exists for package urllib3-2.2.1:
      * [High] https://osv.dev/vulnerability/GHSA-2xpw-w6gg-jr37
  - An OSV.dev advisory exists for package urllib3-2.2.1:
      * [Medium] https://osv.dev/vulnerability/GHSA-48p4-8xcf-vxj5
  - An OSV.dev advisory exists for package urllib3-2.2.1:
      * [Medium] https://osv.dev/vulnerability/GHSA-34jh-p97f-mpxf
  - An OSV.dev advisory exists for package urllib3-2.2.1:
      * [Medium] https://osv.dev/vulnerability/GHSA-pq67-6m6q-mj2v
[?] Proceed with installation? (y/N):

| 包管理器 | 支持版本 | 检查子命令 | | — | — | — | | npm | >= 7.0 | install (包括别名) | | pip | >= 22.2 | install | | poetry | >= 1.7 | addinstallsyncupdate |

进阶玩法:从单点防御到日志集成

SCFW 不仅仅是一个拦截工具,还具备极强的可观测性,对企业安全团队尤为重要。

1. 无感集成

通过配置向导 scfw configure,开发者可以设置 Shell Alias。当输入 npm install时,实际上是在运行 scfw run npm install。在不改变开发者习惯的前提下,提升安全性。这种无感安全也会降低落地的阻力。

2. 日志上云

SCFW 原生支持 Datadog Log Management。通过配置 API Key,本地的拦截记录、放行记录都可以实时推送到云端。

  • 对于开发者:无需关心繁杂的安全日志。
  • 对于管理员:可以获得一张全局视图,清晰看到团队机器上安装了哪些包、拦截了多少次攻击尝试。

快速上手

SCFW 目前已完全开源,并托管在 GitHub 上。虽然目前主要在 macOS 上提供完整支持(Linux 亦可用),不过不支持Windows。安装步骤:推荐使用 pipx 安装:

# 安装工具
pipx install scfw

# 运行配置向导(设置别名、日志集成等)
scfw configure

日常使用:如果没有设置Alias,只需在命令前加上 scfw run

scfw run pip install requests
scfw run npm install react

此外,SCFW 还提供了审计功能,可以扫描当前环境中已安装的包是否存在风险:

scfw audit --executable /usr/bin/python3 pip

小结与展望

在软件供应链攻击日益常态化的今天,Supply-Chain Firewall (SCFW) 提供了一种低成本的防御思路。它不再依赖开发者的人工判断,而是用自动化工具构建起一道防线。

对于关注开源供应链安全,不想在不知不觉中沦为“肉鸡”的开发人员来说,SCFW 绝对是一个值得尝试的工具。

不过可惜的是,在过去的一年,Python 开发圈子已经发生了一些变化。uv 凭借其安装速度和全能的各种功能,已经大面积取代了 pip 和 poetry 的生态位。12月GitHub上曾有用户提交 Issue 请求支持 uv,但 Datadog 至今尚未回应。

项目传送门:

  • GitHub: https://github.com/DataDog/supply-chain-firewall
  • 安装pipx install scfw

参考资料

https://securitylabs.datadoghq.com/articles/introducing-supply-chain-firewall/

https://github.com/DataDog/supply-chain-firewall


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:玄月调查小组 玄月调查小组《介绍一下Datadog的供应链防火墙SCFW》

评论:0   参与:  0