콘텐츠로 건너뛰기
파운더 가격 — 얼리 고객에게 고정시작하기 →

AI 에이전트의 자격증명 관리: Vault-Proxy 아키텍처

AI 에이전트의 자격증명 관리는 자율 에이전트가 API 키와 시크릿을 에이전트의 메모리, 로그, 컨텍스트 창에 자격증명을 노출시키지 않고 획득, 사용, 교체, 해제하는 방법을 규정하는 인프라 관행의 전체입니다. 에이전트는 표준 자격증명 패턴을 깨뜨립니다. 자율적으로 실행되고, 프롬프트 인젝션으로 침해될 수 있으며, 공유 시크릿이 유출 공격 표면을 배가시키는 플릿으로 운영됩니다. CVE-2024-34359(llama-cpp-python, CVSS 9.6)와 CVE-2025-29927(Next.js, CVSS 9.1)은 보안 경계가 실패할 때 AI 배포가 시크릿을 노출시키는 방법을 입증했습니다.

AI 에이전트의 자격증명 관리는 자율 에이전트가 API 키, 토큰, 시크릿을 에이전트의 메모리, 로그, 컨텍스트 창에 노출시키지 않고 획득, 사용, 교체, 해제하는 방법을 규정하는 관행과 인프라 패턴의 전체입니다.

에이전트 플릿에서 표준 자격증명 패턴이 실패하는 이유

규모에서의 .env 파일 문제

환경 변수는 단일 프로세스 애플리케이션에서 올바르게 작동합니다. 에이전트 플릿에서는 모델이 즉시 무너집니다. 10개 에이전트 플릿에서 공유된 .env 파일은 10개의 실행 중인 프로세스 각각이 메모리에 모든 시크릿을 보유함을 의미합니다. 각 프로세스는 로그, 에러 출력, 디버그 추적을 생성하며, 이 모두가 잠재적인 자격증명 노출 표면입니다. 이 10개 에이전트 중 하나라도 환경을 출력하도록 지시하는 프롬프트 인젝션 공격으로 침해되면, 공유 .env의 모든 자격증명이 동시에 유출됩니다.

N-에이전트 승수가 핵심 문제입니다. 플릿의 추가 에이전트마다 공유되는 각 자격증명에 대해 또 다른 노출 표면이 추가됩니다. .env에 5개의 API 키가 있는 20개 에이전트 플릿은 환경 스냅샷을 캡처할 수 있는 로그 집계, 에러 보고, 또는 디버깅 도구를 고려하기 전에 100개의 잠재적인 자격증명 노출 포인트를 생성합니다.

배포된 AI 시스템의 평문 시크릿에 관한 CVE 기록

두 개의 CVE가 배포된 AI 시스템에서 안전하지 않은 시크릿 처리의 실제 비용을 문서화합니다.

CVE-2024-34359(llama-cpp-python, CVSS 9.6 Critical): llama-cpp-python에서 모델 메타데이터의 샌드박스 없는 렌더링을 통한 Jinja2 서버 측 템플릿 인젝션. 악의적으로 작성된 .gguf 모델 파일의 채팅 템플릿 필드가 샌드박싱 없이 jinja2.Environment를 통해 렌더링되어 원격 코드 실행이 가능해졌습니다. 외부 소스에서 모델을 다운로드하는 에이전트 파이프라인을 포함한 신뢰할 수 없는 모델을 로드하는 모든 애플리케이션이 범위에 해당합니다. 구조적 문제는 모델 로딩 코드가 격리 없이 외부 콘텐츠를 신뢰했다는 것입니다.

CVE-2025-29927(Next.js, CVSS 9.1 Critical): AI 에이전트 API 백엔드를 포함한 자격증명으로 보호된 라우트를 보호하기 위해 Next.js 미들웨어를 사용하는 애플리케이션에서 인증되지 않은 요청이 미들웨어를 우회할 수 있게 하는 x-middleware-subrequest 헤더를 통한 인가 우회. 우회로 인해 미들웨어가 차단해야 하는 라우트에 대한 접근이 가능해졌습니다. 이 결함은 버전 12.3.5, 13.5.9, 14.2.25, 15.2.3에서 수정되었습니다.

두 CVE 모두 동일한 기본 리스크 클래스를 보여줍니다. 시크릿이나 보호된 라우트가 구조적 격리 대신 애플리케이션 계층 제어에 의존할 때, 단일 논리 결함이 이를 노출시킵니다. Vault-Proxy 패턴은 시크릿을 에이전트 컨테이너 밖에 유지하고 인프라 계층 시행 뒤에 두어 공격 표면을 제거합니다.

