컨테이너와 데이터베이스를 손쉽게 배포·운영하도록 돕는 개발자 플랫폼 Northflank가 보안 침해 사고를 겪고 있다. 회사가 운영하는 상태 페이지(status.northflank.com)에 올라온 공지에 따르면, 조사는 아직 진행 중이며 추가로 확정된 내용은 공개되지 않은 상태다. 다만 이용자에게 전달된 지침만큼은 분명하다. 모든 환경 변수가 이미 유출된 것으로 간주하고, 워크로드와 시크릿 그룹, 글로벌 시크릿에 들어 있는 모든 비밀값과 자격 증명을 즉시 교체하라는 것이다.
이번 공지에서 가장 무게가 실린 문장은 "환경 변수가 복호화된 것으로 가정하라"는 대목이다. 일반적으로 PaaS 사업자는 이용자의 시크릿을 암호화해 저장한다고 안내하지만, Northflank는 그 암호화가 사실상 무력화됐다는 전제로 대응할 것을 권고하고 있다. 암호화 여부가 아니라 복호화 가능성을 기준으로 삼으라는 표현은, 공격자가 평문 수준의 접근을 했을 가능성을 배제하지 못한다는 뜻으로 읽힌다. 실무자 입장에서는 "혹시 모르니" 수준의 선제 조치가 아니라, 유출을 기정사실로 놓고 움직여야 하는 상황이다.
실제 악용이 확인되고 있다
단순한 예방 권고에 그치지 않는다는 점이 이번 사고의 심각성을 보여준다. 공지에는 여러 이용자가 자신들의 AI 키가 사용된 정황을 확인하고 있다는 내용이 담겨 있다. 즉 탈취된 자격 증명이 어딘가에서 실제로 호출되고 있다는 의미다. AI API 키는 사용량에 따라 즉시 과금되고, 유출 시 고액의 비용 청구나 모델 오·남용으로 이어지기 쉽다. OpenAI나 Anthropic 등 외부 서비스 키를 Northflank 환경 변수에 넣어 둔 팀이라면, 교체에 앞서 해당 공급자 콘솔에서 비정상적인 사용 내역부터 점검해야 한다.
데이터베이스 쪽 대응도 병행되고 있다. Northflank는 전체 이용자를 대상으로 Postgres와 MongoDB의 시크릿 교체 기능을 활성화했다고 밝혔다. 또한 애드온에 공개 노출(public expose)을 켜 둔 경우 이를 비활성화할 것을 반복해서 권고했다. 데이터베이스가 외부에서 직접 접근 가능한 상태라면, 탈취된 접속 정보와 결합해 데이터 유출로 직결될 수 있기 때문이다. 공개 접근을 닫는 조치가 지침에서 두 차례 강조된 것도 이런 위험을 의식한 것으로 보인다.
공개된 타임라인과 아직 비어 있는 공백
상태 페이지에는 간략한 시간 흐름도 담겼다. 11시 44분(UTC)에 Northflank 엔지니어가 경보를 검토했고, 12시 02분에 1차 네트워크 정책 패치가 적용됐으며, 12시 50분에 추가 패치가 배포됐다. 경보 인지에서 1차 대응까지 약 20분이 걸린 셈이다. 다만 이 타임라인은 침해의 최초 발생 시점이나 영향 범위, 공격 경로를 설명해 주지는 않는다. '네트워크 정책 패치'라는 표현으로 미뤄 네트워크 분리나 접근 통제와 관련된 결함이 관여했을 가능성을 짐작할 수 있지만, 이는 어디까지나 추정이며 회사가 확정한 원인은 공개되지 않았다.
한국의 실무 팀이 지금 당장 해야 할 일은 분명하다. Northflank에 저장한 모든 환경 변수, 시크릿 그룹, 글로벌 시크릿을 전수 조사해 교체 대상을 목록화하고, 외부 서비스 키는 발급처에서 폐기 후 재발급하는 것이 우선이다. 데이터베이스 자격 증명을 돌리고, 애드온의 공개 노출을 차단하며, 교체한 값이 실제 워크로드에 반영됐는지 확인하는 과정이 뒤따라야 한다. 로그가 남아 있다면 사고 추정 시점 전후의 비정상 접근과 호출 기록을 함께 들여다볼 필요가 있다.
이번 사례는 매니지드 플랫폼에 시크릿을 위임하는 구조가 가진 근본적인 한계를 다시 환기시킨다. 플랫폼 한 곳이 뚫리면 그 위에 올라탄 모든 서비스의 자격 증명이 동시에 위험해진다. 외부 시크릿 관리 서비스와의 분리, 키의 최소 권한 설정, 정기적인 자동 교체 같은 다층 방어가 평소에 갖춰져 있었는지에 따라 이번 사고가 야기하는 피해의 폭은 크게 달라질 것이다. 조사가 마무리되지 않은 만큼, 추가 공지가 나올 때까지는 가장 보수적인 가정 아래 대응 범위를 좁히기보다 넓게 잡는 편이 안전하다.