漏洞详情
- Tier: 旗舰版
- Offering: JihuLab.com, 私有化部署
每个项目中的漏洞都有一个漏洞页面,其中包含漏洞的详细信息,包括:
- 描述
- 检测时间
- 当前状态
- 可用操作
- 已链接的议题
- 操作日志
- 漏洞的文件名和行号(如果可用)
- 严重性
对于 常见漏洞和暴露(CVE) 目录中的漏洞,这些详细信息还包括:
- CVSS 分数
- EPSS 分数
- KEV 状态
- 可达性状态(测试版)
有关这些附加数据的更多详细信息,请参见 漏洞风险评估数据。
如果扫描器确定漏洞为误报,则在漏洞页面顶部会包含一个警报消息。
支持的漏洞解决
为了确保建议的解决方案质量高,漏洞解决功能仅适用于特定的漏洞集。系统根据漏洞的常见弱点枚举(CWE)标识符决定是否提供漏洞解决功能。
我们根据自动化系统和安全专家的测试选择当前的漏洞集。我们正在积极努力扩大覆盖范围,以涵盖更多类型的漏洞。
- CWE-23: 相对路径遍历
- CWE-73: 外部控制文件名或路径
- CWE-80: 在网页中不正确地中和与脚本相关的 HTML 标签(基本 XSS)
- CWE-116: 不正确地编码或转义输出
- CWE-118: 错误访问可索引资源(“范围错误”)
- CWE-119: 未正确限制内存缓冲区内的操作
- CWE-120: 未检查输入大小的缓冲区拷贝(“经典缓冲区溢出”)
- CWE-126: 缓冲区过读
- CWE-190: 整数溢出或环绕
- CWE-200: 向未授权行为者暴露敏感信息
- CWE-208: 可观察的时间差异
- CWE-209: 生成包含敏感信息的错误消息
- CWE-272: 最低权限违规
- CWE-287: 认证不当
- CWE-295: 证书验证不当
- CWE-297: 主机不匹配的证书验证不当
- CWE-305: 通过主要弱点绕过认证
- CWE-310: 加密问题
- CWE-311: 未加密敏感数据
- CWE-323: 在加密中重用 Nonce、密钥对
- CWE-327: 使用损坏或风险的加密算法
- CWE-328: 使用弱哈希
- CWE-330: 使用不充分随机值
- CWE-338: 使用加密弱的伪随机数生成器(PRNG)
- CWE-345: 数据真实性验证不足
- CWE-346: 来源验证错误
- CWE-352: 跨站请求伪造
- CWE-362: 使用共享资源的不当同步的并发执行(“竞争条件”)
- CWE-369: 除以零
- CWE-377: 不安全的临时文件
- CWE-378: 用不安全权限创建临时文件
- CWE-400: 无控制的资源消耗
- CWE-489: 活动调试代码
- CWE-521: 弱密码要求
- CWE-539: 使用包含敏感信息的持久性 Cookie
- CWE-599: 缺少验证 OpenSSL 证书
- CWE-611: 不正确地限制 XML 外部实体引用
- CWE-676: 使用潜在危险函数
- CWE-704: 错误类型转换或强制
- CWE-754: 未正确检查异常或特殊情况
- CWE-770: 无限制或节流的资源分配
- CWE-1004: 没有 'HttpOnly' 标记的敏感 Cookie
- CWE-1275: 不正确 SameSite 属性的敏感 Cookie
故障排除
漏洞解决功能有时无法生成建议的修复。常见原因包括:
- 误报检测:在提出修复建议之前,AI 模型会评估漏洞是否有效。它可能判断漏洞不是真实漏洞,或者不值得修复。
- 临时或意外错误:错误消息可能指出 "发生了意外错误","上游 AI 提供商请求超时","出现问题",或类似原因。
- 这些错误可能是由 AI 提供商或极狐GitLab Duo 的临时问题引起的。
- 新请求可能成功,因此您可以尝试再次解决漏洞。
- 如果您持续看到这些错误,请联系极狐GitLab获取帮助。
与第三方 AI API 共享的漏洞解决数据
以下数据与第三方 AI API 共享:
- 漏洞名称
- 漏洞描述
- 标识符(CWE、OWASP)
- 包含易受攻击代码行的整个文件
- 易受攻击的代码行(行号)
漏洞代码流
- Tier: 旗舰版
- Offering: JihuLab.com, 私有化部署
对于特定类型的漏洞,极狐GitLab高级 SAST 提供 代码流 信息。漏洞的代码流是数据从用户输入(源)到易受攻击代码行(汇)的路径,经过所有赋值、操作和净化。
有关如何查看漏洞代码流的详细信息,请参见 漏洞代码流。
漏洞状态值
漏洞的状态可以是:
- 需要筛选:新发现漏洞的默认状态。
- 已确认:用户已查看该漏洞并确认其准确性。
- 已忽略:用户已评估该漏洞并 忽略了它。如果在后续扫描中检测到,已忽略的漏洞将被忽略。
- 已解决:漏洞已被修复或不再存在。如果已解决的漏洞被重新引入并再次检测到,其记录将被恢复并将状态设置为 需要筛选。
漏洞通常经历以下生命周期:
Rendering chart...
漏洞不再检测到
History
- 对于已解决漏洞的提交链接引入于极狐GitLab 17.9,并在私有化部署上 GA。功能标志 vulnerability_representation_information 已删除。
由于故意进行的更改以缓解漏洞或其他更改的副作用,漏洞可能不再检测到。当安全扫描运行并且在默认分支中不再检测到漏洞时,扫描器会将 不再检测到 添加到记录的活动日志,但记录的状态不会改变。相反,您应该检查并确认漏洞已解决,如果是,请 手动将其状态更改为 已解决。您还可以使用 漏洞管理策略 自动将符合特定标准的漏洞状态更改为 已解决。
您可以在漏洞页面的顶部或底部找到解决漏洞的提交链接。
漏洞忽略原因
History
- 引入于极狐GitLab 15.11,使用名为 dismissal_reason 的功能标志。
- 在极狐GitLab 16.0 中,在私有化部署上启用。
- 在极狐GitLab 16.2 中 GA。功能标志 dismissal_reason 被移除。
当您忽略漏洞时,您必须选择以下原因之一:
- 可接受的风险:漏洞已知,并未得到修复或缓解,但被认为是可接受的业务风险。
- 误报:报告错误,其中测试结果错误地指示系统中存在漏洞,而漏洞不存在。
- 缓解控制:漏洞的风险通过组织使用的管理、操作或技术控制(即,保障措施或对策)得到缓解,提供信息系统的等效或可比较的保护。
- 用于测试:发现不是漏洞,因为它是测试的一部分或是测试数据。
- 不适用:漏洞已知,并未得到修复或缓解,但被认为在不会更新的应用程序部分。
更改漏洞的状态
History
- 允许具有 Developer 角色的用户修改漏洞状态(admin_vulnerability)的能力在极狐GitLab 16.4 中被弃用,并在极狐GitLab 17.0 中被删除。
- 在漏洞页面上添加 评论 文本框是在极狐GitLab 17.9 中添加的。
先决条件:
- 您必须至少拥有项目的维护者角色,或具有 admin_vulnerability 权限的自定义角色。
要从漏洞页面更改漏洞的状态:
- 在左侧边栏,选择 搜索或转到 并找到您的项目。
- 选择 安全 > 漏洞报告。
- 选择漏洞的描述。
- 选择 更改状态。
- 从 状态 下拉列表中选择一个状态或 忽略原因,当您想将漏洞的状态更改为 已忽略 时。
- 在 评论 文本框中提供有关忽略原因的更多详细信息的评论。当您应用 已忽略 状态时,必须提供评论。
状态更改的详细信息,包括谁进行了更改以及何时进行,更改记录在漏洞的操作日志中。
为漏洞创建极狐GitLab议题
您可以创建极狐GitLab议题来跟踪为解决或缓解漏洞而采取的任何行动。要为漏洞创建极狐GitLab议题:
- 在左侧边栏,选择 搜索或转到 并找到您的项目。
- 选择 安全 > 漏洞报告。
- 选择漏洞的描述。
- 选择 创建议题。
议题在极狐GitLab项目中创建,包含漏洞报告的信息。
要创建 Jira 议题,请参见 为漏洞创建 Jira 议题。
将漏洞链接到极狐GitLab和 Jira 议题
您可以将漏洞链接到一个或多个现有的 极狐GitLab 或 Jira 议题。一次只能使用一个链接功能。添加链接有助于跟踪解决或缓解漏洞的议题。
将漏洞链接到现有极狐GitLab议题
先决条件:
- Jira 议题集成不能启用。
要将漏洞链接到现有极狐GitLab议题:
- 在左侧边栏,选择 搜索或转到 并找到您的项目。
- 选择 安全 > 漏洞报告。
- 选择漏洞的描述。
- 在 已链接议题 部分,选择加号图标 ()。
- 对每个要链接的议题,执行以下操作之一:
- 粘贴议题的链接。
- 输入议题的 ID(以井号 # 前缀)。
- 选择 添加。
选择的极狐GitLab议题会添加到 已链接项目 部分,并更新已链接议题计数器。
链接到漏洞的极狐GitLab议题显示在漏洞报告和漏洞页面中。
请注意漏洞和已链接极狐GitLab议题之间的以下条件:
- 漏洞页面显示相关议题,但议题页面不显示其相关的漏洞。
- 议题一次只能与一个漏洞相关。
- 议题可以跨群组和项目链接。
将漏洞链接到现有 Jira 议题
先决条件:
- 确保 Jira 议题集成已 配置,并选择 为漏洞创建 Jira 议题 复选框。
要将漏洞链接到现有 Jira 议题,请在 Jira 议题的描述中添加以下行:
plaintext/-/security/vulnerabilities/<id>
<id> 是任何 漏洞 ID。您可以在一个描述中添加几行不同的 ID。
具有适当描述的 Jira 议题会添加到 相关 Jira 议题 部分,并更新已链接议题计数器。
链接到漏洞的 Jira 议题仅在漏洞页面上显示。
请注意漏洞和已链接 Jira 议题之间的以下条件:
- 漏洞页面和议题页面显示其相关的漏洞。
- 一个议题可以同时与一个或多个漏洞相关。
解决漏洞
对于某些漏洞,解决方案已知,但需要手动实施。漏洞页面中的 解决方案 字段由报告安全发现的安全扫描工具提供,或在 手动创建漏洞 时输入。极狐GitLab工具利用 极狐GitLab咨询数据库 的信息。
此外,一些工具可能包括应用建议解决方案的软件补丁。在这些情况下,漏洞页面包括 通过合并请求解决 选项。
以下扫描器受此功能支持:
要解决漏洞,您可以:
通过合并请求解决漏洞
要通过合并请求解决漏洞:
- 在左侧边栏,选择 搜索或转到 并找到您的项目。
- 选择 安全 > 漏洞报告。
- 选择漏洞的描述。
- 从 通过合并请求解决 下拉列表中选择 通过合并请求解决。
创建应用解决漏洞所需补丁的合并请求。根据您的标准工作流程处理合并请求。
手动解决漏洞
要手动应用极狐GitLab为漏洞生成的补丁:
- 在左侧边栏,选择 搜索或转到 并找到您的项目。
- 选择 安全 > 漏洞报告。
- 选择漏洞的描述。
- 从 通过合并请求解决 下拉列表中选择 下载补丁以解决。
- 确保您的本地项目已签出生成补丁时使用的相同提交。
- 运行 git apply remediation.patch。
- 验证并提交更改到您的分支。
- 创建合并请求以应用更改到您的主分支。
- 根据您的标准工作流程处理合并请求。