SAFEDEP
2025-09-19 08:00

基于 Diff 的 SCA 配合 AI 有问题——Pipfile.lock、yarn.lock 和 Cargo.lock 的真实案例

安全研究人员揭露了基于git diff的SCA(软件组成分析)扫描器存在设计缺陷:git diff仅显示变更行,导致多行语法的lockfile(如Pipfile.lock、poetry.lock、yarn.lock、Cargo.lock等)丢失包名等关键上下文信息。恶意行为者可利用此漏洞在PR中植入恶意包版本(如将version字段从"==0.4.2"改为"==0.4.5"),而SCA扫描器因无法关联包名而无法检测。防御建议采用完整lockfile解析方案,如vet工具通过获取base分支和head分支的完整lockfile进行对比扫描,而非依赖diff文件的片断数据。

scaaici-cdpython
SAFEDEP
2025-09-17 00:00

npm 供应链攻击暴露私有仓库、AWS 凭证等

攻击者通过劫持npm维护者账号,向@ctrl/tinycolor等40余个npm包(涵盖@nativescript-community/、@crowdstrike/等)注入恶意postinstall脚本,在其中植入可自我传播的蠕虫程序。该恶意代码窃取GitHub认证令牌和AWS凭证,利用TruffleHog扫描本地文件系统挖掘敏感信息并外泄至webhook.site,同时将受害者私有仓库迁移并设为公开(标注为"Shai-Hulud Migration")。防御建议:对休眠包启用2FA验证、使用SafeDep等工具扫描PR中的恶意依赖、监控IoC(如bundle.js SHA256 46faab8ab153fae6e80e7cca38eab363075bb524edd79e42269217a083628f09及webhook.site请求)。

npmwormcloud-credstokens
STEPSECURITY
2025-09-09 01:30

介绍 npm 包冷却检查

StepSecurity发布了"NPM Package Cooldown Check",这是一个GitHub PR检查工具,可自动阻断引入48小时内发布的npm包版本的PR请求。该工具针对npm生态系统中的供应链攻击(如NX、es-lint、is等包被入侵事件),通过设置冷却期为安全社区争取响应时间。即使Dependabot等自动化工具创建的PR也会被标记,从而防止团队在恶意包被发现前就合并危险更新。

npmgithubci-cd
SAFEDEP
2025-09-09 00:00

npm 供应链攻击:多个热门包被劫持(周下载量超过 10 亿)

攻击者通过被入侵的npm用户qix的账号,在21个流行npm包(chalk、debug、ansi-styles等,周下载量超10亿)中植入了加密货币钱包盗取木马,ansi-regex@6.2.1的index.js文件从1KB暴增至76KB并嵌入混淆恶意代码。该木马劫持浏览器fetch/XMLHttpRequest API、hook钱包API,并利用Levenshtein距离算法将交易地址替换为攻击者地址,同时支持以太坊、比特币、Solana、Tron等6+条区块链。开发者应立即检查并降级受影响包版本,使用SafeDep vet等工具扫描依赖,并手动验证每笔加密货币转账的收款地址。

npmobfuscationcryptodropper
STEPSECURITY
2025-08-27 13:28

StepSecurity Harden Runner:检测构建过程中的源代码篡改

SolarWinds供应链攻击(2020年)通过在构建过程中植入恶意代码,绕过了代码签名、代码审查等传统防护措施,因为源码仓库本身未被篡改。StepSecurity推出Harden Runner解决方案,通过Linux审计框架监控GitHub托管运行器(Ubuntu VM)中GitHub Actions工作流的文件修改行为,在构建时检测源码篡改并标记错误。该工具已在500多个仓库中使用,包括Google、Microsoft、Automattic的开源项目以及nvm和Caffeine等流行项目。

actionsgithublinuxrunner
SAFEDEP
2025-08-27 08:00

nx 构建系统被入侵,瞄准 Linux 和 macOS 开发者

热门npm包nx(每周下载量近460万次)及其生态系统中11个相关包(如@nx/devkit、@nx/js等)于2025年8月26日被攻陷,攻击者通过postinstall脚本执行恶意telemetry.js。该脚本窃取GitHub令牌和npm令牌等凭证,利用AI工具搜索加密钱包和私钥文件,三重base64编码后上传至公开GitHub仓库s1ngularity-repository,并在用户.bashrc/.zshrc中追加sudo shutdown -h 0命令导致每次打开终端时系统关机。所有受影响版本已从npm移除,建议开发者使用SafeDep的vet或pmg工具检测并拦截恶意包。

npmpostinstalltokenscrypto
STEPSECURITY
2025-08-16 05:01

AWS GitHub Action 中可疑的标签移动:事件始末及其重要性

2025年8月4日,AWS热门GitHub Action仓库 aws-actions/configure-aws-credentials 的v4.3.0标签被创建后因代理支持bug被删除,随后在修复后重新指向新提交(从59b44184改为d0834ad)。该事件影响了超过22.5万个依赖此Action的仓库,与3月份发生的tj-actions/changed-files和reviewdog/action-setup标签篡改攻击模式完全一致。StepSecurity的Artifact Monitor自动检测到此异常并触发告警,证明即使是无害的版本回滚也会触发与供应链攻击相同的特征,表明持续监控标签变动对保护CI/CD管道至关重要。

actionsawsci-cdmonitoring
STEPSECURITY
2025-08-16 05:01

"Changed Files"如何改变了一切:我们的 Black Hat 2025 演讲,探讨 tj-actions 供应链攻击事件

