☰
每日安全情报报告 · 2026-07-16:SonicWall、微软、SAP 漏洞速览与 Cursor 排查
2026/10/7 7:27:25 网站建设 项目流程

1. 2026-07-16 安全情报里最该先动手的几件事

如果你今天只打算花半小时处理安全告警,那这篇内容就是给你准备的。2026-07-16 这期安全情报里,SonicWall SMA1000 双零日、微软创纪录补丁日、SAP NetWeaver 9.9 分内存损坏、AsyncAPI npm 供应链攻击、Cursor 编辑器未修补 0-Day 这几件事叠在一起,对安全运维和开发同学来说压力不小。我把它拆成一份能直接照着做的速查清单:先判断影响面,再复制配置验证,最后用 Cursor 辅助排查本机与仓库里的可疑痕迹。

核心检索词先摆出来:SonicWall SMA1000 SSRF 漏洞修复、微软 7 月补丁日 SharePoint 在野利用、SAP NetWeaver ABAP 内存损坏修补、AsyncAPI npm 供应链攻击排查、Cursor 恶意 Git 仓库自动执行代码。这几个词基本覆盖了今天所有需要立刻响应的点。适合谁看?负责边界设备的安全运维、管 Windows 域和 SharePoint 的 IT、跑 SAP 的企业应用团队,以及日常用 Cursor 写代码、需要确认自己仓库是否被投毒的开发者。

我先说结论:今天优先级最高的是 SonicWall SMA1000 的两个 CVE,CISA KEV 截止日期就是 2026-07-17,属于今天不修明天就可能被扫的量级。其次是 SharePoint 和 AD FS 的在野利用零日,再往下是 SAP NetWeaver 和 npm 供应链。Cursor 那个 0-Day 虽然没补丁,但排查成本低,顺手就能查。

下面按「先判断影响面 → 再复制配置验证 → 最后排错」的顺序展开,每一步都给可复制的命令和配置,你照着改路径和参数就能用。

2. 用 Cursor 辅助排查 SonicWall、微软、SAP 漏洞影响面

这一节讲怎么把 Cursor 当成一个「本地安全排查助手」来用,而不是只当代码补全。思路是:把资产清单、版本号、依赖文件丢给 Cursor,让它帮你比对今天这批 CVE 的受影响版本区间,生成一份待处理列表。注意,Cursor 本身今天也有一个未修补的 0-Day(恶意 Git 仓库根目录放 git.exe 会被自动执行),所以用它排查之前,先确认你打开的仓库来源可信,别在来路不明的仓库里直接开 Cursor。

先说 SonicWall SMA1000。受影响型号是 6210、7210、8200v,漏洞是 CVE-2026-15409(SSRF,CVSS 10.0)和 CVE-2026-15410(AMC 代码注入,CVSS 7.2),修复版本是 Hotfix 12.4.3-03453 或 12.5.0-02835。你可以在 Cursor 里新建一个assets.md,把设备型号和当前固件版本贴进去,然后让 Cursor 按版本号比对,输出哪些设备需要升级。这一步的关键是版本号要精确到 Hotfix 号,别只写 12.4。

微软这边,7 月补丁日修了 570 多个 CVE,其中三个零日:CVE-2026-56164(SharePoint 缺失认证,在野利用)、CVE-2026-56155(AD FS 访问控制不足,在野利用)、CVE-2026-50661(BitLocker 物理绕过,PoC 已公开)。另外还有 CVE-2026-55040(SharePoint JWT 认证绕过,Pwn2Own 链的前半段,RCE 部分推迟到 8 月)、CVE-2026-56190(RDP RCE,CVSS 9.8)、CVE-2026-57092(Hyper-V VMSwitch 逃逸,CVSS 9.9)。你可以让 Cursor 读你的补丁清单 CSV,标出哪些机器还没打 7 月补丁。

SAP 部分,CVE-2026-44747 是 NetWeaver AS ABAP 的内存损坏,CVSS 9.9,影响 7.22 到 9.20 版本,修复看 SAP Security Note 3747367;CVE-2026-27690 是 Approuter HTTP 请求走私,CVSS 9.1,影响 20.10.0 以下非 Cloud Foundry 部署,修复看 Note 3720138。让 Cursor 帮你从 SAP 系统导出的组件版本表里筛出命中区间的条目。

AsyncAPI npm 供应链这块,攻击者通过 GitHub Actions 的 pull_request_target 漏洞(pwn request)入侵了两个 AsyncAPI 仓库,用项目自己的发布流水线发了 5 个恶意 npm 包,周下载量超 300 万。恶意代码在require()时触发,不是安装时,所以--ignore-scripts挡不住。让 Cursor 扫你所有package-lock.json,找出 AsyncAPI 相关依赖和版本。

