백엔드 개발자 J씨는 AI 에이전트가 API 호출을 넘어 실제 결제까지 수행하는 워크플로우를 구현하려다 카드 정보 보안 문제에 부딪혔다. 터미널 창에 카드 번호를 직접 입력하거나 환경 변수에 저장하는 방식은 보안상 불가능에 가깝다. 이런 곤란을 겪는 개발자가 늘고 있다.

Stripe Link CLI의 기술적 사양과 작동 방식

Stripe(온라인 결제 솔루션 기업)가 Link CLI(커맨드라인 인터페이스 도구)를 출시했다. 이 도구는 AI 에이전트가 Link 지갑에서 일회용 결제 자격증명을 발급받아 사용자 대신 구매를 완료하게 한다. 실제 카드 정보는 저장하지 않는 구조다. 지원하는 자격증명은 두 가지다. 어디서든 사용 가능한 가상 카드인 PAN(기본 카드 번호)과 Machine Payment Protocols(기계 간 결제 프로토콜) 기반의 SPT(공유 결제 토큰)다.

모든 지출 요청은 사용자에게 푸시 알림으로 전송되며, 사용자가 직접 승인해야 결제가 진행된다. 에이전트 환경에서는 LLM 친화적인 텍스트 포맷인 toon을 기본으로 출력하며, json, yaml, md, jsonl 등 구조화된 형식도 지원한다. MCP(모델 컨텍스트 프로토콜, AI 모델과 외부 도구를 연결하는 표준) 서버로 실행할 수 있어 `.mcp.json` 설정에 추가하면 로컬 서버로 에이전트와 바로 통합된다.

지출 요청의 라이프사이클은 create, request approval, approved 순으로 진행된다. 요청 시 컨텍스트는 최소 100자 이상이어야 하며, 결제 금액은 최대 50,000센트, 즉 500달러로 제한된다. 현재는 미국 Link 계정에서만 사용 가능하다. 라이선스는 MIT(누구나 자유롭게 수정 및 배포 가능한 오픈소스 라이선스) 방식이다.

기존 결제 자동화 방식과의 차별점

예전에는 AI 에이전트에게 결제 권한을 주려면 카드 정보를 텍스트 형태로 전달하거나 고정된 API 키를 부여해야 했다. 이는 정보 유출 시 치명적인 보안 사고로 이어진다. 반면 Link CLI는 아래와 같이 `--output-file` 옵션을 통해 0600 권한(소유자만 읽고 쓸 수 있는 권한)의 로컬 파일에만 정보를 기록하고, 표준 출력(stdout)에는 마스킹된 정보만 노출한다.

bash
--output-file [파일경로]

결제 방식에서도 차이가 있다. MPP(기계 간 결제 프로토콜) 지원 가맹점에서는 아래 명령어로 결제한다. 주목할 점은 SPT(공유 결제 토큰)가 일회용이라는 사실이다. 결제에 실패하면 기존 토큰을 재사용할 수 없으며, 반드시 새로운 지출 요청을 생성해야 한다.

bash
mpp pay

개발자가 바로 체감하는 변화는 테스트 환경 구축의 간소화다. `--test` 플래그를 사용하면 테스트용 카드 번호인 4242424242424242를 통해 실제 비용 지출 없이 기능을 검증할 수 있다. 폴링(상태를 주기적으로 확인하는 작업) 과정에서는 approved, denied, expired, canceled 상태에 도달해야 정상 종료된다. 타임아웃 발생 시 POLLING_TIMEOUT으로 비정상 종료하여 미완료 요청이 잘못 처리되는 것을 방지한다.

결제 권한의 위임이 신뢰가 아닌 일회용 토큰과 실시간 승인이라는 기술적 제어로 옮겨갔다.