TL;DR

  • Connector는 실제 시스템에 영향을 주는 AI 에이전트의 모든 행동을 에이전트와 행동별 권한, 실행 시점 통제로 관리하는 오픈소스 제어 플레인임.
  • 제안된 효과마다 PATE가 진행, 승인 요청, 보류, 격리, 차단 중 하나를 결정하며, 허가가 있더라도 런타임 정책과 격리를 우회하지 못함.
  • 운영자는 모델의 동의 없이 에이전트를 일시 중지하거나 중단할 수 있으며, Cease는 현재 생성을 차단하고 이후 행동의 허가를 중단함.
  • 승인 결정, 실행, 관찰된 결과를 영수증으로 연결해 증거 추적을 제공하며, ID·실행 강제·증거 시스템을 하나의 작업 공간에서 관리함.
  • 현재 백엔드 통합은 부분적이며, Firecracker 마이크로VM 구성과 agentgateway 종단 간 전달은 입증되지 않았고, 프로덕션 준비성·보안·정확성·안전성·규정 준수를 주장하지 않음.

Connector 소개

  • Connector는 실제 행동을 수행하는 AI 에이전트를 위한 오픈소스 제어 플레인임.
  • 모든 에이전트에 ID와 명시적 권한을 부여하고, 행동별 허가, 런타임 강제, 운영자 중단 제어, 증거 추적을 제공함.
  • 기존 에이전트를 연결하거나 Connector 안에서 에이전트를 구성할 수 있으며, 요청 전송, 데이터 변경, 도구 호출, 비용 지출, 다른 에이전트 접촉 같은 각 행동의 허용 여부를 판단함.
  • 웹사이트, 빠른 시작, 아키텍처, 보안 안내가 제공됨.

Connector가 필요한 이유

  • 에이전트 프레임워크는 추론과 도구 사용을 지원하고, API 게이트웨이는 트래픽을 라우팅하며, 정책 엔진은 규칙을 평가하고, 관측 시스템은 이벤트를 기록함.
  • 하지만 이들 중 어느 하나만으로는 특정 상황에서 특정 에이전트가 지금 해당 행동을 수행해도 되는지, 운영자가 다음 행동을 중단할 수 있는지를 모두 답하지 못함.
  • Connector는 해당 판단을 ID, 권한 부여, 런타임 강제, 결과 영수증과 연결함.
  • Connector가 없을 때와 있을 때의 차이:
  • 도구 자격 증명은 흔히 전체 프로세스에 권한을 부여하지만, Connector는 에이전트와 행동 범위에 권한을 한정함.
  • 지시와 권한이 프롬프트에 섞일 수 있지만, Connector에서는 지식, 지시문, 메모리, 권한이 분리됨.
  • 승인이 실행 기록 밖에서 이뤄질 수 있지만, Ask 상태는 운영자가 결정할 때까지 열린 상태로 유지됨.
  • 로그는 사후 활동을 설명하지만, Connector는 허가 판단과 관찰된 결과를 같은 증거 추적에 담음.
  • 중단이 모델의 협조에 의존할 수 있지만, Cease는 생성에 펜스를 치고 이후 허가를 중단함.
  • 백엔드마다 별도의 운영 절차가 필요할 수 있지만, Connector는 단일 작업 공간에서 백엔드를 관리함.

대상 사용자

  • 실제 시스템에 영향을 줄 수 있는 에이전트를 운영하는 팀을 대상으로 함.
  • 사내 또는 고객 대상 에이전트를 운영하는 플랫폼 팀.
  • 도구 사용, MCP, A2A, 브라우저 또는 API 접근을 추가하는 AI 제품 팀.
  • 명시적 권한과 증거가 필요한 보안 및 거버넌스 팀.
  • 모델을 기다리지 않고 에이전트를 일시 중지하거나 중단해야 하는 운영자.
  • 폐기 가능한 샌드박스에서 텍스트만 생성하는 에이전트라면 Connector가 필요 이상의 인프라일 수 있음.