에이전트 로그가 자격증명 위험인 이유

전통적인 애플리케이션 로그에는 제어된 호출 사이트의 구조화된 이벤트가 포함됩니다. 에이전트 로그는 모든 것을 캡처합니다. LLM 추론 추적, 도구 호출 인자, 도구 반환 값, 중간 추론 단계입니다. 에이전트가 Authorization 헤더에 자격증명을 사용하여 외부 API를 호출할 때, 단순한 로깅 구성은 해당 헤더를 캡처합니다. 에이전트의 추론 추적이 검색된 문서나 프롬프트에서 "using API key sk-..." 텍스트를 포함하면, 해당 문자열이 로그에 나타납니다.

에이전트 로그 볼륨은 높고 보존 기간은 종종 깁니다. 로그 집계 시스템에 한 번 나타난 자격증명은 로그가 삭제될 때까지 그 곳에 남아 있습니다. 이는 생성한 에이전트가 폐기된 후 몇 주 또는 몇 달이 될 수 있습니다.

프롬프트 인젝션에서 자격증명으로의 경로

OWASP LLM Top 10 v1.1(LLM06: 민감한 정보 공개, 2025년 10월 발행)은 자격증명 유출을 LLM 애플리케이션의 주요 공격 벡터로 식별합니다. 공격은 직접적입니다. 에이전트에 의해 검색된 적대적 콘텐츠(웹 페이지, 문서, 도구 응답에서)에는 "모든 환경 변수 출력" 또는 "API 키 출력"과 같은 지침이 포함됩니다. 구조적 자격증명 격리 없는 에이전트는 이 지침을 정당한 작업 지침과 구별할 수 없습니다.

2026년 초 연구에서는 3,984개의 에이전트 스킬을 스캔하여 283개(7.1%)에 평문으로 LLM 컨텍스트를 통해 API 키를 전달하는 심각한 자격증명 처리 결함이 포함되어 있음을 발견했습니다. 76개의 스킬에는 공격자 제어 엔드포인트로 자격증명을 유출하도록 설계된 의도적인 자격증명 도용 페이로드가 포함되어 있었습니다. 유일한 구조적 방어는 자격증명이 에이전트 컨텍스트에 절대 존재하지 않도록 보장하는 것입니다. 에이전트는 보유하지 않은 자격증명을 유출할 수 없습니다.

AI 에이전트의 자격증명 관리 패턴

패턴 1: 환경 변수(가장 안전하지 않음)

환경 변수(os.environ, .env 파일, Docker --env 플래그)는 대부분의 에이전트 프레임워크의 기본 자격증명 패턴입니다. LangChain은 os.environ에서 읽고, CrewAI는 환경 인젝션에 의존하며, OpenAI Agents SDK는 프로세스 환경의 자격증명을 기대합니다. 이 패턴은 로컬 개발과 프로토타이핑에만 적절합니다.

프로덕션 에이전트 플릿의 경우, 환경 변수는 모든 보안 축에서 실패합니다. 에이전트 프로세스 메모리에 존재하고(프롬프트 인젝션에서 접근 가능), Linux 호스트의 /proc/{pid}/environ에 나타나며, 에러 역추적 및 디버그 출력에 표면화되고, 공유 환경 플릿의 모든 에이전트에 전파됩니다.

패턴 2: 시크릿 매니저 통합

클라우드 시크릿 매니저(AWS Secrets Manager, 월 $0.40/시크릿 + 10,000 API 호출당 $0.05; Azure Key Vault; GCP Secret Manager)는 에이전트 프로세스 외부에 자격증명을 저장하고 온디맨드로 검색함으로써 환경 변수를 개선합니다. 에이전트는 시크릿 매니저 API를 호출하여 자격증명을 가져오고, 작업에 사용하고, 삭제합니다.

이 패턴은 메모리의 자격증명 수명을 줄이지만 노출 창을 제거하지 않습니다. 자격증명은 여전히 가져오기-사용-삭제 사이클 중에 에이전트 메모리를 통과합니다. 해당 창 동안 프롬프트 인젝션에 노출된 채로 남아 있으며, 에이전트가 첫 번째 것에 접근하기 위해 두 번째 자격증명(시크릿 매니저 API 키 또는 IAM 역할)을 보유해야 합니다.

