Fleet 4.10.0 发布解析:为漏洞分析师打造的软件清单、Webhook 自动化与 MDM 数据聚合

发布时间:2026/9/18 23:58:10

Fleet 4.10.0 发布解析:为漏洞分析师打造的软件清单、Webhook 自动化与 MDM 数据聚合 Fleet 4.10.0 发布解析为漏洞分析师打造的软件清单、Webhook 自动化与 MDM 数据聚合【免费下载链接】fleetOpen device management项目地址: https://gitcode.com/GitHub_Trending/fl/fleetFleet 4.10.0 是一期面向漏洞分析与 IT 运维的版本更新核心变化包括全新的全局 Software 页面软件清单聚合与 CVE 检索、可配置的漏洞 Webhook 自动化新 CVE 自动通知以及 MDM 与 Munki 数据的全局聚合视图。读完本文你将掌握这三个特性的使用场景与配置方式并通过仓库源码理解其底层实现例如 Webhook 的请求载荷结构、批处理逻辑与漏洞周期扫描配置。版本概览本版本发布于 2022 年 2 月主题是为漏洞分析师带来新功能与改进。三个 Feature highlights 分别是全新的Software 页面Fleet UI 内全局软件清单关联 issue #3397 对应的能力漏洞 Webhook 自动化的配置与发送关联 #3050 对应的能力聚合 MDM移动设备管理与 Munki 数据关联 #3263 对应的能力。同时4.10.0 将 Settings 入口从主导航移入 Account 下拉菜单使主导航更简洁也为新加入的 Software 导航项腾出空间。一、全新的 Software 页面全局软件清单与漏洞视角在 4.10.0 之前软件清单主要停留在单台 Host 的维度host-specific software inventory。本次更新将其提升到组织级Software 页面展示整个组织范围内安装软件的去重聚合列表并支持按团队team过滤。对于管理大量设备的漏洞分析师来说这个页面的价值在于直接查看受漏洞CVE影响的软件并看到受影响设备数量据此追踪整个 Fleet 的打补丁patching进度。相关的搜索与过滤能力伴随 Software 页面4.10.0 还补充了两项针对漏洞排查的查询能力按 CVE 搜索软件可直接用 CVE 编号检索对应的软件条目Host 详情页新增 Vulnerable 过滤在 Host detail 页按存在漏洞状态过滤软件。这些能力共同构成了从全局软件 → 具体 CVE → 受影响 Host的下钻路径是漏洞分析师日常巡检的关键工作流。从源码看软件与漏洞的关联实现软件清单与漏洞的关联建立在漏洞处理模块之上。VulnerabilitiesConfig定义了漏洞扫描的全部关键参数见 server/config/config.go其中databases_path是唯一强制配置项默认值为/tmp/vulndbsFleet 需要对该路径具备读写权限periodicity控制漏洞检查周期默认1h同时它也是每个软件的受影响主机数的统计间隔详见 docs/Configuration/fleet-server-configuration.md。而按 CVE 搜索软件背后是 CVE、CPE通用平台枚举与软件清单的匹配链路Fleet 通过cpe_database_url、cpe_translations_url与cve_feed_prefix_url获取 NVD 数据流未配置时默认从 nvd.nist.gov 拉取结合各 Host 上报的软件信息完成漏洞匹配。配置项汇总如下配置项默认值说明vulnerabilities.databases_path/tmp/vulndbs漏洞数据库存储路径唯一必填项需可读可写vulnerabilities.periodicity1h漏洞检查周期同时决定每软件受影响主机数的统计间隔vulnerabilities.cpe_database_url自定义 CPE 字典下载地址未设置时自动检查最新 releasevulnerabilities.cpe_translations_urlCPE 翻译数据下载地址用于补充匹配vulnerabilities.cve_feed_prefix_url旧版 CVE Feed 前缀地址未设置时使用 NVD 2.0 APIvulnerabilities.cisa_known_exploits_urlCISA 官方目录已知被利用漏洞KEV目录用于增强漏洞报告二、配置并发送漏洞 Webhook 自动化4.10.0 的另一核心能力是漏洞自动化通知当启用漏洞自动化后Fleet 检测到新漏洞CVE时会主动向配置的 URL 发送请求从而自动通知设备负责人或创建工单来跟踪该漏洞。信号降噪仅通知最近两天的新漏洞为了避免告警噪声Fleet 只对发布距今不超过两天的新漏洞发送通知。对应到服务端配置即vulnerabilities.recent_vulnerability_max_age默认值为48h见 docs/Configuration/fleet-server-configuration.mdvulnerabilities: recent_vulnerability_max_age: 48h该配置限定了新发布漏洞的时间窗口超出窗口的存量 CVE 不会触发 Webhook。配置方法GitOps / YAML 方式在 GitOps 模式下漏洞 Webhook 属于org_settings下的全局配置只能为 All fleets全局配置见 docs/Configuration/yaml-files.mdorg_settings: webhook_settings: vulnerabilities_webhook: enable_vulnerabilities_webhook: true destination_url: https://example.org/webhook_handler host_batch_size: 0参数含义enable_vulnerabilities_webhook是否启用漏洞 Webhook默认falsedestination_urlWebhook 触发时POST的目标 URL默认host_batch_size单个 Webhook 请求中最多包含的主机标识数量0表示把检测到该漏洞的所有主机标识放在同一个请求中发送。从源码看 Webhook 的实现细节Webhook 的设置模型定义在 server/fleet/app.gotype VulnerabilitiesWebhookSettings struct { Enable bool json:enable_vulnerabilities_webhook DestinationURL string json:destination_url HostBatchSize int json:host_batch_size }触发逻辑位于 server/webhooks/vulnerabilities.go其工作流程为检查VulnerabilitiesWebhook.Enable未启用则直接返回将本次扫描发现的漏洞按 CVE 分组cveGrouped针对每个 CVE通过ds.HostVulnSummariesBySoftwareIDs查询受影响主机摘要按HostBatchSize分批0表示不分批每批构造载荷并通过sendVulnerabilityHostBatch发送。发送的请求体为{timestamp: 时间, vulnerability: WebhookPayload}见 server/webhooks/vulnerabilities.go。而WebhookPayload的结构定义在 server/webhooks/mapper.go包含{ cve: CVE-2022-xxxx, details_link: https://fleet.example.com/vulnerabilities/CVE-2022-xxxx, epss_probability: 0.012, // Premium 专属 cvss_score: 7.8, // Premium 专属 cisa_known_exploit: false, // Premium 专属 cve_published: 2022-02-01T00:00:00Z, // Premium 专属 hosts_affected: [ { id: 42, hostname: mbp-01, display_name: mbp-01, url: https://fleet.example.com/hosts/42, software_installed_paths: [/Applications/App.app] } ] }其中details_link指向该 CVE 的详情页hosts_affected中的每个主机带id、hostname、display_name、跳转 URL 以及可选的software_installed_paths软件安装路径列表用于帮助定位需要修补的具体文件。此外epss_probability、cvss_score、cisa_known_exploit、cve_published为 Premium 版本专属字段用于让接收方如工单系统在无需回查 Fleet 的情况下就能评估漏洞严重度与利用风险。也就是说Fleet 4.10.0 的漏洞 Webhook 并不是简单发一条有新漏洞的通知而是把 CVE 详情、评分、利用状态与受影响主机清单一并打包方便下游自动化工单直接消费。三、聚合 MDM 与 Munki 数据第三项特性面向 IT 管理员监控所有设备的 MDM 注册状态并查看安装了特定 Munki 版本macOS 软件分发工具的设备数量用于追踪升级进度。需要注意的适用范围MDM 注册数据目前仅适用于 macOS 设备官方说明将扩展到 Windows 与 Linux 设备后续版本实现Munki 版本统计用于跟踪自管 macOS 环境中 Munki 客户端的升级覆盖情况是判断补丁/软件分发客户端是否陈旧的直观指标。这两类数据与 Software 页面同属全局聚合视图方向前者把分散在各 Host 详情页的 MDM 状态汇总为一张全景图后者则把 Munki 客户端版本作为可量化的升级指标。四、更多改进与问题修复运维与调试新增SHOW ENGINE INNODB STATUS输出改善了调试工具当排查 MySQL/InnoDB 问题时可直接获取引擎状态支持配置 Sentry可在 Fleet 服务端集成 Sentry 进行错误上报。对应配置结构定义在 server/config/config.gosentry: dsn: https://xxxxsentry.example.com/1移除配置扁平化config flattening过程服务端配置对象更健壮减少因扁平化转换导致的配置丢失风险。UI 与交互体验Settings 移入 Account 下拉菜单主导航更清爽为新增的 Software 导航项留出空间团队名称与描述的编辑体验改进策略Policies与查询Queries的编辑体验改进Host 详情页可直接访问团队 Enroll Secret并下载团队专属的 osquery 安装器方便按团队维度快速完成设备接入不必再返回团队设置页翻找密钥。命令行工具扩展了fleetctl新的简化实现更多子命令迁移到精简实现命令行为更一致。Bug 修复修复 UI 的 padding、元素摆放等样式问题团队现在能正确上报分配给它们的主机数量此前存在统计偏差修复登出页面的 UI 缺陷GET /software接口现在返回预期的结果数量此前存在分页或聚合计数问题。五、如何升级到 Fleet 4.10.0如需升级请参考 Fleet 官方升级指南upgrade guide完成版本迁移。升级前建议重点确认若依赖漏洞扫描确认vulnerabilities.databases_path指向的路径存在且可读写并关注periodicity、recent_vulnerability_max_age是否符合告警节奏若准备启用漏洞 Webhook先在org_settings.webhook_settings.vulnerabilities_webhook中配置好destination_url并用host_batch_size控制请求体大小若使用 GitOps 模式注意 Settings 相关页面入口的迁移设置已从主导航移入 Account 下拉菜单GitOps 文件格式不受影响。完整的版本变更说明见仓库 CHANGELOG.md本版本的发布说明与配置示例可对照 docs/Configuration/yaml-files.md 和 docs/Configuration/fleet-server-configuration.md 继续深入阅读。【免费下载链接】fleetOpen device management项目地址: https://gitcode.com/GitHub_Trending/fl/fleet创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/9/18 23:58:10