빠른 시작

  • https://github.com/GlobalSushrut/connector-oss.git 저장소를 복제하고 ./up.sh를 실행하는 방식임.
  • http://127.0.0.1:9091/을 열어 이 컴퓨터에서 열기를 선택하며, 로컬 개발 토큰은 컴퓨터 안에 보관됨.
  • 실행 후 절차:
  • Run → Demo에서 관리되는 행동 경로 확인.
  • Bring your agent에서 기존 에이전트 연결.
  • Approve에서 사람의 결정을 기다리는 행동 처리.
  • Fix에서 TraceTramp 런타임 보류 처리.
  • Watch에서 판단과 영수증 확인.
  • 요구 사항은 Linux, Docker, Rust, Node.js, Trunk, WASM 대상임. WASM 대상 설치 명령은 rustup target add wasm32-unknown-unknown임.
  • 운영자 UI가 없는 소형 라이브러리 서버 안내는 docs/quickstart.md에 있음.

제공 기능

  • 관리 작업 공간: 주체, 목적, 현존 상태, 지식, 지시문, 권한, 상황을 서로 구분함.
  • 행동별 허가: PATE가 제안된 효과에 대해 Proceed, Ask, Defer, Quarantine, Block 중 하나를 반환함.
  • 런타임 강제: PATE 허가가 후속 정책이나 격리를 우회하지 못함.
  • 운영자 제어: 일시 중지, 중단, Cease는 모델의 동의에 의존하지 않음.
  • 출처가 있는 메모리: 메모리는 추적 기록 및 지시문과 분리된 MemPacket으로 저장됨.
  • 증거: 영수증이 허가 판단, 실행, 관찰된 결과를 연결함.
  • 에이전트 간 제어: 서로 다른 주소에 서로 다른 권한과 상황 범위를 부여할 수 있으며, 전체 에이전트 군집에 권한을 부여하지 않음.
  • 단일 운영 화면: Connector가 지원하는 ID, 실행 강제, 증거 시스템을 관리함.

아키텍처

  • 행동 경로는 에이전트 → 제안된 효과 → PATE 허가 → 런타임 강제 → 외부 효과 → 영수증 및 관찰된 결과로 이어짐.
  • 작업 공간의 일곱 차원은 에이전트의 거버넌스 방식을 설명하며, 외부 백엔드 일곱 개를 뜻하지 않음.
  • PATE는 허가 권한을 담당하며, 허가를 받아도 런타임에서 거부될 수 있음.
  • Cease는 현재 생성에 펜스를 치고 해당 생성의 문맥을 무효화하며 이후 허가를 중단함.

관리 인프라

  • ./up.sh는 버전이 고정된 구성 요소를 다운로드하고 로컬 기본 설정으로 실행하며, 해당 구성 요소의 운영을 Connector 뒤에서 관리함.
  • 역할별 구성 요소:
  • ID: Keycloak, SPIFFE/SPIRE.
  • 실행 강제: NVIDIA OpenShell, OPA/Rego, Firecracker.
  • 증거: OpenTelemetry, Sigstore cosign.
  • 트래픽 플레인 대상: LLM, MCP, A2A, HTTP, gRPC용 agentgateway.
  • Connector는 MCP, A2A, OpenAI 호환 에이전트 인터페이스도 지원함.
  • 주소를 붙여 넣는 것만으로 권한이 생성되지는 않음.

현재 상태

  • 작업 공간, PATE 허가, 영수증, Cease, TraceTramp, WitnessCtl, 7개 백엔드 부팅 경로가 포함됨.
  • 중요한 제한 사항:
  • Firecracker 부팅은 현재 바이너리와 jailer를 다운로드하지만 마이크로VM 커널이나 루트 파일 시스템은 생성하지 않음.
  • agentgateway 이미지는 시작되지만 종단 간 전달은 입증되지 않았으며 계속 거부 상태임.
  • 백엔드를 다운로드하거나 시작했다고 해서 허가된 모든 효과가 해당 백엔드를 통과했다는 뜻은 아님.
  • 백엔드 통합은 아직 부분적임.
  • 이 저장소는 프로덕션 준비성, 보안, 정확성, 안전성 또는 규정 준수를 주장하지 않음.

기여

  • 풀 리퀘스트를 열기 전에 CONTRIBUTING.md를 읽어야 함.

보안

  • 악용 가능한 취약점은 SECURITY.md를 통해 비공개로 신고해야 함.

라이선스

  • oss/ 아래 라이브러리는 Apache License 2.0을 따름.
  • platform/ 아래 노드는 Business Source License 1.1을 따름.