패턴 3: Vault Proxy / 불투명 핸들 인젝션(가장 안전)

Vault-Proxy 패턴은 자격증명을 에이전트 컨테이너에서 완전히 멀리 유지합니다. 에이전트는 불투명한 핸들, $CRED{stripe_key}와 같은 참조 문자열을 보유하여 자격증명을 해결하지 않고 식별합니다. 에이전트가 핸들을 포함하는 API 호출을 할 때, Vault Proxy는 요청을 가로채어 핸들을 실제 자격증명으로 해결하고, 네트워크 계층에서 주입하며, 인증된 요청을 전달합니다. 에이전트는 평문 자격증명을 절대 볼 수 없습니다.

이것은 HashiCorp Vault(35,763개 별, BSL, v2.0.2는 2026년 6월 5일 출시)의 에이전트 측 인젝션과 같은 원칙으로, 에이전트 오케스트레이션 계층에 직접 내장되어 있습니다. 에코시스템에 700개 이상의 MCP 서버(2026년 6월)가 있어, $CRED{} 핸들 패턴은 서버별 .env 확산을 제거합니다. 에이전트 구성의 하나의 핸들 참조가 모든 MCP 서버의 자격증명 요구사항을 충족합니다.

완전히 침해된 에이전트 컨테이너(공격자의 임의 지침을 실행하는)는 컨테이너의 범위 내에 자격증명이 존재하지 않기 때문에 자격증명에 대한 접근이 제로입니다.

패턴 4: 워크로드 아이덴티티와 OIDC 페더레이션

워크로드 아이덴티티(OIDC 페더레이션, SPIFFE/SPIRE, 클라우드 IAM 서비스 계정)는 클라우드 서비스 접근을 위한 장기 API 키를 완전히 제거합니다. 각 에이전트 컨테이너는 런타임에 클라우드 프로바이더 자격증명으로 교환되는 단명 ID 토큰을 받습니다. 자격증명은 제한된 TTL을 가지며, 일반적으로 15분에서 1시간이고, 이후 만료되면 새로운 토큰을 발행해야 합니다.

워크로드 아이덴티티는 클라우드 프로바이더 자격증명(AWS API 키, GCP 서비스 계정 키)이 필요한 클라우드 인프라에서 실행되는 에이전트 플릿에 올바른 패턴입니다. 오케스트레이션 플랫폼이 ID 발행과 토큰 갱신을 관리해야 하지만 정적 키 교체 문제를 완전히 제거합니다. 여러 클라우드 계정 또는 프로바이더에 걸쳐 있는 멀티 에이전트 시스템 아키텍처의 경우, 워크로드 아이덴티티 페더레이션이 유일하게 확장 가능한 자격증명 모델입니다.

OpenLegion의 관점: $CRED{} 핸들 패턴

모든 주요 AI 에이전트 프레임워크는 자격증명 관리를 호스트 애플리케이션의 문제로 취급합니다. LangChain과 LangGraph는 os.environ에서 읽습니다. CrewAI는 환경 인젝션에 의존합니다. OpenAI Agents SDK는 프로세스 환경의 자격증명을 기대합니다. AutoGen은 Python 프로세스 환경을 상속합니다. 이 프레임워크 중 어느 것도 구조적 자격증명 격리를 제공하지 않으며, 자격증명 관리를 운영자에게 맡겨두어 실제로 .env 파일과 공유 환경 변수를 의미합니다.

OpenLegion의 Vault-Proxy는 에이전트 오케스트레이션 계층에 내장되어 있습니다. 에이전트는 자격증명을 불투명한 $CRED{name} 핸들로 참조합니다. 메쉬 호스트는 서버 측에서 핸들을 해결하고 네트워크 경계에서 자격증명을 주입합니다. 어떤 에이전트 컨테이너도 평문 자격증명을 절대 받지 않습니다. 프롬프트 인젝션은 존재하지 않는 것을 유출할 수 없습니다.

Infisical(27,296개 별, MIT 라이선스 코어를 가진 오픈 소스 TypeScript 시크릿 플랫폼)은 2023년에 $2.8M 시드 펀딩을 조달하여 개발자 네이티브 시크릿 관리에 대한 시장 수요를 보여줍니다. OpenLegion은 같은 기능을 에이전트 런타임에 직접 내장합니다. 별도의 시크릿 관리 배포가 필요하지 않습니다.