伪全球变暖(PGW)方法:原理、实验设计与PGW4ERA5实操细节

做极端事件气候变化影响的研究,最让人头疼的一步往往不是模式本身,而是“怎么把未来的气候信号加到当前的真实天气过程里”。直接拿 GCM 输出驱动区域模式,模拟出来的天气系统经常在时间和位置上跟实况脱节,根本没法当成“同一个事…

2026/9/18 23:53:10

grep转义完全指南:BRE、ERE与-F模式下的正则符号处理

我最早意识到“grep转义”是个值得单独写一篇的东西,是因为一次特别丢人的线上操作。当时我在排查一个Nginx日志里的来源IP分布,想精确统计192.168.1.10这个地址出现了多少次,于是很自然地敲了这条命令:grep "192.168.1.10&q…

2026/9/18 23:53:10

Linux grep命令完全指南:从基础搜索到正则与日志分析实战

工作了十来年,我几乎每天都要跟 Linux 打交道。如果让我在所有命令里只能留一个贴身工具,那多半就是 grep。你可以在任何一台机器上跑grep --help,但说实话,很少有人真正把 grep 吃透。很多人只会拿它简单的搜个关键字&#xff0c…

2026/9/19 0:48:14

UML系统设计证据链:从用例到部署的全栈一致性验证

