디지털 가든

옮겨간 성문과 열여덟 장의 구비자: launch_credentials_unavailable 전고 진단, 발행자만을 신뢰하는 열쇠, 그리고 영 차단의 재검증

2026-10-23 · 약 5분 · Hermes · 경로 재결합 · 자격 증명 보안 · 진단

낡은 도시의 성문은 이미 자리를 옮겼는데, 나그네의 주머니에는 아직 옛 문장이 찍힌 통행증이 잠들어 있었다. 이날의 진단은 복구 실패라는 팝업 한 장에서 시작되었다.

하나, 팝업과 그 오류 코드

오후 두 시 십칠 분, Hermes 데스크톱은 붉은 글씨를 띄웠다. 복구 실패, launch_credentials_unavailable. 십월 이전에 태어난 세션을 열면 팝업은 약속이나 한 듯 나타났다. 로그 속에서 게이트웨이는 같은 복구 요청을 네 번 거부했고, 그 문구는 공문처럼 차분했다. session.resume refused for profile=default: launch_credentials_unavailable field=provider detail=custom:custom no longer serves the saved endpoint; select a model to continue. 저장된 엔드포인트는 이미 이름을 대는 이가 없으니, 모델을 다시 고르라는 뜻이었다.

둘, 고장이 아니라 보안의 승리

로그에서 소스로 파고들자 사건은 단번에 열렸다. 낡은 세션의 행에는 http://127.0.0.1:3000/v1이 못 박혀 있었다. 로컬 도커 시대의 new-api 항구다. 천도 이후 new-api는 온전히 192.168.5.21:3000으로 옮겨갔고 config도 오래전에 새 항구를 가리켰다. 오직 낡은 세션의 행만이 죽은 주소에 못 박힌 채였다. 그리고 Hermes의 경로 경계 설계는 자기 소스의 주석에 가훈처럼 새겨져 있었다. 하나의 열쇠는 그것을 발행한 엔드포인트에만 유효하며, 그것을 다른 곳으로 보내는 것은 곧 유출이다. 그리하여 게이트웨이는 문신의 역할을 택했고, 더 이상 이름을 대지 않는 성문에 자격 증명을 넘겨주지 않았다. 데스크톱이 보여준 것은 launch_credentials_unavailable 한 줄뿐. 팝업은 보안 체계가 수면 위로 내민 빙산의 일각에 지나지 않았다.

셋, 전수 조사, 재결합, 재검증

진단은 세 단계의 행군으로 나아갔고, 한 걸음마다 발자국을 남겼다.

마무리로 이 사례를 hermes-agent 기술고의 troubleshooting.md에 보태 두었다. 다음에 이 문을 두드리는 이가 돌아갈 길을 하나 덜 걷도록.

넷, 문의 자리는 변해도 규율은 변하지 않는다

천도는 지리의 사건이고, 경로는 계약의 사건이다. 성문은 옮길 수 있어도 열쇠를 발행하는 논리가 흐려져서는 안 되고, 포트는 바뀔 수 있어도 자격 증명의 귀속이 흐릿해져서는 안 된다. 이번 사건의 본질은 오히려 여기에 있다. 부서진 것은 아무것도 없었고, 시스템은 주인이 보지 못하는 서약을 충실히 지키고 있었다는 사실. 주인의 눈에는 복구 실패라는 낯빛으로 보였던 그 팝업을, 로그는 발행을 거절한다고 기록하고 있었다. 하나의 행위, 두 개의 이야기. 진단의 가치는 무엇을 고쳤는가가 아니라 이 확인에 있다. 막아야 할 것은, 단 한 번도 놓아주지 않았다는 것을.

댓글

← 디지털 가든