开源项目
BishopFox/sliver avatar
BishopFox/sliver

Sliver:对抗模拟框架中的 implant、C2 与测试边界

对手仿真框架。 Sliver 的植入程序支持基于相互 TLS (mTLS)、WireGuard、HTTP(S) 和 DNS 的 C2,并使用每个二进制非对称加密密钥进行动态编译。

11,838 个 Star1,587 个 ForkGoGPL-3.0
GitHub

秒懂

它是什么?
用于安全测试的开源跨平台 adversary emulation 和红队框架
适合谁用?
适合mTLS、WireGuard、HTTP(S)、DNS C2、动态代码生成、staged/stageless payload 与多人模式且能按项目要求准备运行条件的用户,不适合忽略受控对抗模拟与防御检测验证的直接生产部署。先执行 服务端、客户端支持 macOS、Windows、Linux,implant 支持范围还包含未充分测试的 Go 目标 或 README 指定入口,记录输入、输出、版本、权限和日志,再据此判断 Sliver 是否符合你的实际流程。
能商用吗?
可以,但有条件。GPL-3.0 是 copyleft 许可证:如果你分发包含它的软件,就必须以同一许可证公开该软件的源代码。只在内部运行、不对外分发,则不会触发这项义务。
还在维护吗?
在维护。仓库最近一次提交在 1 天前。
用什么语言写的?
主要是 Go(依据 GitHub 的语言统计)。

以上回答依据项目的 GitHub 数据(最近同步于 2026年9月15日)和我们的分析,不构成法律意见。

开源项目深度解析

Sliver 的边界由 在获授权环境生成 implant 并测试 C2 与主机防御 定义

Sliver 的 README 将它定位为在获授权环境生成 implant 并测试 C2 与主机防御。这意味着它首先解决的是mTLS、WireGuard、HTTP(S)、DNS C2、动态代码生成、staged/stageless payload 与多人模式,而不是一个可以替代所有同类工具的抽象平台。本文只采用仓库 README、版本记录和元数据中能直接核对的内容,项目自报的规模、性能或覆盖范围都按自报信息处理。

Sliver:从使用者角度看,第一步是把 Sliver 的目标输入、输出和运行环境写清楚。Windows 进程迁移、注入、令牌操作和内存执行均属于高风险测试能力。文档没有说明的兼容条件、数据保留策略和服务承诺,不能从项目名称或 star 数量推导出来。 Sliver 的这一项结果应与原始输入逐项对照,并把差异写进记录。

Sliver 的核心路径落在 curl https://sliver.sh/install|sudo bash sliver

README 列出的主要能力包括Windows 进程迁移、注入、令牌操作和内存执行均属于高风险测试能力。这些能力之间有清楚的输入关系:先让 Sliver 识别或接收对象,再执行处理,最后查看生成结果、日志或目标服务状态。对mTLS、WireGuard、HTTP(S)、DNS C2、动态代码生成、staged/stageless payload 与多人模式的用户,这种路径比宣传性的功能总表更适合用来规划试用。

Sliver:边界也同样具体。curl https://sliver.sh/install|sudo bash sliver。一次命令返回成功,只能说明 Sliver 对该次输入完成了程序路径,不能证明异常输入、升级后版本或另一种平台条件也会得到相同结果。 Sliver 的这一项结果应与原始输入逐项对照,并把差异写进记录。

从 服务端、客户端支持 macOS、Windows、Linux,implant 支持范围还包含未充分测试的 Go 目标 开始的最小试运行

README 给出的 Sliver 入口是:

Sliver:服务端、客户端支持 macOS、Windows、Linux,implant 支持范围还包含未充分测试的 Go 目标

Sliver:这条入口应在隔离目录或测试账户中执行,先保存版本标签和原始输入。监听器、implant 二进制、C2 信道、密钥和测试主机权限。若命令涉及网络、凭据、容器、GPU 或写入原文件,执行前要确认权限范围和回滚方式。

Sliver:试运行时应观察 Sliver 实际产生的结果,而不是只看进程退出码。README 未说明默认监听地址、凭据保管、检测覆盖率和生产环境隔离方案。对于文档没有列出的参数默认值,应把终端输出、生成文件名和错误信息保存下来,后续再对照仓库 issue 或 release 记录。 Sliver 的这一项结果应与原始输入逐项对照,并把差异写进记录。