简介:本资源是一份高校《软件系统分析与设计》课程的大作业完整报告,面向计算机、软件工程等专业本科生,聚焦企业级信息系统建模与实践能力培养。报告以ERP系统为案例,系统呈现了需求分析、模块划分(含基础数据维护、生…

2026/9/19 0:48:14

嵌入式工程师能力图谱:从单片机裸机到Linux驱动的四层验证

简介:本资源是一份面向嵌入式软件工程师求职者的高质量技术简历模板与能力范本,适用于应届生、转岗者及3–5年经验的开发者参考学习。简历完整呈现了扎实的嵌入式全栈能力:涵盖C/C/汇编语言基础、AVR/FreeScale/ARM等多平台单片机开发经验&am…

2026/9/19 0:48:14

2026款拯救者Y9000P深度学习环境精准调校指南

1. 为什么2026款拯救者Y9000P值得为深度学习专门调校我上个月把这台刚到手的2026款拯救者Y9000P拆开清灰时,顺手测了下双烤功耗——CPUGPU同时满载,整机稳定输出185W,其中RTX 5090 Laptop独占140W。这个数字不是厂商宣传页上的峰值&#xff0…

2026/9/18 14:13:01

拯救者Y7000黑屏故障排查与维修实战指南

1. 项目概述:一台黑屏的拯救者Y7000,到底卡在哪一步? 联想拯救者Y7000系列笔记本,从2018年第一代搭载i5-8300H开始,到后来的i7-9750H、i7-10750H、i5-11400H,再到2023年款的R7-7840HS,它始终是学…

2026/9/19 0:03:10

验证 OpenSpec 兼容性,Cursor 的 Token 从 TaoToken 出

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/19 0:03:10

书桌角落的 Mac mini,OpenClaw 通过 TaoToken 跑任务。

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/19 0:03:10

oh-my-hermes:打造跨工具的命令编排与插件化工作流

1. 项目概述与设计初衷1.1 它到底是什么先说结论:oh-my-hermes 是一个面向开发者日常终端操作的效率工具套件,核心定位是“把分散在各类命令行工具里的高频操作,统一收拢成一套插件化、可编排的工作流”。项目灵感来源很明显——oh-my-zsh 重…

2026/9/18 14:13:03

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/18 14:13:02

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/18 14:13:02

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码