주 콘텐츠로 건너뛰기
학습가이드에이전트 지출 제어
가이드

프롬프트 주입을 견딜 수 있는 에이전트 지출 제어를 설정하세요.

8분
짧은 답변

대시보드에서 지출 권한을 설정하세요 - 기간별 허용량과 거래당 한도를 포함하여 - 백엔드가 모든 결제에서 이를 시행합니다. 백엔드에 존재하고 API가 읽기 전용이기 때문에 에이전트의 계획자를 탈취하는 프롬프트 주입이 여전히 한도를 높일 수 없습니다. 귀하의 코드는 API를 통해 권한을 읽어 표시하거나 이를 기반으로 계획합니다.

전제 조건

시작하기 전에.

  • 기존 에이전트 (see the add-payments-to-agent guide).
  • 에이전트를 소유한 작업 공간에 대한 대시보드 접근 - 권한은 거기에서 설정되며, API를 통해서는 설정되지 않습니다.
  • 예상되는 일일 지출에 대한 대략적인 아이디어 - 허용량은 정상 사용량의 2-3배여야 하며, 100배가 아니라 실제로 하중을 지탱할 수 있어야 합니다.
  • 권한을 읽기 위한 API 키 (이 가이드에는 sk_test_ 키가 적합합니다).
  • 에이전트 지출 정책 개념에 대한 친숙함 - 이 가이드는 운영적 대응물입니다.
4단계 중 1단계

대시보드에서 권한 설정.

Blockchain0x 대시보드에서 에이전트를 열고 두 개의 숫자를 설정하세요: 주기별 허용량(하루, 일주일 또는 30일)과 거래당 한도. 허용량은 전체 기간 동안 최악의 경우를 제한하며, 거래당 한도는 단일 비정상 요청이 한 번에 모든 것을 소진하는 것을 방지합니다. 이는 의도적으로 대시보드 작업입니다 - 에이전트가 내부에서 실행되는 인간 설정 경계입니다.

Amounts are USDC base units (6 decimals). An allowance_wei of "20000000" is 20 USDC; a per_tx_wei of "2000000" is 2 USDC. The period is a period_seconds value: 86400 for a day, 604800 for a week, 2592000 for 30 days.

4단계 중 2단계

API를 통해 권한 읽기.

귀하의 코드는 실시간 권한을 가져와 UI에 표시하거나 에이전트가 결제를 시도하기 전에 얼마나 남았는지 확인할 수 있습니다. 이 경로는 읽기 전용입니다 - 변경할 수 있는 엔드포인트가 없으므로 에이전트의 키가 자신의 한도를 확대할 수 없는 이유입니다.

읽기 (curl)
curl https://api.blockchain0x.com/v1/agents/agt_123/spend-permissions \
  -H "Authorization: Bearer $BLOCKCHAIN0X_API_KEY"
응답
{
  "allowance_wei": "20000000",
  "per_tx_wei": "2000000",
  "period_seconds": 86400,
  "start_at": "2026-05-15T00:00:00Z",
  "end_at": null,
  "revoked_at": null
}
4단계 중 3단계

시간에 묶거나 취소하십시오.

두 개의 필드는 권한을 시간 제한 제어로 변환합니다. start_at 및 end_at은 활성 상태인 창을 설정하므로 예약된 작업을 위한 예산을 미리 설정하거나 스스로 만료되도록 할 수 있습니다; 창 밖에서는 아무것도 승인하지 않습니다. revoked_at은 킬 스위치입니다: 대시보드에서 취소하면 이후 평가된 모든 결제에 대한 허용량이 0으로 떨어집니다.

더 강력한 중지를 원하면 apiKeys.revoke 또는 apiKeys.rotate로 에이전트의 API 키를 취소하거나 회전하세요 - 이는 자격 증명을 완전히 차단하며, 단순히 지출만 차단하지 않습니다. 권한 취소는 외과적 조치이며, 키 취소는 킬 스위치입니다.

4단계 중 4단계

한도에 도달한 결제를 처리합니다.

결제가 활성 권한을 초과하면 백엔드는 체인에 닿기 전에 이를 거부합니다 - 자금이 이동하지 않습니다. 귀하의 payments.create 호출은 오류를 반환하며; 이를 다른 실패한 호출처럼 처리하고, 운영자에게 이를 알리며, 같은 벽에 맹목적으로 재시도하지 마십시오.

