Skip to main content

此版本的 GitHub Enterprise Server 已于以下日期停止服务 2026-04-23. 即使针对重大安全问题,也不会发布补丁。 为了获得更好的性能、更高的安全性和新功能,请升级到最新版本的 GitHub Enterprise。 如需升级帮助,请联系 GitHub Enterprise 支持

安全事件调查工具

可用于调查安全事件的核心 GitHub 工具、最适合每个工具的工具,以及影响可用数据的常见注意事项。

使用此参考来确定 GitHub 在安全调查期间要使用的工具、每个工具可以回答哪些问题,以及哪些因素可能会影响你看到的数据。

注意

每个工具(及其提供的数据)的可用性因 GitHub 计划、角色和权限、功能启用和预事件配置而异(例如,审核日志流式处理和 IP 地址泄露需要事先设置)。

活动视图

使用

  • 大致了解特定存储库中的 活动 ,包括合并、推送、强制推送、分支创建和删除,这些活动归因于定义期间的特定执行组件。
  • 将可疑代码外观与 相关的推送或合并相关联。
  • 回答有关 何时 进行更改、 进行了更改、在哪个分支的问题,并浏览差异或提交历史记录。

Permissions

对存储库的读取访问权限。

关键资源

说明和限制

  • 活动视图最好用作初始导航和关联图面;它与原始审核日志导出没有相同的完整性或查询能力。
  • 某些事件需要跨存储库或组织关联,这在审核日志中可能更容易。

审核日志

使用

  • 回答有关企业或组织中更改的内容时间和****人员的问题。
  • 调查可能已导致安全漏洞的事件,或可能指示漏洞的事件,例如成员身份、角色、权限的更改,或访问令牌的生成或使用等。
  • 将安全相关操作归因于执行组件(用户或集成),并生成调查时间线。
  • 按执行组件、操作、IP 地址(如果已启用)或令牌进行筛选,以识别可疑活动或跟踪令牌使用情况。
  • 跨多个存储库或组织关联活动。

Permissions

  • 若要查看组织审核日志,需要是组织所有者。
  • 若要查看企业审核日志,需要是企业管理员。
  • 若要查看安全日志(个人帐户),需要是帐户所有者。
  • 若要查看导出到外部安全信息和事件管理(SIEM)系统、日志管理系统或其他工具和服务的审核日志数据,需要访问该系统。

关键资源

说明和限制

  • GitHub 提供三个审核日志: 企业组织和用户 安全日志
  • GitHub审核日志 UI 的筛选和搜索功能有限。 因此,我们建议企业将企业审核日志 流式传输到 外部 SIEM 或日志管理系统,以便进行更高级的查询。
    • 将审核日志流式传输到外部 SIEM 或日志管理系统需要事先配置。 请参阅“流式处理企业审核日志”。
    • 如果没有审核日志流式处理,您将无法运行更复杂的查询。例如,进行跨组织或仓库的事件关联,或从特定令牌转换至所有相关事件。
    • 流中包含 Git 事件数据。
  • 建议流式处理 API 请求事件;这需要以前的配置。 请参阅“流式处理企业审核日志”。
  • 对于企业 GitHub Enterprise Cloud,我们建议在审核日志中显示 IP 地址,这需要事先配置。 请参阅“在企业审核日志中显示 IP 地址”。
  • 不同的 GitHub 计划具有不同的数据可用性和数据保留产品/服务:
    • GitHub Free 和 GitHub Team 计划根本无法查看 API 活动或 Git 事件。
    • 独立组织(不属于企业的组织)无法进行流传输审核日志、无法查看 API 请求的事件,并且 Git 事件数据仅限于 7 天。
    • 对于企业:GitHub Enterprise Cloud
      • 如果企业使用 Enterprise Managed Users,则审核日志还包括用户 安全日志 (与用户帐户相关的事件,例如登录活动和令牌使用情况)。
      • 如果企业 _不使用_Enterprise Managed Users,则 GitHub 审核日志仅包含与企业帐户及其内部组织相关的事件。
  • 审核日志 不包括 页面视图或存储库浏览遥测。

依赖项关系图

使用

  • 检查存储库是否依赖于 易受攻击或泄露的包 (或版本)。
  • 查看可能在事件期间引入的新依赖项或可疑依赖项
  • 根据生态系统或关系(直接或传递)筛选和浏览依赖项。
  • 导出用于审核目的的软件材料清单(SBOM),或保留证据。

Permissions

  • 写入或维护对存储库的访问权限。

关键资源

说明和限制

  • 依赖项图是从受支持的清单/锁文件(以及可选的生成时提交)生成的,因此它可能不完整或不同于实际生成和部署的内容。 若要获取最准确的视图,尤其是对于 CI/生成期间解决的依赖项,应使用生成时依赖项提交(或其他生成元数据(如 SBOM))来补充依赖项关系图。
          GitHub 代码搜索

使用

  • 在存储库中搜索入侵指标(IoC),例如已知的恶意工作流或软件包名称。
  • 通过检查可疑代码模式(例如泄露的机密或恶意代码片段)是否出现在整个组织或企业的其他存储库中,从而快速确定潜在爆炸半径的范围。
  • 按各种不同限定符限定搜索范围,这些限定符在事件期间可能很有用,例如:
    • 在特定存储库、组织或企业中搜索(使用repo:org:``enterprise:限定符)。
    • 在特定文件路径(path:.github/workflows repo:ORG-NAME/REPO-NAME)内搜索。

所需权限

  • 若要跨公共存储库进行搜索,必须登录到帐户 GitHub 。
  • 若要跨专用存储库进行搜索,必须具有对这些存储库的读取访问权限。

关键资源

说明和限制

  • 支持正则表达式搜索。
  • 仅搜索存储库的默认分支。 如果可疑代码是在非默认分支中引入的,并且尚未合并,则代码搜索不会找到该代码。
  • 可以使用代码搜索来确定某种模式或 IoC 是否存在,但它不提供上下文信息,例如代码何时添加以及由谁添加。 应将代码搜索与其他工具结合使用,例如审核日志、活动视图或检查责任视图、提交历史记录和存储库的拉取请求历史记录。

安全概述和安全警报

使用

  • 查看跨组织或企业存储库的所有安全警报(secret scanning和code scanningDependabot警报)的高级视图。
  • 分类GitHub 已检测到的内容并识别哪些代码库受到影响。
  • 跟踪在事件过程中生成的新警报(这可能指示活动利用或传播)。

所需权限

  • 若要查看企业级组织的数据,企业管理员必须在相关组织中具有组织所有者或安全经理角色。
  • 若要查看组织级别的存储库数据,需要组织所有者或安全管理员角色。

关键资源

说明和限制

  • 仅当事件之前启用了和配置相关功能时,才会显示泄露机密、易受攻击的代码、易受攻击的依赖项和恶意软件的警报。

工作流运行和日志

使用

  • 确认在给定时间在 CI/CD 中执行的内容(例如执行的命令或安装的依赖项)。
  • 调查可疑的工作流运行(例如,由不熟悉的用户触发或异常时间触发的工作流运行),以查看执行了哪些操作、访问了哪些机密以及执行了哪些代码。
  • 确定工作流是否有权访问任何机密。

所需权限

  • 对存储库的读取访问权限。

关键资源

说明和限制

  • GitHub 自动从工作流日志中去除机密信息。
  • 默认情况下,工作流日志将 GitHub 保留 90 天,但可以将此保留期配置为更长(专用存储库最长为 400 天)。