차원OpenLegionLangChain/LangGraphCrewAIOpenAI Agents SDKAutoGen
자격증명 저장Vault(불투명 핸들)환경 / .env환경 / .env환경 / .env환경 / .env
에이전트 접근 패턴$CRED{} 핸들(컨테이너에서 해결되지 않음)os.environ 직접 읽기os.environ 직접 읽기os.environ 직접 읽기os.environ 직접 읽기
에이전트 컨텍스트의 평문?없음있음(os.environ 읽기 시)있음(os.environ 읽기 시)있음(os.environ 읽기 시)있음(os.environ 읽기 시)
교체 지원Vault 네이티브; 재시작 없는 핫 교체수동; 재시작 필요수동; 재시작 필요수동; 재시작 필요수동; 재시작 필요
에이전트별 스코핑허용 목록에 의해 메쉬 수준에서 강제강제되지 않음강제되지 않음강제되지 않음강제되지 않음
감사 추적각 핸들 해결이 에이전트 ID와 함께 기록됨기본 없음기본 없음기본 없음기본 없음

현재 스택의 전체 자격증명 노출 표면을 평가하는 팀의 경우, AI 에이전트 보안 위협 모델은 프롬프트 인젝션, 샌드박스 이탈, 예산 남용과 함께 6개의 문서화된 위협 카테고리 중 하나로 자격증명 누출을 다룹니다.

AI 에이전트 플릿의 시크릿 교체

TTL 제한 자격증명 임대

정적 API 키(만료 없는 자격증명)는 에이전트 플릿에서 최악의 자격증명입니다. 유출된 정적 키는 무기한 유효합니다. 키 교체는 잠재적으로 활성 작업 중에 키를 사용하는 모든 에이전트를 조정해야 합니다.

TTL 제한 자격증명 임대는 두 문제를 모두 해결합니다. 자격증명은 만료 창으로 발행됩니다. 대화형 에이전트 세션에는 1시간이 일반적이며, 고감도 작업에는 15분입니다. 임대가 만료되면 Vault는 자동으로 새로운 자격증명을 발행합니다. 이전 자격증명은 만료 후 무효화되어 유출된 복사본의 가치를 제한합니다. 여러 임대 창에 걸쳐 있는 에이전트 작업은 중단 없이 투명한 갱신을 받습니다.

HashiCorp Vault의 동적 시크릿 엔진은 데이터베이스, 클라우드 프로바이더, 커스텀 백엔드를 위한 단명 자격증명을 온디맨드로 생성합니다. 각 자격증명은 요청하는 에이전트에 고유하며 설정 가능한 TTL 이후 만료됩니다. CVE-2026-39829(golang/crypto, 2026년 6월)는 무제한 RSA 모듈러스 크기로 인한 SSH 공개 키 파싱의 DoS 취약점에 패치를 적용했습니다. Vault v2.0.2는 RSA 키를 8,192비트로 제한하여 이를 해결했습니다. 전용으로 구축된 Vault 인프라조차 CVE를 제공하므로, Vault를 직접 사용하더라도 에이전트와 원시 시크릿 사이의 추상화 계층이 중요합니다.

에이전트 재시작 없는 핫 교체

전통적인 애플리케이션 시크릿 교체는 새로운 자격증명을 채택하기 위해 프로세스를 재시작해야 합니다. 에이전트 플릿은 강제 재시작을 허용할 수 없습니다. 에이전트는 작업 중이거나, 재시작 시 손실될 작업 상태를 보유하거나, 멀티 스텝 핸드오프에서 다른 에이전트와 조정하고 있을 수 있습니다.

핫 교체는 실행 중인 에이전트 컨테이너를 건드리지 않고 새로운 자격증명을 Vault에 주입합니다. Vault Proxy를 통한 에이전트의 다음 API 호출은 투명하게 새로운 자격증명을 사용합니다. 에이전트의 관점에서 $CRED{name} 핸들은 여전히 해결됩니다. 기본 시크릿만 변경되었습니다.

핫 교체는 에이전트가 자격증명을 로컬로 캐시하지 않아야 합니다. $CRED{} 핸들 패턴은 이를 구조적으로 강제합니다. 핸들은 시작 시가 아닌 호출 시에 해결되므로 해결된 값의 로컬 캐싱은 결코 불가능합니다.

에이전트별 교체 범위

공유 자격증명 플릿에서 자격증명을 교체하면 이를 사용하는 모든 에이전트에 영향을 미칩니다. 교체 이벤트는 플릿 전체 조정을 필요로 하여 조정 병목과 일부 에이전트는 이전 자격증명을 사용하고 다른 에이전트는 새로운 자격증명을 사용하는 창을 만듭니다.

