Valmis: 보안 중심의 AI 에이전트 플랫폼 분석

Valmis는 '작업용' AI 에이전트를 클라우드 환경에서 운영하기 위해 설계된 오픈소스 프로젝트입니다. 제출된 저장소(README 및 관련 파일들)를 통해 확인되는 핵심 포인트는 다음과 같습니다: 에이전트는 독립적 컨테이너에서 실행되며, 자격증명과 외부 요청은 호스트 쪽 프록시를 통해 전달되어 LLM과 에이전트 런타임이 민감한 키에 직접 접근하지 못하도록 설계되어 있습니다. 또한 멀티스텝 워크플로우, 100개 이상의 비즈니스 통합, 브라우저 자동화, pgvector 기반 메모리/임베딩 활용 등을 지원합니다.
이 글은 저장소의 README, 스크린샷 및 주요 문단을 근거로 핵심 설계와 운영상 고려사항을 정리합니다. 원본 증거에 포함된 정보에 기반하여 해석·요약했으며, 저장소의 전체 코드/운영 세부사항(예: 보안 감사 결과, 운영 모니터링 구성 등)은 제공된 증거에서 완전하게 확인되지 않으므로 그 부분은 명시적으로 불확실함을 표기합니다.

위 스크린샷(저장소 헤더)은 프로젝트의 목적과 핵심 문구를 보여주며, 소개 수준에서 "보안 중심 설계"와 "컨테이너 기반 에이전트"를 명확히 알립니다. 이 화면은 읽는 이로 하여금 플랫폼 철학(작업용·보안 우선)을 판단하는 근거가 됩니다.
아래에서는 아키텍처 중심으로 기술적 분석을 제시합니다.
아키텍처 하이라이트
- 에이전트 런타임: 각 에이전트는 별도의 파일 시스템과 컨테이너 형태로 격리되어 실행됩니다. 이는 런타임 간 자원과 파일 접근을 분리하려는 설계입니다.
- 프록시 기반 접근: 에이전트는 자격증명 자체에 접근하지 못하고, 자격증명 ID를 사용한 프록시 호출을 통해 호스트가 실제 API 요청을 수행합니다. LLM 호출도 프록시를 거치도록 되어 있습니다.
- 통합 생태계: 100개 이상의 통합(예: Google Workspace, Slack, Notion, HubSpot 등)을 YAML 기반 정의로 관리하여 확장성을 확보합니다.
- 워크플로우와 자동화: 멀티스텝 워크플로우를 크론, 웹훅, 앱 이벤트로 트리거할 수 있으며, 조건·루프·스키마 정의를 통해 데이터 흐름을 제어합니다.
- 메모리와 임베딩: 에이전트 메모리는 에피소드·의미·절차·작업 메모리로 분류되며, pgvector와 텍스트 임베딩을 사용해 시맨틱 검색을 수행합니다.
쉬운정의: 에이전트가 민감한 자격증명(예: API 키)에 직접 접근하지 못하게 하고, 대신 호스트가 자격증명을 사용해 요청을 대신 수행해 주는 중계자 역할입니다. 일상 예시: 회사 비밀번호를 직접 알려주지 않고, 비서에게 "이메일 보내줘"라고 요청하면 비서가 대신 로그인해서 메일을 보내는 상황과 유사합니다.
보안 설계의 기술적 의미
프록시 설계의 장점은 LLM이나 에이전트 프로세스가 절대 원시 자격증명(plain API 키 등)에 접근하지 못한다는 점입니다. README에 따르면 자격증명은 AES-256-GCM으로 암호화되어 DB에 보관되며, 에이전트는 호스트에 자격증명 ID를 전달하여 요청을 위임합니다. 이 패턴은 내부 데이터 유출 위험을 낮추지만, 프록시 자체와 호스트 권한영역은 강력히 보호되어야 합니다.
쉬운정의: 각 에이전트가 다른 에이전트나 호스트 시스템과 파일/프로세스/네트워크를 분리된 상태에서 실행되는 방식입니다. 일상 예시: 같은 건물에 여러 사무실이 있지만 각 사무실은 잠금문으로 분리되어 있어 다른 사무실의 서류를 바로 열람할 수 없는 상태와 비슷합니다.
컨테이너 격리로 보호되는 범위는 무엇인가
- 파일 시스템 분리: 각 에이전트가 자체 파일시스템을 가짐(README 명시). 이로써 호스트 파일 접근이나 다른 에이전트 파일 접근을 제한할 수 있습니다.
- 네트워크 제어: 문서에는 "이론적으로 에이전트의 인터넷 접근을 끌 수 있다"고 적혀 있어 네트워크 정책(egress 제어)을 통해 외부 연결을 차단한 채 프록시만 통해 통신하도록 구성할 수 있음을 시사합니다.
메모리·임베딩과 검색
Valmis는 pgvector를 사용해 메모리를 임베딩으로 저장하고 시맨틱 검색을 수행한다고 README에 명시되어 있습니다. 메모리 유형(episodic, semantic, procedural, working)은 설계 관점에서 대화 지속성과 상태 관리를 위한 분류입니다.
쉬운정의: PostgreSQL 확장으로, 벡터(숫자 배열)를 데이터베이스에 저장하고 빠르게 유사도 검색을 할 수 있게 해 줍니다. 일상 예시: 음악 앱에서 '이 노래와 비슷한 곡'을 찾을 때 곡의 특징을 숫자 벡터로 표현해 유사한 항목을 검색하는 방식과 비슷합니다.
쉬운정의: 텍스트나 문서를 고정 길이의 숫자 벡터로 변환하여 의미(의미적 유사성)를 수치적으로 표현한 것. 일상 예시: 여러 감정이 담긴 문장을 좌표로 바꿔서 감정이 비슷한 문장끼리 가까운 위치에 놓는 것과 비슷합니다.
워크플로우 및 자동화

