본문으로 건너뛰기

GitHub 시크릿 스캐닝 수신

GitHub 시크릿 스캐닝 파트너 알림을 받아 공개된 API 키를 즉시 폐기합니다

POST /v1/security/secret-scanning/github

GitHub이 부르는 엔드포인트입니다, 고객이 직접 부를 일은 없습니다, 서버 플래그 XENOCI_RUNNER2_SECRET_SCANNING=1과 GitHub 공개 키 설정이 있을 때만 켜집니다(기본 꺼짐)

인증

쿠키나 키가 아니라 서명입니다, 헤더 Github-Public-Key-Identifier와 Github-Public-Key-Signature(base64 DER)로 본문 원문에 대한 ECDSA P-256 / SHA-256 서명을 검증합니다, 공개 키는 GitHub /meta/public_keys/secret_scanning에서 받아 1시간 캐시합니다

요청 본문

GitHub 시크릿 스캐닝 파트너 형식의 배열(최대 1000개), 원문 1 MB 이하

응답

200

GitHub 피드백 형식, 원문 토큰은 돌려주지 않습니다

[
  { "token_hash": "…", "token_type": "xenoci_api_key", "label": "true_positive" }
]

처리 순서는 체크섬 확인 → sha256 조회 → 살아 있는 키면 revoked_at과 revoke_reason = leaked_public 기록 → 감사 로그 api_key.revoke_leaked → 소유자, 관리자, 키를 만든 사람에게 메일입니다, 이미 폐기된 키는 아무것도 바꾸지 않습니다, 그 뒤 그 키로 오는 요청은 401 apikeyrevoked_leaked입니다

오류

HTTP코드뜻
400invalid_request본문 형식 오류 또는 1000개 초과
401invalid_signature서명 검증 실패 또는 모르는 키 식별자
500internal_error처리 실패

다음 단계