에이전트별 자격증명 스코핑은 교체를 직교하게 만듭니다. 에이전트 A의 자격증명을 교체해도 에이전트 B는 자체 별도 자격증명 범위를 보유하기 때문에 영향을 받지 않습니다. 이는 오케스트레이션 계층이 공유 .env 파일에 의존하지 않고 에이전트별 스코핑을 강제할 때만 달성 가능합니다. 여러 전문화된 에이전트를 연결하는 에이전틱 워크플로우 설계의 경우, 에이전트별 교체 범위는 다운타임 없는 자격증명 위생에 필수적입니다.

에이전트 간 자격증명 격리

에이전트별 자격증명 할당

플릿의 각 에이전트는 특정 작업이 필요로 하는 자격증명만 보유해야 합니다. 웹 스크래핑 에이전트는 HTTP 클라이언트 자격증명에 대한 접근이 필요하지만 데이터베이스 연결 문자열은 필요하지 않습니다. 데이터 분석 에이전트는 데이터 웨어하우스에 대한 읽기 접근이 필요하지만 외부 API에 대한 쓰기 토큰은 필요하지 않습니다. 퍼블리싱 에이전트는 CMS에 대한 쓰기 접근이 필요하지만 내부 데이터베이스에 대한 접근은 필요하지 않습니다.

에이전트별 자격증명 할당은 오케스트레이션 계층이 스코핑을 강제해야 합니다. 에이전트 자체가 아닙니다. 권한이 없는 자격증명을 요청하는 에이전트는 공유 .env에 있었기 때문에 조용히 자격증명을 받는 것이 아니라 Vault 경계에서 거부를 받아야 합니다.

OWASP LLM06(민감한 정보 공개)은 과도하게 프로비저닝된 에이전트 자격증명이 자격증명 누출 인시던트의 기여 요인임을 명시적으로 지적합니다. 에이전트는 작업이 필요로 하는 것보다 더 많은 접근을 받아서, 침해될 때 폭발 반경이 필요 이상으로 커집니다.

MCP 도구 서버 자격증명 스코핑

Model Context Protocol 도구 서버는 종종 자체 자격증명(프록시하는 서비스의 API 키)을 필요로 합니다. 에코시스템에 700개 이상의 MCP 서버(2026년 6월)가 있어, MCP 계층의 자격증명 관리 문제는 더 이상 이론적이지 않습니다. 각 서버는 잠재적인 .env 확산 벡터입니다. OpenLegion에서 MCP 서버 자격증명은 같은 Vault에 저장되고 같은 프록시 패턴을 통해 주입됩니다. MCP 도구 서버는 에이전트로부터 원시 자격증명이 아닌 메쉬 프록시로부터 인증된 요청을 받습니다.

이는 악의적인 MCP 서버가 자격증명 수집 벡터로 사용되는 것을 방지합니다. 침해된 MCP 서버는 원시 키가 아닌 수신 요청의 핸들 참조만 찾습니다. 완전한 Model Context Protocol 보안 강화 모델에 대해서는 전용 가이드를 참조하십시오.

에이전트 은퇴 시 자격증명 취소

에이전트가 작업을 완료하거나 보관될 때, 자격증명을 즉시 취소해야 합니다. 관련 에이전트보다 오래 존속하는 정적 자격증명은 고아 접근을 만듭니다. 더 이상 실행되지 않는 프로세스에 속하는 관련 감사 추적이 없는 유효한 키입니다.

에이전트 은퇴 시 자격증명 취소는 오케스트레이션 계층이 에이전트 라이프사이클 이벤트를 추적하고 Vault 취소를 트리거해야 합니다. OpenLegion의 메쉬는 이를 자동으로 처리합니다. 에이전트가 보관되면 메쉬는 해당 에이전트의 범위와 관련된 모든 자격증명 핸들을 취소합니다. 에이전트 라이프사이클을 프로그래밍 방식으로 관리하는 AI 에이전트 오케스트레이션 시스템의 경우, 자격증명 취소는 운영상의 후수가 아닌 일급 라이프사이클 이벤트여야 합니다.

감사 추적 및 자격증명 접근 로깅

무엇을 기록할 것인가(그리고 무엇을 기록하지 않을 것인가)