Sliver 的数据与权限检查点

Sliver 的实际风险集中在README 未说明默认监听地址、凭据保管、检测覆盖率和生产环境隔离方案。README 明确写出的配置、存储或访问控制是核验起点;没有写出的密钥轮换、日志保留、网络暴露和多用户隔离,本文一律记为文档未说明。对个人工具,这关系到数据是否留在本机;对服务部署,这关系到谁能调用接口或读取持久化内容。

Sliver:测试记录应把 Sliver 的输入摘要、配置文件、环境变量名称、输出位置和版本放在一起,但不要把真实密钥写进记录。README 提供最新 release 入口,具体版本应以下载时的 GitHub 标签为准。如果项目把某些能力标为可选、实验性或需要付费计划,选型时要把对应条件单独列出。 Sliver 的这一项结果应与原始输入逐项对照,并把差异写进记录。

Sliver 的版本标签与依赖成本

当前素材记录的 Sliver 版本是 GPLv3 适用于项目,子组件可能有独立许可证,许可证是 GPL-3.0。版本号只能指向一个可追溯快照,许可证说明的是代码使用和分发条件,二者都不能直接证明性能或安全性。GPLv3 适用于项目,子组件可能有独立许可证。涉及云资源、模型调用、容器或大型依赖时,还要把账单、启动时间和本地硬件列为独立观察项。

Sliver:维护时优先比较 Sliver release 的变更、README 的安装入口和当前配置的差异。授权范围、测试网段、implant 摘要、C2 日志、告警时间线和清理结果。若要从源码构建,应记录工具链与构建日志;若使用预构建包,应记录下载来源和校验方式。出现回归时,最有价值的是一组可复现的输入、输出和错误日志。 Sliver 的这一项结果应与原始输入逐项对照,并把差异写进记录。

Sliver 适合怎样的验收记录

针对mTLS、WireGuard、HTTP(S)、DNS C2、动态代码生成、staged/stageless payload 与多人模式,Sliver 的验收不应只写“能运行”。应记录先在专用实验网建立最小 mTLS C2,再确认蓝队能看到 DNS canary 或对应告警,再重复一次同样的输入,确认结果是否符合 README 对该功能的描述。不要把一次 implant 回连成功当作防御能力通过,必须对照主机和网络遥测验收。这一步能区分程序确实完成了目标,还是只创建了一个看似成功的中间文件或页面。

Sliver:若 Sliver 的结果不符合预期,先固定版本和输入,再只改变一个变量。把终端命令、配置、输出摘要和日志附在 issue 或内部记录中。适合有明确书面授权、蓝队协同和隔离实验环境的安全团队。这种项目专属记录比笼统地评价“好用”或“生产可用”更有决策价值。 Sliver 的这一项结果应与原始输入逐项对照,并把差异写进记录。

Sliver 的采用结论

从 README 能确认的是:攻击链的隐蔽性、第三方组件许可证和跨平台 implant 兼容性。从 README 不能确认的是受控对抗模拟与防御检测验证。因此采用判断应围绕项目的真实输入和运行条件展开,不把社区热度当作验收结果。

Sliver:对需要mTLS、WireGuard、HTTP(S)、DNS C2、动态代码生成、staged/stageless payload 与多人模式的读者,最小验证路径已经足够暴露关键限制:执行指定命令,查看指定输出,核对版本和许可证,再检查数据是否进入预期位置。若任一环节与部署要求不符,就应停在试验阶段,保留失败记录而不是扩大权限或替换生产数据。 Sliver 的这一项结果应与原始输入逐项对照,并把差异写进记录。

编辑结论

适合mTLS、WireGuard、HTTP(S)、DNS C2、动态代码生成、staged/stageless payload 与多人模式且能按项目要求准备运行条件的用户,不适合忽略受控对抗模拟与防御检测验证的直接生产部署。先执行 服务端、客户端支持 macOS、Windows、Linux,implant 支持范围还包含未充分测试的 Go 目标 或 README 指定入口,记录输入、输出、版本、权限和日志,再据此判断 Sliver 是否符合你的实际流程。

官方来源

  1. Official README
  2. Project repository
  3. Release notes
社区笔记

社区笔记