메인 콘텐츠로 건너뛰기
키가 공개 커밋, CI 로그, 스크린샷, 또는 벤더 침해에 나타났습니다. 시계가 돌아가고 있습니다: 그 sk-orca-… 문자열을 가진 누구든 당신이 그것을 끊을 때까지 당신의 잔액을 지출하고 당신의 에이전트를 구동할 수 있습니다. 이 페이지는 사고 런북입니다 — 먼저 자격 증명을 끊고, 그다음 그것이 무엇을 했는지 감사하세요 — 콘솔에서 자체 키를 관리하는 고객을 위한 것입니다. 생애 주기 메커니즘(비활성화 vs. 삭제, 키 상태, 역할)은 키 관리에 있습니다; 이 페이지는 공격 받는 중의 시퀀스이며, 결정적으로, 출혈이 멈춘 후 감사 추적에서 무엇을 확인해야 하는지에 대한 것입니다.
조사하기 전에 지출을 멈추세요. credit_limit_usd 상한과 allow_ips 목록을 가진 범위 지정 키는 피해를 제한하지만, 상한이 없는 유출된 키는 라이브로 남아 있는 한 잔액을 태울 수 있습니다. 먼저 폐기하고; 둘째로 포렌식하세요.

1. 유출된 키 폐기하기 (이것을 먼저)

당신에게는 두 가지 끊기 수단이 있으며, 둘 다 콘솔 Keys 화면(/console/token)에 있습니다. 둘 다 Developer 역할 이상이 필요합니다 — 작업은 릴레이 키가 아니라 당신의 세션 / 액세스 토큰에서 실행됩니다.

비활성화 — 되돌릴 수 있는 일시 정지

키의 상태를 Disabled로 뒤집습니다. 그것이 하는 모든 요청이 즉시 거부되지만, 키, 그 제한, 그 정책 연결, 그리고 사용 이력은 모두 그대로 유지됩니다. 파고드는 동안 구성과 로그를 보존해야 할 때 이것을 사용하세요.

삭제 — 영구 폐기

키에 대해 Delete를 선택합니다. 자격 증명은 다시는 요청을 인가할 수 없으며 복구할 수 없습니다. 유출이 확인되고 추적에서 필요한 것을 캡처한 후에 이것을 사용하세요.
흔한 패턴: 노출을 의심하는 순간 즉시 비활성화(제로 지연 봉쇄, 아무것도 잃지 않음), §3–§4에서 감사를 실행한 다음, 피해 반경을 범위 지정한 후 삭제. 무엇을 하든, 교체용 새 키를 발급하세요 — 야생에서 목격된 자격 증명을 결코 다시 활성화하지 마세요. 무중단 인계는 키 로테이션에 있습니다.
비활성화 또는 삭제는 다음 요청에 적용됩니다 — 재배포도 전파 지연도 없습니다.

2. 하는 김에, 교체 키를 조이세요

유출은 그것이 피해를 입히게 만든 범위를 고칠 순간입니다. 교체 키는 워크로드가 실제로 필요로 하는 가장 좁은 신원을 담아야 하므로, 다음 유출은 비사건이 됩니다:
IP 허용 목록은 유출된 키가 당신의 것 외 어떤 주소에서도 무용지물임을 의미합니다. 나열되지 않은 IP에서의 요청은 비용이 들기 전에 인증 계층에서 거부됩니다.
지출 상한(0 = 무제한)은 최악의 경우를 제한합니다. 좁은 주간 천장을 가진 유출된 키는 당신의 워크스페이스 잔액을 소진할 수 없습니다.
모델 제한은 도둑이 당신의 저렴한 키를 가장 비싼 모델로 전환하는 것을 막습니다.
만료(-1 = 절대 안 함)는 당신의 주의를 벗어나는 키도 스스로 인가를 멈춤을 의미합니다.
전체 에이전트당 하나의 키 자세는 최소 권한 체크리스트를 참조하세요.

3. 요청 로그 감사 — 키가 무엇을 호출했는가?

자격 증명이 끊긴 상태로, 피해를 범위 지정하세요. 그 키가 한 모든 릴레이 호출은 당신의 워크스페이스 요청 로그에 기록되며, 각 행은 사고를 재구성하는 데 필요한 필드를 담습니다:
필드그것이 알려주는 것
token_name / token_id어떤 키인지 — 유출된 것을 보고 있는지 확인.
ip각 호출의 소스 주소. 당신이 인식하지 못하는 IP로부터의 폭주가 결정적 증거.
model + usage어떤 모델이 호출되었고 비용이 얼마였는지 — 당신의 지출 노출.
로그 뷰를 유출된 키로 필터링하고 시간순으로 정렬하세요. 두 질문이 “얼마나 나쁜가”에 가장 빨리 답합니다:
  1. 당신의 것이 아닌 IP로부터의 트래픽이 있는가? 그것은 거짓 경보가 아니라 확인된 오용입니다.
  2. 유출 창 무렵에 지출이나 호출 패턴이 급증했는가? 갑작스러운 점프가 공격자의 발자국입니다.