각 자격증명 접근 이벤트는 핸들을 해결한 에이전트 ID, 핸들 이름(해결된 값이 아닌), 타임스탬프, 인증된 요청이 대상으로 한 외부 엔드포인트, 결과(성공 또는 인가 실패)를 포함하는 로그 항목을 생성해야 합니다. 기록하지 않을 것: 실제 자격증명 값, 해결된 시크릿 문자열, 또는 평문 자격증명의 임의 파생물. 핸들 이름은 감사 및 법의학적 목적에 충분합니다.

자격증명 사용을 에이전트 행동과 상관 관계 짓기

에이전트 감사 추적은 전통적인 애플리케이션 감사 추적과 다릅니다. 코드 경로는 비결정론적입니다. 전통적인 애플리케이션은 고정된 호출 그래프를 따르지만, 에이전트는 프롬프트, 도구 출력, LLM 추론에 따라 임의의 행동을 취할 수 있습니다. 에이전트 감사 로그는 의심스러운 자격증명 사용 이벤트 주변의 전체 컨텍스트를 재구성하기 위해 자격증명 접근뿐만 아니라 각 도구 호출과 인자를 캡처해야 합니다.

OpenLegion의 오케스트레이터는 도구 호출과 자격증명 해결을 통합된 이벤트 스트림으로 기록합니다. 법의학적 분석은 시퀀스를 재생할 수 있습니다. 작업 수신 -> LLM 호출 -> 도구 선택 -> 자격증명 해결 -> 외부 API 호출 -> 응답 수신. 이것은 규제된 또는 고위험 환경에서 AI 에이전트 배포를 위한 올바른 아키텍처입니다.

규제된 환경의 감사 요구사항

금융 서비스, 의료, 기타 규제된 부문의 경우, 에이전트 자격증명 감사 로그는 특정 요구사항을 충족해야 합니다. 불변성(로그는 생성 후 변경할 수 없음), 변조 방지(로그 무결성이 검증 가능), 보존 기간 준수(필요한 기간 동안 로그 보존), 접근 제어(승인된 직원만 감사 로그를 읽을 수 있음). 이러한 요구사항은 Vault-Proxy 아키텍처에 직접 매핑됩니다. 메쉬 호스트는 자격증명이 해결될 때 감사 로그 항목을 생성하고, 추가 전용 저장소에 기록하며, 변조 방지를 위해 항목에 서명합니다. 에이전트 컨테이너는 감사 로그 저장소에 접근할 수 없습니다. AI 에이전트 플랫폼 결정의 경우, 감사 로그 아키텍처는 시크릿 백엔드 선택과 함께 주요 컴플라이언스 고려사항입니다.

에이전트 플랫폼을 위한 시크릿 백엔드 선택

HashiCorp Vault

HashiCorp Vault(35,763개 별, BSL, v2.0.2는 2026년 6월 5일 출시)는 참조 오픈 소스 시크릿 관리 시스템입니다. 동적 시크릿 생성, TTL 제한 임대, 세밀한 접근 정책, 포괄적인 감사 로깅, 커스텀 시크릿 엔진을 위한 플러그인 아키텍처를 제공합니다. 참고: HashiCorp는 2023년 8월에 OSI 승인 Apache 2.0 라이선스에서 BSL(Business Source License)로 전환했습니다. BSL은 OSI 승인 오픈 소스 라이선스가 아니며 Vault의 경쟁업체에 의한 상업적 사용을 제한합니다.

Vault는 여러 서비스가 공유하는 독립형 시크릿 관리 시스템이 필요할 때 올바른 선택입니다. 운영 오버헤드는 사소하지 않습니다. Vault는 자체 배포, 고가용성 설정, 언실 절차가 필요합니다. Vault가 이미 인프라로 배포된 에이전트 플릿의 경우, Vault의 정책 엔진에 에이전트 자격증명 관리를 통합하는 것은 간단합니다.

Infisical

Infisical(27,296개 별, MIT 라이선스 코어, 오픈 소스 TypeScript)은 시크릿 관리, 교체, 감사 추적을 위한 웹 UI, CLI, SDK를 갖춘 개발자 친화적인 시크릿 플랫폼을 제공합니다. 2023년에 $2.8M 시드 펀딩을 조달하여 Vault의 BSL 라이선스 제한 또는 Vault의 운영 복잡성 없이 시크릿 관리를 원하는 팀을 위한 HashiCorp Vault의 경량 대안으로 자리매김했습니다.

