GitHub 시크릿 스캐닝 수신
GitHub 시크릿 스캐닝 파트너 알림을 받아 공개된 API 키를 즉시 폐기합니다
POST /v1/security/secret-scanning/githubGitHub이 부르는 엔드포인트입니다, 고객이 직접 부를 일은 없습니다, 서버 플래그 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 | 코드 | 뜻 |
|---|---|---|
| 400 | invalid_request | 본문 형식 오류 또는 1000개 초과 |
| 401 | invalid_signature | 서명 검증 실패 또는 모르는 키 식별자 |
| 500 | internal_error | 처리 실패 |