Cursor 自己的 0-Day 排查最简单:在 Windows 上打开仓库时,如果根目录有git.exe,Cursor 会自动运行它。让 Cursor 扫你本地所有仓库根目录有没有这个文件就行。

3. 可复制的排查配置与验证片段

这一节给能直接复制的配置。先给 Cursor 的项目规则文件,放在仓库根目录.cursor/rules/security-audit.mdc,让 Cursor 按固定格式输出排查结果:

{ "audit_targets": [ { "product": "SonicWall SMA1000", "affected_models": ["6210", "7210", "8200v"], "cves": ["CVE-2026-15409", "CVE-2026-15410"], "fixed_versions": ["12.4.3-03453", "12.5.0-02835"], "kev_deadline": "2026-07-17" }, { "product": "Microsoft SharePoint Server", "cves": ["CVE-2026-56164", "CVE-2026-55040"], "kev_deadline": "2026-07-17", "note": "JWT bypass fixed, RCE component deferred to August" }, { "product": "Microsoft AD FS", "cves": ["CVE-2026-56155"], "kev_deadline": "2026-07-28" }, { "product": "SAP NetWeaver AS ABAP", "affected_versions": ["7.22", "9.20"], "cves": ["CVE-2026-44747"], "fixed_note": "SAP Security Note 3747367" }, { "product": "SAP Approuter", "affected_versions": ["< 20.10.0"], "cves": ["CVE-2026-27690"], "fixed_note": "SAP Security Note 3720138" } ] }

再给一个 npm 依赖排查脚本,直接跑就能列出可疑包:

#!/usr/bin/env bash # scan-asyncapi-supply-chain.sh set -euo pipefail echo "[*] 扫描 package-lock.json 中的 AsyncAPI 相关依赖" find . -name "package-lock.json" -not -path "*/node_modules/*" | while read -r lock; do echo "--- $lock" grep -nE '"(@asyncapi/[^"]+|asyncapi[^"]*)"' "$lock" || echo " 未发现 AsyncAPI 依赖" done echo "[*] 检查 require 时触发的可疑模块(sync.js / .miasma 痕迹)" grep -rnE 'require\(.*sync\.js|\.miasma' . \ --include="*.js" --include="*.json" \ --exclude-dir=node_modules 2>/dev/null || echo " 未发现可疑痕迹"

Cursor 0-Day 的本地排查脚本,扫所有仓库根目录:

#!/usr/bin/env bash # scan-cursor-git-exe.sh set -euo pipefail ROOT="${1:-$HOME}" echo "[*] 扫描 $ROOT 下所有 Git 仓库根目录的 git.exe" find "$ROOT" -maxdepth 4 -type d -name ".git" 2>/dev/null | while read -r gitdir; do repo="$(dirname "$gitdir")" if [ -f "$repo/git.exe" ]; then echo "[!] 可疑: $repo/git.exe" ls -la "$repo/git.exe" fi done echo "[*] 扫描完成"

如果你要把这些排查动作接到一个统一的模型服务上做批量分析,可以用 TaoToken 的 API 端点https://taotoken.net/api,把上面的 JSON 清单和脚本输出作为上下文,让模型帮你归类优先级。API Key 在控制台生成,模型 ID 按你实际用的填。这里给一个最小调用示例:

curl -s https://taotoken.net/api/v1/chat/completions \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $TAOTOKEN_API_KEY" \ -d '{ "model": "claude-sonnet-4-5", "messages": [ {"role": "user", "content": "根据以下资产清单和 CVE 列表,按 KEV 截止日期排序输出待处理项:<粘贴上面的 JSON>"} ] }'

注意 Base URL、Key、Model ID 三件套要对应上,Base URL 用https://taotoken.net/api,Key 用控制台生成的,Model ID 按你订阅的模型填。这三样任何一个不对,请求都会失败,下一节会讲具体报错。

4. 验证请求与成功结果

配置写完要验证。先验证 npm 排查脚本,在一个测试仓库里放一个假的package-lock.json,里面写一行"@asyncapi/specs": "1.0.0",跑脚本应该输出:

[*] 扫描 package-lock.json 中的 AsyncAPI 相关依赖 --- ./package-lock.json 3: "@asyncapi/specs": "1.0.0",

再验证 Cursor 0-Day 排查脚本,在临时目录建一个test-repo/.git和test-repo/git.exe,跑脚本应该输出[!] 可疑: .../test-repo/git.exe。这两个脚本跑通,说明你的排查链路是活的。