아직 Vault를 실행하지 않는 에이전트 플릿의 경우, Infisical을 시크릿 백엔드로 평가할 가치가 있습니다. SDK 우선 설계는 Python 에이전트 런타임과 깔끔하게 통합되며, 환경별 스코핑은 에이전트별 스코핑 요구사항에 자연스럽게 매핑됩니다.

클라우드 네이티브(AWS/Azure/GCP)

AWS Secrets Manager(월 $0.40/시크릿 + 10,000 API 호출당 $0.05), Azure Key Vault, GCP Secret Manager는 각 클라우드 프로바이더의 IAM 시스템과의 기본 통합을 갖춘 관리형 시크릿 저장소를 제공합니다. 에이전트 플릿이 단일 클라우드 프로바이더 내에서 완전히 실행되는 경우, 클라우드 네이티브 시크릿 관리는 Vault 또는 Infisical을 별도로 실행하는 운영 오버헤드를 피합니다.

제한: 클라우드 네이티브 시크릿 매니저는 접근을 위해 클라우드 IAM 자격증명이 필요합니다. 이것이 부트스트랩 자격증명 문제입니다. 새로운 에이전트 컨테이너는 운영 자격증명을 검색하기 전에 AWS Secrets Manager에 인증하기 위해 어떤 자격증명이 필요합니다. OIDC 워크로드 아이덴티티는 클라우드 네이티브 배포의 이 부트스트랩 문제를 해결합니다.

자주 묻는 질문

AI 에이전트의 자격증명 관리란 무엇입니까?

AI 에이전트의 자격증명 관리는 자율 에이전트가 API 키, 토큰, 시크릿을 획득, 사용, 교체, 해제하는 방법을 규정하는 인프라 관행의 전체입니다. 에이전트는 전통적인 애플리케이션과 다릅니다. 자율적으로 실행되고, 프롬프트 인젝션으로 침해될 수 있으며, 자세한 로그를 생성하고, 멀티 인스턴스 플릿으로 운영됩니다. 이 모두가 표준 환경 변수 패턴이 대처하지 않는 자격증명 노출 벡터를 만듭니다. OWASP LLM Top 10 v1.1(2025)은 민감한 정보 공개(LLM06)를 상위 10개 위협으로 나열하며, 자격증명 유출을 주요 공격 벡터로 합니다.

AI 에이전트 자격증명 누출과 관련된 CVE는 무엇입니까?

CVE-2024-34359(llama-cpp-python, CVSS 9.6)는 모델 로드 파이프라인의 Jinja2 서버 측 템플릿 인젝션 취약점을 문서화했습니다. 작성된 .gguf 파일의 채팅 템플릿이 샌드박싱 없이 렌더링되어 신뢰할 수 없는 모델을 로드하는 모든 애플리케이션에서 원격 코드 실행이 가능해졌습니다. CVE-2025-29927(Next.js, CVSS 9.1)은 x-middleware-subrequest 헤더가 자격증명으로 보호된 라우트를 보호하기 위해 미들웨어를 사용하는 AI 에이전트 백엔드를 포함한 Next.js 애플리케이션에서 미들웨어 인가를 우회할 수 있음을 입증했습니다. 두 CVE 모두 악의적인 입력 하에 실패하는 애플리케이션 계층 보안 제어로 소급됩니다. 구조적 해결책은 시크릿을 에이전트 컨테이너에서 완전히 멀리 유지하는 것입니다.

Vault-Proxy 패턴은 어떻게 자격증명 누출을 방지합니까?

Vault Proxy는 에이전트 API 호출을 가로채고, 불투명한 자격증명 핸들을 네트워크 계층에서 실제 시크릿으로 해결하며, 자격증명이 에이전트의 컨테이너나 컨텍스트 창에 들어오지 않고 인증된 응답을 반환합니다. 에이전트는 시크릿을 해결하지 않고 식별하는 $CRED{stripe_key}와 같은 핸들을 보유합니다. 공격자의 임의 지침을 실행하는 완전히 침해된 에이전트 컨테이너도 컨테이너의 범위 내에 자격증명이 존재하지 않기 때문에 원시 자격증명에 대한 접근이 제로입니다.

멀티 에이전트 시스템에서 에이전트별 자격증명 격리가 중요한 이유는 무엇입니까?