위 워크플로우 스크린샷은 멀티스텝 자동화 캔버스의 컨셉을 보여줍니다. 워크플로우는 조건·루프·스키마 정의가 가능하며, 각 단계에서 사용할 수 있는 자격증명과 도구를 제한할 수 있어 최소 권한 원칙을 적용할 수 있습니다.
운영 측면에서 유의할 점:
- 권한 경계: 각 워크플로우 단계별로 사용 가능한 자격증명을 분리하면 권한 격리를 더 강화할 수 있습니다.
- 입력/출력 스키마: 각 단계의 출력 스키마를 정의하면 데이터 매핑과 후속 단계의 안전성을 높입니다.
- 휴먼 인 더 루프(HITL): README는 중요한 결정 시 에이전트가 인간에게 확인을 요청하는 메커니즘을 제공한다고 명시합니다. 이는 자동화의 안전망으로서 중요합니다.
헤드리스 브라우저 및 브라우징 세션 관리

브라우저 자동화 스크린샷은 에이전트가 호스트 관리하의 브라우저 세션을 통해 페이지 탐색·폼 작성·스크린샷을 수행할 수 있음을 보여줍니다. 핵심은 브라우저도 호스트에서 관리되고 에이전트는 프록시 인터페이스로만 제어한다는 점입니다.
쉬운정의: 그래픽 사용자 인터페이스 없이 웹 페이지를 자동으로 불러오고 조작할 수 있는 브라우저 모드입니다. 일상 예시: 사람이 웹페이지를 브라우저에서 수동으로 클릭·입력하지 않고, 백그라운드에서 스크립트가 대신 작업을 수행하는 것과 같습니다.
헤드리스 브라우저 사용 시 보안/운영 고려사항
- 세션 및 쿠키 관리: 에이전트별 세션과 쿠키를 분리 관리해야 교차 유출을 방지할 수 있습니다.
- 스크린샷/로그의 민감도: 자동화 결과로 생성되는 스크린샷이나 로그는 민감 정보를 포함할 수 있으므로 접근 제어가 필요합니다.
- 리소스 격리: 브라우저 인스턴스가 과도한 리소스를 사용할 경우 호스트 자원 관리가 필요합니다.
지원하는 LLM·임베딩 제공자
README에 따르면 거의 200개 모델(약 20개 제공자)을 지원한다고 명시되어 있으며, OpenAI·Anthropic·Google·Mistral·Cohere 등 주요 공급자를 사용 가능하다고 적혀 있습니다. 이는 에이전트별로 저비용 모델/고성능 모델을 혼합 배치할 수 있는 유연성을 줍니다.
운영·배포: Docker Compose와 초기 설정
저장소의 "Getting started" 섹션은 Docker Compose 기반 단일 파일로 전체 스택(프론트엔드, 백엔드, pgvector-enabled PostgreSQL, Docker 소켓 프록시)을 띄우는 방식을 권장합니다. 예시 .env 파일과 최소 비밀값(CREDENTIAL_ENCRYPTION_KEY, JWT_SECRET, PROXY_TOKEN_SECRET) 생성 방법이 제공됩니다. 이는 빠른 로컬/프라이빗 데모 환경 구성에 적합합니다.
제한사항 및 남은 불확실성
- 보안 감사 여부: README는 설계상 보안을 강조하지만, 외부 보안 감사나 취약점 스캔 결과에 대한 언급은 제공된 증거에서 확인되지 않습니다.
- 운영 규모와 멀티테넌시: 문서에는 컨테이너 격리와 권한 경계가 명시되어 있으나, 대규모 다중 테넌트 운영(수백/수천 에이전트)에서의 리소스 제어·비용 관리·오케스트레이션 전략은 구체적으로 다루어지지 않았습니다.
- 프록시 신뢰 경계: 프록시는 자격증명을 보호하나, 프록시와 호스트 권한은 새로운 신뢰 중심(trust anchor)을 만듭니다. 이 구성에서 호스트/프록시의 공격면(권한 상승, 로그 노출 등)에 대한 완전한 정보는 제공 자료에 없습니다.
결론과 실무 권고
Valmis는 '작업용' AI 에이전트를 안전하게 운영하려는 명확한 설계 방향을 가지고 있습니다. 프록시 기반 자격증명 보호, 컨테이너 격리, 단계별 권한 제한, HITL과 같은 기능들은 실제 업무 자동화 적용 시 필요한 기본 축을 충족합니다. 실무 도입을 고려할 때 권장되는 추가 검토 항목은 다음과 같습니다:
- 프록시·호스트에 대한 보안 감사 및 침투 테스트 수행
- 자격증명 암호화 키 관리(KMS)와 키 회전 정책 정립
- 에이전트별 리소스 제한과 모니터링(호스트 수준의 메트릭, 비용 추적)
- 멀티테넌시 요건이 있다면 네트워크·스토리지 분리 및 정책 검토
참고: 본 글은 valmishq/valmis 저장소의 README와 포함된 스크린샷 및 공개 설명을 근거로 작성했습니다. 저장소의 모든 코드·운영 세부사항을 포괄하지는 않으며, 저장소 내부 설정·실제 배포 구성은 원본 코드를 직접 검토해 확인해야 합니다.
Sources
- valmishq/valmis (GitHub repository) — license:
unknown, retrieved:2026-07-06. - Image: AI-generated cover image via OpenRouter — license:
ai-generated-original.
