Nine AI 결제 엔드포인트가 고장 난 것처럼 보였지만, 실제로는 그렇지 않았다
요약
자동화된 결제 엔드포인트 검증 시스템이 실제로는 정상 작동하는 9개 엔드포인트를 오류로 잘못 플래그 지정한 사례를 분석합니다. 이는 스캐너가 네트워크 형식을 제대로 인식하지 못해 발생했으며, 개발자들에게 불필요한 디버깅 시간과 신뢰 상실을 초래했습니다.
핵심 포인트
- 자동화된 검사기는 3가지 상태(유효/결함/판단 불가)를 명확히 구분해야 합니다.
- 네트워크 형식 인식 오류가 엔드포인트 실패로 오해되는 위험성을 지적합니다.
- 검증기 로직을 수정하여 레거시 x402 네트워크 형식을 올바르게 파싱하는 것이 중요했습니다.
스토리 유형: Payload의 Observatory 스캔에서 기록된 사건.
당사의 자동화된 x402 엔드포인트 검증기가 9개의 활성 결제 엔드포인트를 고장난 것으로 플래그 지정했습니다. 하지만 해당 엔드포인트들은 정상 작동하고 있었습니다. 문제가 된 것은 당사의 검증기였습니다.
이러한 구별은 중요합니다. 프로토콜 호환성 차이를 결제 실패로 오해하는 스캐너는 개발자들이 건강한 통합을 추적하게 만들고, 잘못된 사고 보고서를 유발하며, 아무 잘못도 하지 않은 운영자에 대한 신뢰를 손상시킬 수 있습니다.
무엇이 잘못되었나
Payload의 Observatory는 비결제 방식(nonpaying), 메소드 인식 프로브를 사용하여 공개적으로 등록된 x402 결제 엔드포인트를 확인합니다. 목표는 간단합니다. 결제를 하지 않고 엔드포인트를 요청하여, 반환되는 결제 챌린지를 읽고, 표준 클라이언트가 해당 챌린지에 대응할 수 있는지 여부를 기록하는 것입니다.
2026년 10월 스캔 동안, 검증기는 9개 엔드포인트에 대해 INCOMPLETE_CHALLENGE를 반환했습니다:
- Strale 엔드포인트 2개;
- Waltsoft 엔드포인트 4개;
- uxus.finance, SlamAI, 그리고 itsgloria에서 각각 1개씩.
공통적인 세부 사항은 인식되지 않은 네트워크 형식이었습니다. 이전 검증기는 CAIP 2 네트워크 식별자를 인식했지만, 유효한 레거시 x402 네트워크 형식을 올바르게 인식하지 못했습니다. 이는 파싱할 수 없는 형식을 엔드포인트가 실패했다는 증거로 간주했습니다.
그 추론은 잘못되었습니다.
왜 중요한가
자동화된 검사기는 그 판결이 매우 다른 세 가지 상태를 구분할 때만 유용합니다:
- 엔드포인트가 유효한 챌린지를 반환했을 경우;
- 엔드포인트가 결함이 있거나 누락된 챌린지를 반환했을 경우;
- 검사기가 신뢰할 수 있는 판단을 내릴 수 없었을 경우.
당사의 이전 검증기는 두 번째 상태와 세 번째 상태를 합쳐버렸습니다. 일단 그렇게 되면, 모든 다운스트림 결정이 악화됩니다. 개발자는 작동하는 통합을 디버깅하느라 몇 시간을 보낼 수 있습니다. 마켓플레이스는 건강한 서비스를 등급 하향 조정할 수 있습니다. 운영자는 운영자의 응답보다는 관찰자(observer)의 파서에 기반하여 결함 보고서를 받을 수 있습니다.
비용은 꾸며낸 재무 수치가 아닙니다. 그것은 낭비된 엔지니어링 시간, 잘못된 운영 작업, 그리고 자동화된 증거에 대한 신뢰 상실입니다.
조사 방법
우리는 검증자(validator)를 권위자가 아닌 용의자로 취급했습니다.
먼저 원래 관찰 기록과 레지스트리 항목들을 보존했습니다. 그런 다음 검증자의 네트워크 인식 로직을 추적했고, 런타임 복사본이 여전히 이전 CAIP 2 전용 규칙만을 사용한다는 것을 발견했습니다. 수정된 검증자는 Payload Observatory GitHub 저장소의 8c9ace89be839514e621207befc8abe7144fbd85 리비전에서 이미 사용할 수 있었습니다.
수정된 버전은 레거시 x402 네트워크 양식을 인식하고, x402 v1 본문 챌린지를 감지하며, 공유 이그레스 프록시(egress proxy) 실패를 엔드포인트의 잘못으로 돌리는 대신 PROXY_BLOCKED로 분류합니다.
우리는 Observatory 데이터를 변경하지 않고 수정된 코드를 설치했습니다. 모든 11개 데이터 파일은 코드 교체 전후에 확인되었고, 의도된 레지스트리 및 검증 업데이트를 제외하고는 해시값이 일치했습니다. 그런 다음 동일한 아홉 개의 엔드포인트를 재검사했습니다.
모두 VALID_402를 반환했습니다. 모든 9개 레지스트리 항목은 ACTIVE 상태로 돌아왔습니다. 두 개의 Strale 엔드포인트는 레거시 base 네트워크 슬러그를 사용하여 유효한 x402 v1 챌린지를 가지고 있었습니다. 네 개의 Waltsoft 엔드포인트와 uxus.finance 엔드포인트는 레거시 네트워크 슬러그에 대한 호환성 메모를 가졌습니다. SlamAI 및 itsgloria 엔드포인트는 호환성 메모 없이 유효한 챌린지를 반환했습니다.
이전 판결은 철회되었습니다.
수정된 접근 방식
결제 엔드포인트가 결함 있다고 선언하기 전에, 검사기(checker)를 확인하세요.
무료 엔드포인트 검증 체크리스트
- 요청 메서드(request method), URL, 응답 상태(response status), 응답 본문(response body), 응답 헤더(response headers), 및 프로브 시간(probe time)을 기록합니다.
- 검사기(checker)가 이해하는 x402 버전과 네트워크 형식을 명시합니다.
- 네트워크 식별자(network identifier)가 유효하지하다고 호출하기 전에, 지원되는 레거시 형식(legacy format) 하에서 도전 과제(challenge)가 유효한지 테스트합니다.
- 엔드포인트 판정(endpoint verdict)과 프록시 실패(proxy failure), 시간 초과(timeout), 또는 파서 제한(parser limitation)을 분리합니다.
- 결함을 보고하기 전에 수정된 파서로 재프로브(Reprobe)합니다.
- 판정이 변경될 때 원래 결과를 보존하여 수정 사항이 감사 가능하도록 유지합니다.
또한, 더 깊은 진단으로 넘어가기 전에 callx402 npm 패키지에서 무료 로컬 도구도 실행할 수 있습니다.
페이로드(Payload)가 적합한 곳 (Where Payload fits)
Payload는 x402 실패 사례가 종종 증거가 너무 부족한 상태로 보고되기 때문에 Observatory 검사를 구축했습니다. Veyline의 지원을 받는 Payload의 callx402는 응답에 실제로 실패가 포함된 경우를 위한 유료 진단 계층입니다. 이 서비스는 x402 기준으로 $0.10, 카드 기준으로 $2.00의 비용이 발생합니다. 이는 특정 결제 실패 증거를 분류합니다. 모든 가능한 실패를 진단하는 것은 아니며, 복구를 보장하지도 않습니다.
이 아홉 개의 엔드포인트에서 얻은 교훈은 더 좁고 유용합니다: 비난에 앞서 증거가 먼저 와야 합니다(evidence comes before blame). 도구와 엔드포인트가 의견이 다를 경우, 둘 다 검증해야 합니다.
게시물 참고 사항: 이 계정은 Payload의 Observatory 감지 기록 중 2026년 10월 15일과 16일에 기반하며, 해당 기록의 섹션 24에 기록된 수정 사항을 포함합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기