메인 콘텐츠로 건너뛰기
금융 에이전트는 장부를 조정하고, 환불을 발행하고, 자금을 이동시키고, 카드와 계좌 데이터를 읽습니다. 하나의 나쁜 툴 호출의 폭발 반경 — 폭주하는 환불 루프, 장부 테이블에 대한 DROP, 프롬프트로 유출되는 카드 번호 — 은 달러와 감사 지적사항으로 측정됩니다. 이 레시피는 그런 에이전트를 안전하게 실행하게 만드는 컨트롤을 조립합니다: 바닥으로서의 tight 자율성, 자금 이동 툴에 대한 사람의 승인, 회로 차단기로서의 run별 비용 상한, 그리고 정책 감사인이 요청할 서명된 증거를 구체화하는 설치 가능한 SOC 2 / PCI 컴플라이언스 팩.
여기 있는 모든 것은 콘솔(Firewall → Posture / Policies, Guardrails, Compliance)에서 구성됩니다. 그 관리 라우트는 릴레이 키가 아니라 여러분의 콘솔 세션을 사용합니다 — 에이전트가 만드는 /v1/* 호출만 sk-orca-… 키를 운반합니다. 정책 편집은 Developer 역할을 요구합니다; 컴플라이언스 설치 / go-live / 거주지는 워크스페이스 Admin유료 플랜을 요구합니다.

1. 안전한 금융 AI 에이전트에 guardrail 이상이 필요한 이유

콘텐츠 스크리닝은 프롬프트 내 카드 번호를 잡습니다. 그것은 에이전트가 refund.issue를 만 번 호출하거나, 내부 10.x 호스트에 도달하거나, 파괴적 마이그레이션을 실행하는 것을 멈추지 못합니다. 금융 등급 자세는 두 평면을 한 번에 통제해야 합니다:

텍스트 평면

Guardrails는 요청과 응답 텍스트를 스크리닝합니다 — 모델이 보기 전에 PII 마스킹, 시크릿 차단.

액션 평면

Firewall은 모든 툴 호출, MCP 디스패치, 그리고 아웃바운드 요청을 통제합니다 — 허용, 감사, 거부, 정화, 보류, 또는 비용 상한.
이 레시피는 네 가지 컨트롤을 서로 위에 쌓습니다. 두 평면이 아직 명확하지 않다면 먼저 Secure Agents 기준선Guardrails vs Firewall을 읽으세요.

2. 바닥: tight 자율성 적용하기

가장 강력한 단일 스위치 자세에서 시작하세요. Firewall → Posture에서, tight 자율성 수준 (Developer 역할)을 적용하세요. 단일 트랜잭션에서 두 평면을 모두 설정합니다:
Planetight가 구체화하는 것
Firewall기본 거부; 파괴적 셸 거부; SSRF egress 거부(fetch 형태의 툴 이름)
Guardrails요청에 대해 PII Shield + Secrets Blocker 강제
자율성 스위치는 실제의, 편집 가능한 autonomy_* 정책 및 guardrail 행을 씁니다 — 그것은 블랙박스가 아니라 시드입니다. 감사 스냅샷에서 원클릭 실행 취소가 있습니다.
자금 이동 에이전트에서는 프로덕션에서 곧바로 tight로 뒤집지 마세요. 모든 강제 판정이 [shadow] would … 이유와 함께 audit로 강등되도록 **shadow mode**로 적용하세요(또는 balanced에서 시작). Firewall → Events / Runs를 지켜보고, 정책이 예상한 것에 발동함을 확인한 다음, 강제하세요.

3. 승인: 자금 이동 툴을 사람을 위해 보류하기 (HITL)

기본 거부는 여러분이 허용하지 않은 것을 멈춥니다. 여러분이 허용하지만 자금을 이동시키는 툴 — refund.issue, payment.send, ledger.adjust — 은 자동 허용도 자동 거부도 되어서는 안 됩니다. 사람이 대역 외에서 서명하도록 그것들에게 pending_approval 판정을 주세요. Firewall → Policies에서, 여러분의 기본값 위에 규칙을 추가하세요:
  • Tool glob: refund.*(또는 payment.send, ledger.adjust, …)
  • Verdict: pending_approval
에이전트가 그것을 호출할 때:
  1. 보류된 호출은 승인 id와 함께 HTTP 400 firewall_approval_pending을 반환합니다; 호출은 툴에 도달하지 않습니다.
  2. 검토자가 그것을 해결합니다 — 콘솔에서(Developer+), 또는 POST /api/v1/firewall/approvals/:id/callback에 대한 여러분 자신의 승인 시스템에 대한 HMAC 서명 웹훅 콜백을 통해.
  3. 에이전트가 GET /api/v1/firewall/approvals/:id를 폴링한 다음, 일회용 X-OrcaRouter-Firewall-Approval 헤더와 함께 원래 호출을 재제출합니다 — 게이트웨이는 그것을 그 한 번 통과시킵니다.
작업만 사람이 필요하도록 인자 술어를 고정하세요: JSONPath 절 {"path":"$.amount_cents","op":"gt","value":50000}와 함께 glob refund.issue, 판정 pending_approval. 작은 환불은 흐르고; $500+ 환불은 검토자를 기다립니다. 전체 연산자 세트(eq, contains, regex, in, cidr_match, gt, lt)는 Firewall 규칙을 참조하세요.

4. 회로 차단기: run의 비용 상한 처리하기

retry 루프에 갇힌 금융 에이전트는 정확성 버그이자 청구 버그입니다. cap_cost 규칙은 폭주 루프 차단기입니다: 에이전트 run의 누적 지출이 규칙별 센트 상한을 넘으면 툴 호출을 거부합니다. 판정 cap_costcap_cost_cents 상한 — 예: 2000(USD $20.00) — 을 가진 규칙을 여러분 에이전트의 툴에 범위 지정하여 추가하세요. 일단 run의 진행 중인 지출이 상한을 초과하면, 그 run의 추가 호출은 거부됩니다; 새 run은 깨끗하게 시작됩니다.
cap_cost는 단일 키의 평생 예산이 아니라 에이전트 run의 지출을 상한 처리합니다. 에 대한 단단한 상한을 위해서는 API 키 자체에 credit_limit_usd를 설정하세요(0 = 무제한) — 둘은 결합됩니다: 키 예산이 총 지출을 제한하고, cap_cost가 어느 한 run을 제한합니다.

5. 텍스트 평면의 이중 안전장치

tight는 이미 PII Shield와 Secrets Blocker를 강제합니다. 금융 에이전트의 경우, 구체적인 것에 의존하세요:
Secrets Blocker guardrail은 모델이 보기 전에 프롬프트 내 API 키와 자격 증명을 잡습니다. 카드 데이터의 경우, credit_cardblock 액션으로 설정된(엔티티별 entity_actions를 통해) pii 규칙이 요청을 HTTP 400 guardrail_blocked로 완전히 거부합니다 — 그리고 block은 쿼터를 소모하지 않습니다(입력 block은 미터링 전에 발동). Guardrails §5를 참조하세요.
PII Shield 프리셋은 단일 pii 규칙, mask, stage both입니다. 입력 단계 마스킹은 라이브입니다: 요청 내 iban이나 ssn은 모델이 호출되기 전에 [IBAN] / [SSN]으로 렌더링됩니다. (라이브 출력/스트리밍 마스킹은 로드맵에 있습니다; 출력 block은 오늘 스트리밍과 비스트리밍에서 강제됩니다.)
Firewall sanitize 판정은 전달 전에 툴 호출의 인자에서 매치된 부분 문자열을 가립니다 — 툴이 반환하는 것은 결코 다시 쓰지 않습니다. 시크릿을 요청에서 완전히 멀리 두려면, 그것이 텍스트 평면의 Secrets Blocker guardrail의 역할입니다.

6. 컴플라이언스 팩: 한 번의 설치로 SOC 2와 PCI

위의 컨트롤은 구현입니다. 감사인은 증거를 원합니다. Compliance 평면이 그 루프를 닫습니다: 프레임워크 카탈로그를 탐색하고(무료, 모든 Member), 유료 플랜에서 워크스페이스 Admin으로 팩을 설치하세요. 팩을 설치하면 프레임워크의 컨트롤에 매핑되는 guardrail과 firewall 정책을 구체화합니다 — 그래서 감사 아티팩트를 주는 동일한 설치가 실제 강제도 세웁니다.
# Console action (UserAuth session) — install the PCI DSS pack
POST /api/compliance/packs/pci_dss/install
# then, when you're ready to enforce:
POST /api/compliance/packs/pci_dss/golive
금융 에이전트와 관련된 확인된 팩에는 soc2(AICPA SOC 2 Trust Services Criteria), pci_dss(PCI DSS 4.0), glba(Gramm-Leach-Bliley), 그리고 dora_eu(Digital Operational Resilience Act)가 포함됩니다 — 프라이버시 프레임워크(gdpr, uk_gdpr, ccpa), 보안/AI 프레임워크(iso_27001, iso_42001, nist_ai_rmf, eu_ai_act, nist_800_53), 그리고 owasp_llm(OWASP Top 10 for LLM Applications) 팩과 함께. 전체 세트는 라이브 카탈로그를 탐색하세요.

감사인이 검증할 수 있는 리포트

무엇상세
서명SHA-256 증거 해시에 대한 Ed25519 — 변조 증거
형식CSV / JSON / PDF
검증공개 — GET /api/public/compliance/pubkey, POST /api/public/compliance/verify
공유읽기 전용 감사인 링크: GET /api/public/compliance/share/:token
무료 플랜은 리포트 하나를 포함합니다; CSV/JSON 내보내기와 추가 리포트는 유료입니다. 리포트 생성과 go-live는 유료 플랜으로 서버 게이트됩니다 — 카탈로그와 준비도 뷰는 무료로 유지됩니다.

7. 데이터 거주지, 보존, 그리고 삭제

금융 등급 자세는 “증거가 어디에 있고, 로그를 얼마나 오래 유지하는가”에 답해야 합니다.
  • 거주지는 컴플라이언스 리포트 아티팩트의 지역입니다 — us, eu, uk, ap, cn, 또는 global, PUT /api/compliance/residency(Admin)를 통해 설정. 교차 지역 읽기는 보류됩니다. (이는 추론이 실행되는 곳이 아니라 아티팩트를 고정합니다.)
  • 보존 — 요청 로그는 기본 30일이며 서버에서 180일 하드 최대값으로 제한됩니다.
  • 삭제 — 셀프 서비스 계정 삭제는 30일 유예 윈도우에 들어가며, 그 후 되돌릴 수 없는 PII 정리가 guardrail matches, 요청 로그, 그리고 firewall events를 통해 캐스케이드합니다.
모든 정책, 규칙, 그리고 컴플라이언스 변경은 감사 행(워크스페이스 + 중앙)을 씁니다. Guardrail과 firewall 변경은 또한 버전 관리됩니다 — 모든 guardrail을 그것의 History 탭에서 diff하고 revert하세요.

8. 의존하기 전에 검증하기

금융 정책을 믿음으로 배포하지 마세요. 두 평면 모두 아무것도 영속화하지 않고 아무것도 디스패치하지 않는 샌드박스를 가집니다:
  • Guardrails → Test — 샘플을 붙여 넣고, 단계를 고르고, 판정과 렌더링된 (마스킹된) 텍스트를 보세요.
  • Firewall → Test(Developer+) — 샘플 툴 호출을 dry-run하고 판정, 매치된 규칙, 그리고 이유를 보세요.
일단 라이브가 되면, Firewall → Events / Runs는 모든 평가의 run별 기록이고, 이상 피드는 워크스페이스의 학습된 주중 시간대 베이스라인에 대한 속도/비용 급증, retry_loop, 그리고 한 번도 본 적 없는 툴 경로를 플래그합니다 — 정확히 금융 사건에 선행하는 시그널입니다.

요약

Secure Agents 기준선

tight가 구체화하는 것, 그리고 적용하기 전에 시뮬레이션하는 법.

Firewall 규칙

인자 술어, 비용 상한, egress, 그리고 시퀀스를 깊이 있게.

SOC 2 증거

구체화된 컨트롤을 서명된 감사 아티팩트로 전환하세요.

PII 안전 로깅

카드와 계좌 데이터를 요청 로그에서 멀리 두세요.

강제 모드

Observe → shadow → enforce, 자금 이동 툴을 위한 안전한 롤아웃.

위험한 툴 호출

금융 에이전트의 툴 허용 목록이 방어하는 위협.