验证 API 调用,用上面的 curl,正常返回是 JSON,choices[0].message.content里会有模型整理好的优先级列表。如果返回 401,说明 Key 不对或没带Bearer;如果返回local proxy failed,说明你的网络出口或代理配置有问题,检查环境变量HTTP_PROXY/HTTPS_PROXY是否指向了不可用的地址;如果返回reading choices相关错误,通常是响应体不是预期 JSON,可能是 Base URL 写错,比如漏了/v1或写成了首页地址。

验证 SonicWall 修复,登录 SMA1000 管理界面,在固件版本页确认版本号是12.4.3-03453或12.5.0-02835。验证 SharePoint 补丁,在服务器上跑:

Get-HotFix | Where-Object { $_.HotFixID -match "KB" } | Sort-Object InstalledOn -Descending | Select-Object -First 10

看最近安装的补丁里有没有 7 月补丁日的 KB。验证 SAP,在 ABAP 系统里跑SM51看内核版本,或让 Basis 确认 Note 3747367 已应用。

成功结果长这样:SonicWall 版本号匹配修复版本、SharePoint 补丁列表里有 7 月 KB、npm 脚本输出为空或只有正常依赖、Cursor 脚本没报可疑文件、API 返回结构化的优先级列表。这几项都过,今天的紧急响应就算落地了。

5. 本篇常见报错排查

第一个高频报错是 API 调用返回 401。原因通常是 Key 没带对,或者把 Key 写进了 URL 而不是 Header。正确写法是Authorization: Bearer $TAOTOKEN_API_KEY,Key 从控制台复制,别手动改字符。如果你用的是 Cursor 或 Cline 这类工具,在设置里填 Base URLhttps://taotoken.net/api、API Key、Model ID 三件套,缺一个都会 401。

第二个是local proxy failed。这个报错一般出现在你本机设了代理但代理不可用的时候。检查env | grep -i proxy,如果有HTTP_PROXY指向一个已经关掉的本地端口,清掉再试。注意这里说的是本机环境变量层面的排查,不是让你去搭什么通道,就是把失效的本地代理配置删掉。

第三个是reading choices相关错误,比如cannot read property 'choices' of undefined。这通常是响应不是 JSON,可能是 Base URL 写成了https://taotoken.net(少了/api),或者请求打到了首页返回了 HTML。确认端点完整是https://taotoken.net/api/v1/chat/completions。

第四个是 OAuth 相关报错,出现在你用某些 CLI 工具接入时。比如 Codex 的auth.json配置,如果base_url和api_key不匹配,会报 OAuth 失败。检查~/.codex/auth.json里的字段:

{ "base_url": "https://taotoken.net/api", "api_key": "你的Key", "model": "claude-sonnet-4-5" }

三件套对齐后重启 CLI。如果你用 CC Switch 或 Cline MCP,同样在配置里确认 Base URL、Key、Model ID 三项一致,MCP 的 server 配置里别把生产库连接串写进去,用测试环境。

第五个是 npm 脚本跑出来一堆误报。grep会把注释里的sync.js也匹配上,你可以加--include限定文件类型,或者人工过一遍输出。真正的恶意痕迹是require()调用里出现sync.js,以及.miasma目录。

第六个是 Cursor 排查脚本扫太慢。find从$HOME开始扫大目录会慢,把ROOT参数换成你的代码目录,比如./scan-cursor-git-exe.sh ~/projects,速度会快很多。

6. 把今天的排查动作固化成日常流程

今天这批漏洞里,SonicWall 和 SharePoint 是必须在截止日期前处理的,SAP 和 npm 供应链是本周内要覆盖的,Cursor 0-Day 是顺手排查的。我的建议是把上面三个脚本放进你的日常巡检,每周跑一次 npm 依赖扫描和 Cursor 仓库扫描,SonicWall 和 SharePoint 的版本核对接到你的资产管理系统里。

如果你想把排查结果做批量分析,或者让模型帮你从一堆 CVE 里排优先级,可以用 TaoToken 的模型对话能力,把资产清单和 CVE 列表丢进去,让它按 KEV 截止日期和 CVSS 排序。长期做安全编码和 Agent 自动化的团队,可以看 Coding Plan,把排查脚本和模型调用串成流水线。API Key 在控制台生成,接入文档里有各语言的最小示例。

最后提醒一句:所有 PoC 代码只在隔离环境跑,别在生产机器上验证。今天提到的 CVE-2026-6307(Chrome V8)、CVE-2026-43499(Linux 内核 Futex)、CVE-2026-47291(HTTP.sys)都有公开 PoC,跑之前确认环境隔离。SonicWall 的修复版本号要精确到 Hotfix,别只升大版本。SharePoint 的 JWT 绕过虽然修了,但 RCE 部分推迟到 8 月,这段时间 SharePoint 处于半暴露状态,加固公告里的 IIS 机器密钥检查要做。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询