能否通过GraphQL API查询GitHub高级安全秘密扫描告警与结果?
能否通过GraphQL API查询GitHub高级安全的秘密扫描告警及结果?
可以通过GitHub的GraphQL API查询秘密扫描的告警和结果,以下是具体的实现方式和查询示例:
核心查询对象:主要依托
Repository类型下的secretScanningAlerts字段,该字段会返回目标仓库下所有符合筛选条件的秘密扫描告警集合。基础查询示例:
query GetSecretScanningAlerts($owner: String!, $repo: String!) { repository(owner: $owner, name: $repo) { secretScanningAlerts(first: 100, states: [OPEN, RESOLVED]) { nodes { id secretType secret state createdAt resolvedAt resolution resolutionComment location { path startLine endLine } push { commit { oid message } } } } } }这个查询支持的参数说明:
$owner:仓库所属的用户名或组织名$repo:目标仓库的名称first:控制单次返回的告警数量(最大值为100)states:可选的状态筛选器,可传入OPEN、RESOLVED、DISMISSED中的一个或多个
常用字段解析:
secretType:标识检测到的秘密类别(如AWS_ACCESS_KEY_ID、GITHUB_PERSONAL_ACCESS_TOKEN等)state:告警当前的状态location:秘密在仓库中的具体位置(文件路径、起始/结束行号)resolution:告警的处理结果(如FALSE_POSITIVE、REVOKED、USED_IN_TESTS等)push.commit:关联的提交信息,可用于定位秘密被提交的上下文
权限要求:
- 需拥有目标仓库的读取权限,且仓库已启用GitHub高级安全的秘密扫描功能
- 调用API的个人访问令牌(PAT)需包含
repo或security_events权限
内容的提问来源于stack exchange,提问作者Gerrit
相关产品推荐
相关产品推荐

