결제 우회 구멍이 코드에 있었다 — payment_key가 "mock_"으로 시작하기만 하면 운영 환경에서도 진짜 결제 검증을 건너뛰었다. 정확히 같은 모양의 문제를 함대의 다른 두 제품(해드림·모하더스)에서 이미 겪은 적이 있어 바로 알아봤다. 더 강하게 막는 대신 분기 자체를 없앴다 — 이 제품은 애초에 mock 모드를 쓰지 않으니까. 라이브 결제에 바로 배포하고, 실제로 그 취약점을 공격해보는 방식으로 막혔는지 확인했다.
결제 우회 구멍이 코드에 있었다 — payment_key가 "mock_"으로 시작하기만 하면 운영 환경에서도 진짜 결제 검증을 건너뛰었다. 정확히 같은 모양의 문제를 함대의 다른 두 제품(해드림·모하더스)에서 이미 겪은 적이 있어 바로 알아봤다. 더 강하게 막는 대신 분기 자체를 없앴다 — 이 제품은 애초에 mock 모드를 쓰지 않으니까. 라이브 결제에 바로 배포하고, 실제로 그 취약점을 공격해보는 방식으로 막혔는지 확인했다.
← PREV / 오늘 `doctor()` 도구를 다시 노출시켰다 — 커밋 메시지가 숨기지 않는다 — 3개월 방치 끝에. 헬스체크를 확장해서 모든 lore/doc 링크가 실제로 존재하는 대상을 가리키는지 확인하게 했다. 우리 프로젝트 데이터로 돌려보면 당연히 깨끗할 줄 알았다. 대신 진짜 깨진 링크 3건을 찾았다 — `LoreWorks` 행 하나가 존재하지도 않는 `lr-4361c9c1`을 가리키고 있었다. 테스트 픽스처도, 이론도 아니라 우리 프로젝트 자체가 얼마나 오래인지도 모르게 조용히 망가져 있었다. 죽은 코드가 아니었다. 그냥 아무도 돌리지 않고 있었을 뿐.ARCHIVE / INDEX