关于Azure版GitHub高级安全访问历史报告的技术问询
Azure版GitHub高级安全历史漏洞报告筛选方案
核心结论
Azure版GitHub高级安全(GHAS for Azure DevOps)当前UI界面确实不支持直接按日期、标签筛选历史漏洞报告,仅提供分支、流水线、状态等筛选维度。以下是几种可行的解决方案:
通过标签/提交哈希定位对应版本的扫描结果
版本标签对应特定的提交记录,你可以在分支筛选器中选择该标签对应的提交分支(标签本质是提交的别名),加载后即可查看该版本发布时的安全扫描状态。如果标签未显示在分支列表中,可直接输入标签名称或提交哈希来定位。使用REST API导出并筛选历史数据
借助Azure DevOps的GHAS REST API,你可以获取全量的扫描历史记录,并通过参数过滤特定时间范围或关联提交的结果。示例请求结构:GET https://dev.azure.com/{组织名}/{项目名}/_apis/codeanalysis/scans?api-version=7.1-preview.3&minLastUpdatedDate={起始日期}&maxLastUpdatedDate={结束日期}你可以添加
commitId参数指定特定提交/标签对应的扫描,获取数据后可自行整理成符合需求的报告。提前配置扫描结果留存机制
在Azure Pipelines中添加自动化任务,每次版本发布或定时扫描完成后,自动导出GHAS的漏洞报告并存储到Azure存储账户或文档库中。比如用Publish Build Artifacts任务保存扫描结果文件,后续需要特定日期/版本的报告时直接调取留存文件即可。结合Azure Monitor分析历史数据
如果已将GHAS扫描数据接入Azure Monitor,可通过Kusto查询语句按时间、提交哈希筛选历史漏洞记录,例如:CodeAnalysisScanLogs | where Timestamp between(datetime(2024-01-01)..datetime(2024-01-31)) | where CommitId == "xxx" | project VulnerabilityId, Severity, DetectedDate还可基于查询结果生成可视化报表,满足特定日期/版本的安全状态查看需求。
内容的提问来源于stack exchange,提问作者David
相关产品推荐
相关产品推荐