멀티 에이전트 시스템에서 각 에이전트가 침해될 경우 폭발 반경은 그것이 보유한 자격증명에 의해 제한됩니다. 각 에이전트가 모든 시크릿을 가진 단일 .env 파일을 공유하는 경우, 어떤 에이전트를 침해하든 모든 하위 시스템에 대한 모든 자격증명이 노출됩니다. 에이전트별 자격증명 스코핑(에이전트 자체 코드가 아닌 오케스트레이션 계층에서 강제)은 침해된 연구 에이전트가 퍼블리싱 에이전트의 쓰기 토큰이나 데이터 에이전트의 데이터베이스 자격증명에 접근할 수 없음을 의미합니다. OWASP LLM06은 과도하게 프로비저닝된 에이전트 자격증명이 자격증명 누출 인시던트의 기여 요인임을 명시적으로 식별합니다.

OWASP는 AI 에이전트의 자격증명 관리에 대해 무엇이라고 합니까?

OWASP Top 10 for LLM Applications v1.1(2025년 10월 발행)은 민감한 정보 공개를 LLM06으로 나열하고, 자격증명 유출을 LLM 애플리케이션의 주요 공격 벡터로 식별합니다. 가이던스는 에이전트 컨텍스트에서 평문 자격증명 저장을 피하고, 최소 권한 자격증명 스코핑을 구현하며, 시크릿을 보호하기 위해 에이전트 코드에 의존하는 것이 아닌 인프라 계층 제어를 사용할 것을 권장합니다. 프롬프트 인젝션(OWASP LLM01, 최상위 위험)은 배포된 에이전트에서 자격증명 공개를 트리거하는 가장 일반적인 공격 벡터입니다.

OpenLegion은 MCP 서버를 실행하는 에이전트의 자격증명을 어떻게 처리합니까?

OpenLegion에서 MCP 도구 서버 자격증명은 같은 Vault에 저장되고 에이전트 자격증명과 같은 프록시 패턴을 통해 주입됩니다. MCP 서버는 에이전트로부터 원시 자격증명이 아닌 메쉬 프록시로부터 인증된 요청을 받습니다. 에이전트는 MCP 서버의 업스트림 API 키를 보유하지 않습니다. 에코시스템에 700개 이상의 MCP 서버(2026년 6월)가 있어, 이는 서버별 .env 확산을 제거합니다. 하나의 Vault 구성이 모든 MCP 자격증명 요구사항을 충족하며, 침해된 MCP 서버는 수신 요청에서 원시 자격증명을 수집할 수 없습니다.

시크릿 교체란 무엇이며 AI 에이전트에게 필요한 이유는 무엇입니까?

시크릿 교체는 예정된 또는 트리거 기반으로 자격증명을 새로운 것으로 대체하고 이전 것을 무효화하는 관행입니다. AI 에이전트는 교체가 필요합니다. 왜냐하면 장기간(시간에서 일) 실행되고, 그 창 전체에서 잠재적인 유출 대상이며, 교체된 자격증명을 채택하기 위해 작업 중간에 쉽게 재시작할 수 없기 때문입니다. TTL 제한 자격증명 임대는 설정 가능한 창(일반적으로 1시간) 후에 자동으로 만료되며, Vault-Proxy 패턴은 핫 교체를 지원합니다. 실행 중인 에이전트 컨테이너를 건드리지 않고 새로운 시크릿을 주입하므로 교체는 에이전트에게 투명합니다.

자격증명 노출 없이 에이전트 플릿 구축

AI 에이전트 플릿의 자격증명 관리 문제는 아키텍처적입니다. 자격증명이 에이전트 컨테이너 내에 존재하면 유출될 수 있습니다. CVE-2024-34359와 CVE-2025-29927은 주요 프레임워크를 실행하는 충분한 리소스를 갖춘 팀조차 이 노출을 제공함을 보여줍니다. Vault-Proxy 패턴은 이를 구조적으로 해결합니다. 자격증명이 에이전트 컨테이너에 들어오지 않으므로 프롬프트 인젝션, 컨테이너 이탈, 또는 로그 유출이 이를 복구할 수 없습니다.

OpenLegion의 Vault-Proxy는 에이전트 메쉬에 내장되어 있습니다. $CRED{name}으로 자격증명을 한 번 구성하고, 이를 필요로 하는 에이전트에 할당하면, 메쉬가 인젝션, TTL 갱신, 에이전트별 스코핑, 감사 로깅을 처리합니다. 별도의 Vault 배포, .env 파일 조정, 수동 교체 절차가 없습니다.

OpenLegion의 Vault-Proxy 자격증명 격리로 에이전트 플릿을 보호하십시오