키가 allow_ips 목록을 담고 있었다면, 그 밖에서의 호출은 애초에 인가되지 않았습니다 — 그러니 외부 IP 행의 부재 자체가 건강한 진단서입니다. 이것이 바로 소스를 고정하는 것 (§2)이 유출을 비사건으로 바꾸는 이유입니다.

4. 정책 추적 읽기 — 그것이 무엇을 하려고 했는가?

요청 로그는 키가 무엇을 호출했는지 알려 줍니다; 정책 평면은 그것이 모델이 무엇을 말하거나 하게 만들려고 했는지, 그리고 당신의 guardrails와 firewall이 그것을 포착했는지 알려 줍니다. 둘 다 워크스페이스 범위입니다. Guardrail 매치는 모든 워크스페이스 멤버가 읽을 수 있습니다; firewall Events / Runs 뷰는 Developer 역할 이상이 필요합니다(firewall 정책과 설정은 모든 멤버에게 열려 있습니다).

Guardrail 매치

키의 트래픽이 guardrail 규칙에 닿을 때마다, 매치 레코드가 GET /api/guardrail/match에 기록되었습니다 — 규칙 유형, action(block / mask / flag), stage, 그리고 문제의 상세를 담아. 유출된 키의 창으로 필터링하여 그것이 어떤 콘텐츠를 밀어 넣었는지(PII, 시크릿, 탈옥 시도) 보세요.

Firewall 이벤트

키가 발행한 모든 툴 호출은 firewall 이벤트입니다 — allow, audit, deny, sanitize, 또는 held. deny 이벤트의 연속은 허용되지 않은 무언가를 시도한 에이전트입니다. Events / Runs 뷰에서 실행별로 롤업하세요.
추적을 읽는 동안 알아둘 가치가 있는 몇 가지 세부 사항:
  • Guardrail 매치는 그 guardrail에 대해 “Log raw content”가 켜져 있었던 경우에만 매치된 부분 문자열을 로깅합니다(기본값은 꺼짐) — 그래서 매치 행은 원시 텍스트 없이 규칙과 액션을 보여줄 수 있습니다. 유형 / 액션 / 단계는 항상 거기에 있습니다.
  • 매치에 대한 mark-fp(POST /api/guardrail/match/:id/mark-fp, Admin)는 히트를 거짓 양성으로 플래그하여 당신의 사고 뷰를 왜곡하지 않게 합니다 — 실제 오용을 묻는 데 사용하지 마세요.
  • Firewall deny는 툴 이전입니다. deny 이벤트는 공격자의 툴 호출이 툴에 도달하기 전에 차단되었음을 의미합니다 — firewall이 이미 그 액션을 봉쇄했습니다. 이벤트는 그것이 시도했다는 당신의 증거입니다.
세 추적을 동일한 시간 창에서 교차 참조하세요: 요청 로그의 외부 IP, guardrail 매치의 급증, 그리고 firewall deny 이벤트의 군집이 함께 전체 그림을 그립니다 — 공격자가 무엇을 가졌는지, 무엇을 시도했는지, 무엇이 멈춰졌는지.

5. 사고 이후

Keys 목록을 다시 확인하세요: 유출된 키는 Disabled로 읽히거나 완전히 사라져 있어야 합니다. 비활성화만 했다면, 감사를 끝낸 후 삭제를 예약하세요 — 키 관리를 참조하세요.
이전 것을 은퇴시키기 전에 새롭고 더 좁게 범위 지정된 키로 트래픽을 옮겨 작동하는 키가 없는 간격이 결코 없게 하세요. 전체 인계: 키 로테이션.
유출된 키에 allow_ips도, credit_limit_usd도 없고 넓은 model_limits가 있었다면, 그것이 진짜 발견입니다. 모든 에이전트에 자체의 좁게 범위 지정된 키를 부여하세요 — 최소 권한 체크리스트범위 & 키가 전체 자세를 안내합니다.

6. 관련

키 관리

비활성화 vs. 삭제, 키 상태, 그리고 각 작업 뒤의 역할 게이트.

키 로테이션

침해된 키에서 깨끗한 키로의 무중단 인계.

IP 허용 목록

키를 당신의 소스 주소에 고정하여 유출이 다른 곳에서 사용될 수 없게 하세요.

데이터 유출

유출된 키가 가장 흔히 먹이는 위협, 그리고 firewall의 egress 표면이 그것을 제한하는 방법.
전체 시퀀스는 의도적으로 짧습니다: 폐기한 다음, 감사하세요. 애초에 각 키의 범위가 좁을수록, 실행해야 할 감사가 작아지고 — 유출된 자격 증명이 비상에서 각주로 더 빨리 넘어갑니다.