유출된 INFRO 게이트웨이 키 하나의 요청 로그 예시입니다. 이 키는 서버 네트워크 203.0.113.0/24와 일일 지출 한도 $50.00로 제한되어 있습니다. 다른 네트워크에서 온 요청은 403 ip_not_allowed로, 키의 허용 목록 밖 모델은 403 model_not_allowed로 거부되며, 어느 쪽도 공급자에 닿지 않습니다. 서버에서 온 요청은 조직의 자체 OpenAI 및 Anthropic 계정에서 실행되며, 각각 예상 공급자 비용이 표시됩니다.
acme-ai/키/checkout-apiproduction켜짐
오늘 지출 · 일일 한도$31.42 / $50.00
공급자 전에 거부됨3 · 공급자 비용 $0.00허용 네트워크 203.0.113.0/24
출처 · 모델공급자 · 예상 비용결과
203.0.113.24자체 서버anthropic/claude-opus-5.5model_not_allowed공급자 호출 안 됨403
192.0.2.140알 수 없음openai/gpt-5.6-solip_not_allowed공급자 호출 안 됨403
겹치는 기간이 있는 교체한 번에 교체합니다. 새 키가 이전 키의 모든 설정을 이어받고, 이전 키는 배포하는 동안 최대 7일간 계속 작동하거나 즉시 중단됩니다. 지출 한도는 공유되므로 교체해도 새 여유가 생기지 않습니다.
만료외주 인력, 데모, 마이그레이션을 위해 키가 작동을 멈추는 시점을 정할 수 있습니다.
한 번만 표시되고 해시로 저장됨게이트웨이 키는 무작위 32바이트이며 한 번만 표시되고 SHA-256 다이제스트로만 저장됩니다. 데이터베이스가 유출되어도 사용할 수 있는 키는 노출되지 않습니다.
추측은 제한됩니다1분에 인증을 30번 실패한 주소는 키를 조회하기 전에 그 1분이 지날 때까지 429로 거부됩니다.
지출 한도
고객별,프로젝트별,키별,기간별로지출한도를설정하세요.
유출된 키, 루프에 빠진 에이전트, 무료 등급을 스크립트로 남용하는 고객 한 명. 각각은 전체 예산에 닿기 전에 그 범위에 맞는 한도에서 멈춥니다. 적용되는 모든 한도는 공급자 호출 전에 확인되며, 이미 처리 중인 요청의 최악의 경우까지 계산합니다.
한도는 겹쳐 적용됩니다
요청은 적용되는 모든 한도를 지켜야 합니다. 가장 엄격한 한도가 결정하므로, 알맞은 곳에 둔 작은 한도가 조직 한도에 닿기 훨씬 전에 문제를 막습니다.
조직
프로젝트
멤버
게이트웨이 키
최종 고객
한 조직의 예산 예시: 조직 강제 한도, 프로젝트 예산, 게이트웨이 키의 일일 한도, 키의 총 한도, 최종 고객 한도. 선택한 위기 상황 “게이트웨이 키 유출”에서는 해당 한도가 한계에 도달하고, 다음 요청은 공급자가 호출되기 전에 402 key_budget로 거부됩니다. 그 키는 하루 $50에서 멈춥니다. 다른 모든 키는 계속 처리합니다.
acme-ai/예산모든 공급자 호출 전에 검사
조직강제 한도월간
$6,142 / $10,000$10,000 / $10,000처리 중
프로젝트support-bot월간
$1,850 / $2,500$2,500 / $2,500처리 중
게이트웨이 키checkout-api일간
$31.40 / $50.00$50.00 / $50.00402 key_budget · UTC 00:00에 초기화
게이트웨이 키claude-code평생
$110.00 / $500.00$500.00 / $500.00처리 중
최종 고객customer_8812일간
$2.00 / $5.00$5.00 / $5.00처리 중
모든 고객 하루 $5 · acme-corp $200
그 키는 하루 $50에서 멈춥니다. 다른 모든 키는 계속 처리합니다.
범위별 지출 한도: 기간, 동작, 거부 코드, 요금제
한도
기간
동작 방식
거부 코드
요금제
조직
월 목표와 강제 한도
목표는 알림을 보내고, 강제 한도는 알림 또는 차단을 합니다. 소유자만 설정합니다.
402 organization_budget
모든 요금제
프로젝트
월간
직접 정한 임계값에서 알림을 보내며 알림 또는 차단.
402 project_budget
모든 요금제
멤버
월간
한 사람의 활동에 대해 알림 또는 차단.
402 member_budget
모든 요금제
게이트웨이 키
일간, 주간, 월간 또는 평생
항상 차단합니다. 평생 한도는 초기화되지 않습니다.
402 key_budget
모든 요금제
최종 고객
일간, 주간 또는 월간
모든 고객에게 조직 또는 프로젝트 단위의 규칙 하나를 적용하며, 백엔드가 설정하는 재정의를 둘 수 있습니다.
402 end_user_budget
Team 이상
부하 상태에서 테스트샌드박스 테스트에서 $1 차단 한도는 최대 500개 동시 요청에서 12회 실행 중 12회 유지되었습니다(테스트와 방법). 한도는 공급자 청구서가 아니라 INFRO의 공급자 비용 추정치를 기준으로 계산하며, 가격이 알려지지 않은 모델은 허용하지 않는 한 차단 한도 아래에서 거부되므로, 공급자 측에도 지출 한도를 유지하세요. 지출 제어 문서
키가 유출되었습니다
배포없이처리하는첫한시간.
INFRO 게이트웨이 키용입니다. 공급자 키가 유출되었다면 먼저 공급자에서 삭제하세요. 그것만이 키를 막는 유일한 방법입니다.
1배포 없이 차단게이트웨이 키를 끄거나, 키를 서버 네트워크로 좁히고 지출 한도를 낮춰 애플리케이션을 계속 실행하세요. 배포가 필요한 것은 없으며 모든 검사는 공급자를 호출하기 전에 실행됩니다.
2교체키가 유출되었다면 겹치는 기간 없이 교체하세요. 교체 키는 레이블, 프로젝트, 한도, 허용 목록, 환경, 기록 접근을 그대로 유지하며 한 번만 표시됩니다.
3무엇을 했는지 읽기모든 요청 기록에는 요청을 보낸 게이트웨이 키, 모델, 상태, 예상 공급자 비용이 명시되며, 요청 로그와 사용량을 그 키로 필터링할 수 있습니다. 콘솔은 각 키의 허용 목록이 오늘 거부한 요청 수를 보여 줍니다.
4INFRO 밖에서의 사용 확인Business 요금제에서는 사용량 접근을 켠 비용 대조가 INFRO를 거치지 않은 연결된 공급자 키의 사용량을 보고합니다. 그 접근이 없으면 “우회 없음”이 아니라 “확인하지 않음”이라고 표시하므로, 공급자 자체 사용량 페이지를 확인하세요.
5기록 남기기키 변경, 교체, 정책 수정은 누가 언제 했는지와 함께 감사 로그에 남으며, 데이터베이스가 수정이나 삭제를 거부하는 행으로 기록됩니다.
curl-X PATCH https://api.infro.io/manage/v1/gateway_keys/$KEY_ID \
-H"Authorization: Bearer $INFRO_MANAGEMENT_TOKEN" \
-H'If-Match: "7"' \
-H"Content-Type: application/json" \
-d'{"disabled": true}'# Every request with the key: 403 key_disabled# Its secret, limits and history are kept.
같은 세 가지 변경은 콘솔의 키 페이지에도 있습니다. Management API에서는 마지막으로 읽은 버전(If-Match)이 있어야 변경할 수 있으므로, 한 인시던트를 함께 격리하는 두 사람이 서로의 변경을 덮어쓸 수 없습니다.
사람들은 .env 파일을 채팅에 붙여 넣고, 에이전트는 셸에서 그것을 읽어 냅니다. Business 요금제에서는 가드레일이 프롬프트, 도구 호출, 응답에서 비밀 형식을 검사한 뒤, 공급자 호출 전에 요청을 차단하거나, 일치 항목을 [SECRET]으로 바꾸거나, 표시합니다.
OpenAI
Anthropic
Google API 키
AWS 액세스 키 ID
GitHub 토큰
Slack 토큰
Stripe 라이브 키
INFRO 키
JWT
PEM 개인 키
탐지는 패턴 기반입니다. 이 형식에만 일치하므로 AWS 비밀 액세스 키, 비밀번호, 알려지지 않은 형식은 놓칩니다. 일치 항목은 모두 요청 기록에 집계됩니다. 가드레일 문서
예시: 개발자가 환경 파일을 채팅 완성 요청에 붙여 넣습니다. 요청이 공급자에 닿기 전에 가드레일의 비밀 정보 탐지기가 OpenAI 키를 [SECRET]으로 바꾸고, 응답에는 X-INFRO-Guardrails: redacted 헤더가 붙습니다.
POST /v1/chat/completions가드레일 · 비밀 정보 · 가림
앱이 보낸 내용
user배포가 실패합니다. .env 파일은 다음과 같습니다: OPENAI_API_KEY=sk-proj-7Hc2…Qe9w
공급자가 호출되기 전에 검사
공급자가 받은 내용
user배포가 실패합니다. .env 파일은 다음과 같습니다: OPENAI_API_KEY=[SECRET]
X-INFRO-Guardrailsredacted
에이전트, 도구, 사람
키가새어나가는다른경로.
코딩 에이전트는 자체 키를 받습니다
Claude Code, Codex, 에이전트 SDK는 Anthropic이나 OpenAI 키 대신 게이트웨이 키로 INFRO의 /v1/messages와 /v1/responses를 호출합니다. 개발자나 에이전트마다 지출 한도, 만료일, 네트워크 허용 목록이 있는 키를 하나씩 주세요. 키를 폐기해도 다른 누구에게도 영향이 없습니다.
공급자 키를 저장하는 플랫폼은 바로 10월 공격의 표적이었으므로, 같은 질문이 저희에게도 적용됩니다. 이 통제 항목들은 Trust Center의 내용을 그대로 옮긴 것입니다.
공급자 자격 증명은 암호화되어 하나의 테넌트에 묶여 있습니다
연결한 공급자 키는 데이터베이스가 아닌 Worker 시크릿으로 보관된 키로 AES-256-GCM 암호화됩니다. 조직과 연결 식별자가 추가 인증 데이터로 묶여 있으므로, 암호화된 자격 증명을 다른 테넌트의 행이나 같은 테넌트의 다른 행에 복사해도 복호화되지 않고 닫힌 채 실패합니다. 비용 대조를 위해 연결한 자격 증명은 별도의 바인딩으로 따로 암호화됩니다.
어디에도 보기 기능은 없습니다
공급자 자격 증명을 저장하면 어떤 인터페이스도 이를 반환하지 않습니다. 콘솔도, API도, 내부 운영자 콘솔도 마찬가지입니다. 양쪽이 볼 수 있는 것은 마지막 네 글자와 타임스탬프뿐입니다. 키를 잃어버렸다면 공급자에서 교체해야 하며, 저희가 보여 드릴 수는 없습니다.
INFRO API 키는 저장 시 해시됩니다
게이트웨이 키는 암호학적 난수원에서 얻은 32바이트입니다. 저장하는 것은 SHA-256 다이제스트, 표시용 접두사, 마지막 네 글자이므로 데이터베이스가 유출되어도 사용할 수 있는 자격 증명은 노출되지 않습니다. 폐기하면 행을 삭제하는 대신 톰스톤을 기록하므로, 지역 간에 아직 전파 중인 오래된 캐시 항목이 이를 가릴 수 없습니다.
암호화 키는 사용자의 개입 없이 교체할 수 있습니다
고객 자격 증명을 암호화하는 키를 교체하면 저장된 모든 자격 증명이 그 자리에서 다시 암호화됩니다. 고객에게 무언가를 다시 입력하라고 요구하지 않으며, 저장된 알고리즘에는 버전 문자열이 있어 일제 전환일 없이 미래 방식이 현재 방식과 공존할 수 있습니다.
INFRO가 할 수 없는 것
INFRO에서든 다른 곳에서든 탈취된 공급자 키는 INFRO의 모든 한도 밖에서 공급자에 직접 사용될 수 있습니다. 자체 프로젝트나 워크스페이스로 범위가 지정되고 공급자 측에 지출 한도가 설정된 키를 연결하세요. 저희가 실패하더라도 유지되는 통제입니다. 아직 갖추지 못한 것은 Trust Center에 나와 있습니다.
2026년 10월
AI키를저장한두플랫폼,하나의교훈.
두 경우 모두 권고는 같았습니다. 키를 교체하고, 공급자에서 이전 키를 삭제하고, 그 키가 한 일을 확인하라는 것입니다. 공급자 키가 있는 곳이 적을수록 유출 시 교체할 곳도 적어집니다. 나눠 주는 키에는 배포 없이 조정할 수 있는 한도가 있어야 합니다.
Railway2026년 10월 21일 공개
Railway의 발표
An unauthorized party may have accessed encrypted customer environment variables and, for some of them, obtained the decrypted contents, in a series of attacks aimed at compromising AI inference providers.
대응 방법
Railway가 보관한 모든 변수를 교체하세요. AI 공급자 키가 먼저입니다. 교체하고, 공급자에서 이전 키를 삭제하고, 배포한 뒤, 이전 키의 사용량을 검토하세요.
A breach related to a large-scale distillation attack affected 1.4% of OpenCode Console users, those with external AI providers linked, and provider keys saved in a workspace may have been exposed.
대응 방법
범위가 지정된 교체 키를 만들고, 공급자에서 이전 키를 폐기하고, 10월 16일 이후의 공급자 사용량을 검토하세요.
공급자에서 교체용 키를 만들고, 유출된 키를 그곳에서 삭제하고, 교체 키를 배포한 뒤, 사용될 수 있었던 전체 기간 동안 공급자에서 이전 키의 사용량을 검토하세요. 키를 막는 것은 공급자에서 삭제하는 일입니다. 애플리케이션이나 게이트웨이가 도난당한 키를 되돌릴 수는 없습니다. 그다음 교체 키에는 공급자에서 지출 한도를 걸고, 코드, 클라이언트 앱, 공유 환경 밖에 두세요.
INFRO는 유출된 API 키의 피해를 어떻게 제한하나요?
애플리케이션은 공급자 키 대신 INFRO 게이트웨이 키를 보유합니다. 각 게이트웨이 키는 끌 수 있고(403 key_disabled), 최대 32개 네트워크로 제한할 수 있고(403 ip_not_allowed), 승인된 모델과 공급자로 좁힐 수 있으며, 일간, 주간, 월간 또는 평생 지출 한도를 설정할 수 있습니다(402 key_budget). 모든 검사는 모든 요금제에서 공급자를 호출하기 전에 실행되며 배포가 필요한 것은 없습니다. 유출된 게이트웨이 키는 끌 수 있는 한정된 문제이고, 유출된 공급자 키는 공급자 계정 전체에 닿습니다.
고객별, 프로젝트별, 기간별로 AI 지출 상한을 둘 수 있나요?
예. 예산은 조직별(알림을 보내는 월 목표와 알림 또는 차단하는 강제 한도), 프로젝트별과 멤버별(월간), 게이트웨이 키별(일간, 주간, 월간, 또는 초기화되지 않는 평생 한도)로 적용됩니다. Team 요금제부터 최종 고객 한도로 자체 고객 각각을 일간, 주간, 월간으로 제한할 수 있으며, 특정 고객에 대한 재정의도 가능합니다. 해당하는 모든 한도는 공급자를 호출하기 전에 확인하며, 이미 진행 중인 요청의 최악의 경우를 함께 계산합니다. 거부된 요청은 한도를 명시한 402입니다. 한도는 공급자의 청구서가 아니라 INFRO의 공급자 비용 추정치를 기준으로 하므로, 공급자에서도 지출 한도를 유지하세요.
INFRO는 공급자 API 키를 저장하나요? 어떻게 보호하나요?
예. 자체 공급자 키를 한 번 연결하면 INFRO가 사용자의 요청을 처리하는 데 사용합니다. 각 키는 데이터베이스 밖의 Worker 시크릿으로 보관된 키로 AES-256-GCM 암호화되며 조직과 연결이 함께 묶여 있으므로, 데이터베이스 사본만으로는 아무것도 열리지 않습니다. 콘솔 화면, 엔드포인트, 내보내기 어디서도 저장된 자격 증명을 반환하지 않으며, 콘솔에는 마지막 네 글자만 표시됩니다. 게이트웨이 키는 SHA-256 다이제스트로만 저장됩니다.
도난당한 공급자 키로 INFRO를 우회할 수 있나요?
예. INFRO는 자신을 거치는 트래픽만 통제합니다. 어디서든 가져온 공급자 키(INFRO에서 가져온 것도 포함)는 모든 INFRO 한도 밖에서 공급자에 직접 사용될 수 있습니다. 자체 프로젝트나 워크스페이스로 범위를 한정하고 공급자에서 지출 한도를 설정한 키를 연결하세요. 그 한도는 저희가 실패해도 유지됩니다. Business 요금제에서는 사용량 접근을 켠 대조가 INFRO를 거치지 않은 연결된 키의 사용량을 보고합니다.
OpenCode와 Railway 침해에서는 무슨 일이 있었나요?
OpenCode는 2026년 10월 17일, 대규모 증류 공격과 관련된 침해로 외부 AI 공급자가 연결된 Console 사용자의 1.4%가 영향을 받았으며 워크스페이스에 저장된 공급자 키가 노출되었을 수 있다고 밝혔습니다. Railway는 2026년 10월 21일, AI 추론 공급자를 침해하려는 공격에서 인가받지 않은 당사자가 암호화된 고객 환경 변수에 접근해 일부를 복호화했을 수 있다고 밝혔습니다. 두 경우 모두 권고는 같습니다. 키를 교체하고, 공급자에서 이전 키를 삭제하고, 사용량을 검토하세요. INFRO는 각 사건에 대해 해당 회사들의 자체 발표만을 바탕으로 작성한 분석을 제공합니다.
INFRO는 API 키가 프롬프트에 붙여 넣어지는 것을 막을 수 있나요?
Business 요금제에서는 가드레일이 프롬프트와 응답에서 OpenAI, Anthropic, Google API 키, AWS 액세스 키 ID, GitHub 토큰, Slack 토큰, Stripe 라이브 키 및 INFRO 키 형식, JWT, PEM 개인 키를 검사하고, 공급자에 보이기 전에 요청을 차단하거나 일치한 부분을 [SECRET]으로 바꾸거나 표시합니다. 탐지는 패턴 기반이므로 AWS 시크릿 액세스 키나 비밀번호처럼 모르는 형식은 놓칩니다.
Claude Code와 Codex에 Anthropic이나 OpenAI 키가 필요한가요?
INFRO를 거치지 않습니다. 게이트웨이 키로 INFRO의 /v1/messages와 /v1/responses를 호출하므로, 개발자나 에이전트마다 지출 한도, 만료, 선택적 네트워크 허용 목록이 있는 자체 키를 가질 수 있고, 폐기해도 다른 사람의 접근에는 영향이 없습니다. 에이전트는 같은 셸에 남아 있는 키를 여전히 읽을 수 있으므로, 개발자 환경에서 공급자 원본 키를 제거하세요.
LLMjacking이란?
LLMjacking은 도난당한 클라우드 또는 AI API 자격 증명으로 호스팅된 언어 모델을 피해자의 비용으로 호출하는 것으로, 공격자 자신이 쓰거나 접근 권한을 되파는 데 쓰입니다. 방어는 돈을 쓸 수 있는 모든 자격 증명에 대한 것과 같습니다. 공급자 키를 코드와 클라이언트 앱 밖에 두고, 모든 키에 지출 한도를 걸고, 키별 사용량을 확인하고, 배포 없이 키를 끌 수 있어야 합니다.
어떤 INFRO 요금제에 이 통제가 포함되나요?
모든 요금제에 키 끄기, 허용 네트워크, 모델 및 공급자 제한, 지출 한도, 교체와 만료, 2단계 로그인과 패스키 및 감사 로그이(가) 포함됩니다. 지출 알림은 모든 요금제에서 이메일로 가고, Startup 요금제부터는 Slack과 서명된 웹훅으로도 갑니다. 가드레일, SSO 및 SCIM, 우회 탐지를 포함한 비용 대조 및 MCP 게이트웨이은(는) Business 요금제에 포함됩니다.