2025年3月,攻击者通过"冒名提交"(imposter commits)技术劫持了GitHub Action tj-actions/changed-files,将超过23,000个公共仓库的发布标签重定向至恶意分叉,该攻击波及GitHub、Meta、Microsoft、HashiCorp及Hugging Face等组织。恶意代码通过memdump.py从Runner.Worker进程内存中窃取CI/CD密钥,并以双重Base64编码写入构建日志以绕过GitHub的自动掩码机制。攻击链起源于spotbugs/sonar-findbugs仓库的Pwn Request漏洞,经spotbugs、reviewdog层层传递至tj-actions,最终由StepSecurity Harden Runner通过基线监控检测到异常出站连接至gist.githubusercontent.com而暴露。防御建议包括:对CI/CD Runner实施行为监控、将Action固定至具体Commit SHA以及启用Action白名单机制。

githubrunnerci-cdbackdoor
SAFEDEP
2025-08-12 08:00

TensorFlow.js 拼写仿冒攻击:针对 AI/ML 开发者的恶意软件包

安全研究人员发现恶意npm包tensorflowjs@0.7.0伪装成正规TensorFlow.js包,通过npm post install脚本自动执行高度混淆的恶意代码,下载并运行来自Google Cloud Storage的134MB PE32+可执行文件。该攻击针对Windows系统,利用UAC绕过技术并注入Chrome进程以窃取凭证、截取屏幕并执行后续恶意载荷。开发者应使用SafeDep的vet或pmg等安全工具扫描依赖,并避免安装名称近似的可疑包。

npmtyposquatpostinstallcreds
SAFEDEP
2025-08-12 08:00

多个恶意Python包针对Bittensor加密货币开发者

GitLab Vulnerability Research Team在PyPI发现5个针对加密货币开发者的恶意Python包,通过typosquatting伪装成热门包bittensor,挂钩合法staking函数将资金重定向至攻击者钱包5FjgkuPzAQHax3hXsSkNtue8E7moEYjTgrDDGxBvCzxc1nqR,并使用transferall=True强制转移资金。开发者应在CI/CD管道中集成SafeDep vet和pmg等工具进行包扫描,并养成安装前审查代码、验证包来源的安全习惯。

pypityposquatcryptowallet
STEPSECURITY
2025-08-10 00:59

被所有人忽视的 GitHub 警告:「此提交不属于任何分支」

tj-actions和reviewdog遭供应链攻击,攻击者将标签指向fork中的恶意提交以绕过PR审查。cloudflare/wrangler-action、slackapi/slack-github-action、devcontainers/ci等热门action虽无恶意,但发布流程导致提交游离于分支之外,用户无法区分正常发布与攻击。建议CI/CD用户警惕此发布模式,可使用StepSecurity等工具检测冒名提交。

actionsci-cd
STEPSECURITY
2025-08-10 00:59

供应链安全警报:num2words PyPI 包出现被攻陷迹象

Python包num2words的0.5.15版本在2025年7月28日被发布到PyPI,但官方GitHub仓库中没有对应的标签,表明该版本未经正常发布流程。安全研究员@johnk3r发现该版本与已知威胁行为者"Scavenger"存在潜在关联,PyPI已迅速下架该版本以防止进一步安装。此事件提醒开发者应验证软件包发布记录与仓库标签的一致性。

pypipythongithubci-cd
STEPSECURITY
2025-08-10 00:59

8 个 GitHub Actions 密钥管理最佳实践

GitHub Actions密钥用于在存储库中存储敏感信息(如部署凭证和访问密钥),但若管理不当可能导致严重安全风险。文章介绍了多个最佳实践,包括定期轮换密钥、将组织密钥限制在特定仓库使用、仅将密钥用于敏感数据而用变量存储非敏感配置、以及利用环境密钥配合强制审批保护生产环境密钥。此外还建议避免在日志中打印密钥、不使用结构化数据存储密钥,并建立系统扫描Actions日志以检测意外泄露的凭证。

githubactionsci-cdsecrets
STEPSECURITY
2025-08-10 00:59

从 AWS CodeBuild 内存转储事件中吸取的教训 (CVE-2025-8217)

2025年7月,AWS披露了其CodeBuild服务的一个关键漏洞(Bulletin ID AWS‑2025‑016,CVE‑2025‑8217),攻击者通过恶意Pull Request在构建环境中执行内存抓取,窃取代码库访问令牌,导致可能进行未授权代码修改,受影响范围覆盖所有地区的CodeBuild并已用于获取AWS Toolkit for VS Code和AWS SDK for .NET仓库的令牌。同期,GitHub Action tj‑actions/changed-files被植入恶意代码(CVE‑2025‑30066),通过读取GitHub Actions运行器进程内存提取CI凭证,导致数千个仓库的密钥泄露。防御措施包括禁用对不受信任PR的自动构建、在CI/CD运行器部署运行时监控(如StepSecurity Harden‑Runner)并遵循最小权限原则和及时轮换令牌。

awsactionsmemory-dumpsecrets
STEPSECURITY
2025-08-10 00:59

AI遇上CI/CD:GitHub Actions中的Coding Agents隐藏安全风险

文章揭示了AI编程助手在GitHub Actions CI/CD环境中的安全风险:GitHub Copilot和Claude Code等代理可访问GITHUBTOKEN并自主生成代码,但传统EDR无法检测"Rules File Backdoor"等新型攻击——如tj-actions事件中攻击者利用gist.githubusercontent.com下发恶意代码。组织需要使用Harden-Runner等运行时监控工具实时追踪代理行为并关联工作流上下文,以防御通过Pull Request植入恶意代码的供应链攻击。

actionsairunnerci-cd