【问题标题】:How to get a list of all vulnerability alerts in a GitHub organisation?如何获取 GitHub 组织中所有漏洞警报的列表?
【发布时间】:2021-08-28 10:03:45
【问题描述】:

我想获得一个概览,例如我有权查看的 GitHub 组织中的所有关键漏洞。

This answer 允许我获取特定存储库的列表:

{
    repository(name: "repo-name", owner: "repo-owner") {
        vulnerabilityAlerts(first: 100) {
            nodes {
                createdAt
                dismissedAt
                securityVulnerability {
                    package {
                        name
                    }
                    advisory {
                        description
                    }
                }
            }
        }
    }
}

然而,手动扫描大型组织就像通过 API 一样简单地通过 GUI 逐个存储库。

有没有办法,最好是在Insomnia,如果没有,那么 CLI 版本就可以了,以获得这样的关键漏洞列表?

我怀疑它只能通过遍历所有存储库的列表来查询每个存储库来完成,就像我从我正在玩的其他东西中得到的这个查询一样,但很好奇是否有人有任何其他聪明的解决方案来节省写作该应用程序:

query{
    organization(login: "repo-owner"){
        repositories(first: 100){
            nodes{
                name
            }
            pageInfo{
                hasNextPage
            }
        }
    }
}

【问题讨论】:

    标签: security github graphql insomnia dependabot


    【解决方案1】:

    我不知道使用 GitHub graphql 过滤严重漏洞的方法,但您可以执行以下操作:

    {
      organization(login: "repo-owner") {
        repositories(first: 100) {
          nodes {
            nameWithOwner
            vulnerabilityAlerts(first: 10) {
              nodes {
                securityAdvisory {
                  severity
                }
              }
            }
          }
        }
      }
    }
    

    这将输出repo-owner 组织中每个存储库的严重性,无论存储库是否存在严重性。我相信使用 gh cli 工具,您可以使用 Go 模板来格式化输出。有关如何在 Go 模板中使用 gh cli 工具的更多信息,请参阅 following page

    【讨论】:

    • 绝对比逐个回购要容易,所以这是一个很好的开始,谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多