에이전트가 시도한 내용을 보려면 대시보드의 활동 로그를 확인하고 실제 이동을 transactions.get로 조정하십시오. 거부된 시도의 급증은 조기 경고 신호입니다: 잘못 구성된 허용량, 무한 루프, 또는 주입 탐지기 중 하나입니다. 실패한 호출의 급증에 대해 경고하는 것과 동일한 방식으로 경고하십시오.

일반적인 함정

제어를 무너뜨리는 다섯 가지 실수.

백엔드 대신 에이전트 코드에 지출 한도를 설정하기

에이전트의 계획자나 시스템 프롬프트에서의 지출 규칙은 보안 경계가 아닙니다. 계획자를 무시하는 프롬프트 주입 공격은 한도를 무시합니다. 지출 권한의 전체 목적은 에이전트가 조작할 수 있는 범위를 벗어나 존재하는 것입니다 - 백엔드에서 대시보드에 설정되어 있으므로 에이전트는 이를 변경할 수 없습니다. '에이전트에게 $X 이상 지출하지 말라고 하세요'가 아니라 거기에서 구성하십시오.

에이전트의 API 키가 한도를 넓힐 것으로 기대합니다

API는 지출 권한에 대해 읽기 전용입니다: 허용량을 높이는 엔드포인트나 SDK 메서드가 없습니다. 이는 의도적입니다. 손상되거나 주입된 에이전트가 이미 보유한 키로 변형 엔드포인트를 호출할 수 있다면, 제어는 무의미해질 것입니다. 한도를 변경하려면 대시보드를 사용해야 하며, 여기서 변경은 감사 추적이 있는 인간의 행동입니다.

한도가 너무 높아 결코 문제가 되지 않도록 설정하기

허가는 하중을 지탱할 수 있을 때만 귀하를 보호합니다. 정상 사용량의 100배로 설정된 허용량은 이미 귀하가 원했던 것보다 훨씬 더 많은 금액을 지출할 때까지 무한 루프를 막지 않습니다. 허용량과 거래당 한도를 예상 사용량의 약 2-3배로 설정한 다음, 실제 트래픽이 필요하다고 입증되면 의도적으로 넓히세요.

거래당 한도를 잊어버리기

allowance_wei는 전체 기간 동안 최악의 경우를 제한합니다; per_tx_wei는 단일 결제를 제한합니다. 이들은 서로 다른 작업을 수행합니다. 거래당 한도가 없는 관대한 기간 수당은 여전히 하나의 비정상적인 요청 - 버그가 있는 재시도, 악의적으로 인용된 가격 - 이 한 번에 큰 금액을 이동할 수 있게 합니다. 둘 다 설정하세요.

빠른 킬 스위치가 연습되지 않았습니다.

새벽 2시에 뭔가 잘못된 것처럼 보일 때, 이미 연습한 동작을 원합니다. 두 가지가 있습니다: 대시보드에서 권한을 취소합니다(취소된 시점을 설정하고, 허용량을 0으로 설정함), 또는 apiKeys.revoke / apiKeys.rotate로 에이전트의 API 키를 취소/회전합니다(자격 증명을 완전히 삭제합니다). 어떤 것을 선택할지 알고 빠르게 수행할 수 있습니다.

다음 단계

권한이 설정된 후.

권한이 시행되면 가장 효과적인 후속 조치는 신뢰할 수 있는 웹훅 처리(결제 이벤트가 실제로 귀하의 핸들러에 도달하도록), 신원 확인(상대방이 에이전트의 프로필을 신뢰하도록), 그리고 출시 전 보안 검토(또 다른 문을 열어두지 않도록)입니다.

전체 참조는 docs.blockchain0x.com에 있습니다. 제품 표면: 지출 제어.

마지막 검토: 2026-05-15. CC BY 4.0에 따라 게시됨.

프롬프트가 제거할 수 없는 가드레일을 귀하의 에이전트에게 부여하세요.

기간별 허용량과 거래당 한도가 대시보드에서 설정되고 백엔드에서 시행됩니다. 무료로 시작할 수 있습니다.