1. 供应链攻击新趋势:n8n社区节点成为攻击目标
最近安全圈爆出一个值得警惕的新案例——攻击者开始针对n8n工作流自动化平台的社区节点实施供应链攻击。作为经常使用n8n进行业务自动化的开发者,我看到这个案例时后背一凉。n8n这类工具本应是提高效率的利器,现在却成了攻击者的新目标。
这次攻击的特殊之处在于,它不是直接针对开发者电脑或代码仓库,而是利用了n8n平台的一个特性:社区贡献的集成节点。攻击者在npm上发布了8个伪装成n8n节点的恶意包,这些包看起来像是常见的服务集成(比如Google Ads),实际上却在窃取用户的OAuth令牌。
特别提醒:如果你在使用n8n且安装了任何社区节点,请立即检查是否包含文中列出的恶意包。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 攻击手法深度解析
2.1 攻击链条拆解
攻击者的操作路径相当狡猾:
- 伪装入库:在npm发布看似正常的n8n节点包,名称模仿常见服务(如"n8n-nodes-hfgjf-irtuinvcm-lasdqewriit"伪装Google Ads节点)
- 诱导安装:通过文档、教程等方式引导开发者安装这些"有用"的集成节点
- 凭证窃取:节点运行时,利用n8n的解密功能获取OAuth令牌等敏感凭证
- 数据外泄:将窃取的凭证加密传输到攻击者控制的服务器
最令人担忧的是,这些恶意节点在被发现前已经获得了相当可观的下载量。例如"n8n-nodes-gasdhgfuy-rejerw-ytjsadx"这个包就有8,385次下载,说明不少开发者已经中招。
2.2 技术实现细节
攻击者充分利用了n8n平台的几个特性:
- 凭证存储机制:n8n会将各种服务的认证凭证(OAuth令牌、API密钥等)加密存储在本地
- 主密钥解密:节点代码可以调用n8n的解密功能获取这些敏感信息
- 无沙箱环境:社区节点与核心代码运行在同一个环境中,没有隔离保护
具体到代码层面,恶意节点通常会包含类似这样的逻辑:
javascript复制// 伪代码展示攻击逻辑
async function execute() {
// 获取存储的Google Ads凭证
const credentials = this.getCredentials('goog
