Agent Sandboxing
에이전트 샌드박싱이 AI 에이전트를 격리하고, 파일 및 네트워크 액세스를 제한하며, 프롬프트 인젝션, 도구 오용, 데이터 유출 위험을 줄이는 방법을 알아보세요.
에이전트 샌드박싱은 AI 에이전트, 도구 또는 생성된 코드를 제한된 실행 환경 내에서 실행하는 관행입니다. 샌드박스는 에이전트가 액세스할 수 있는 파일, 네트워크, 자격 증명, 프로세스 및 컴퓨팅 리소스를 제한합니다. 에이전트가 안전하지 않은 결정을 내리거나 악의적인 지시를 처리하는 경우, 이러한 경계는 프로덕션 시스템 및 민감한 데이터에 미치는 잠재적 영향을 줄여줍니다.
에이전트 샌드박싱의 작동 방식#
에이전트는 모델을 도구, 메모리, API 및 실행 루프에 연결하는 에이전트 하네스를 통해 작동하는 경우가 많습니다. 샌드박싱은 이러한 기능 주위에 강제 적용 계층을 추가합니다. 모델이 “개인 파일에 액세스하지 마세요”와 같은 프롬프트를 따르도록 신뢰하는 대신, 운영 환경이 기술적으로 해당 액세스를 방지합니다.
실용적인 샌드박스는 다음을 결합할 수 있습니다:
- 작업 후 파기되는 일회용 컨테이너 또는 가상 머신.
- 작은 쓰기 가능 워크스페이스가 있는 읽기 전용 기본 파일 시스템.
- 승인된 도메인 또는 내부 서비스만 허용하는 네트워크 송신 규칙.
- 현재 사용자 및 작업에 범위가 지정된 단명 자격 증명.
- CPU, 메모리, 스토리지, 프로세스 및 실행 시간 제한.
- 도구 호출, 파일 변경, 네트워크 요청 및 정책 위반을 다루는 감사 로그.
Docker 기본 seccomp 프로필과 같은 Linux 제어는 시스템 호출을 제한할 수 있으며, Docker 리소스 제약 조건은 리소스 소비를 제한합니다. 클러스터 규모에서는 Kubernetes NetworkPolicies를 통해 에이전트 워크로드가 통신하는 서비스를 제어할 수 있습니다.
에이전트 샌드박싱이 중요한 이유#
에이전트는 함수 호출 및 도구 사용을 통해 작업을 수행할 수 있으므로, 그 실패는 잘못된 챗봇 응답보다 더 큰 영향을 미칩니다. 코딩 에이전트는 셸 명령을 실행할 수 있는 반면, 운영 에이전트는 레코드를 업데이트하거나 배포를 트리거할 수 있습니다.
OWASP AI 에이전트 보안 지침에서는 도구 남용, 권한 상승, 메모리 오염, 데이터 유출 등의 위험을 식별합니다. 샌드박싱은 특히 에이전트가 웹페이지, 문서, 이미지 메타데이터 또는 도구 응답에 숨겨진 프롬프트 주입에 직면할 때 이러한 위험을 격리하는 데 도움이 됩니다. OWASP 프롬프트 주입 방지 지침은 입력 필터링만으로는 모든 적대적 지시를 안정적으로 식별할 수 없으므로 계층화된 방어를 권장합니다.
샌드박싱은 또한 과도한 에이전시 문제를 해결합니다. 불필요한 도구, 광범위한 자격 증명, 제한 없는 자율성을 가진 에이전트는 모델 오류나 조작된 입력 후에 손상을 주는 작업을 수행할 수 있습니다. 과도한 에이전시에 관한 OWASP 지침은 모델 동작에만 의존하는 대신 도구 기능, 권한 및 자율성을 최소화할 것을 권장합니다.
샌드박싱 대 관련 제어#
에이전트 샌드박싱은 다른 보안 메커니즘을 보완하지만 대체하지는 않습니다:
- AI 가드레일: 가드레일은 입력, 출력 또는 제안된 액션을 검사합니다. 샌드박스는 가드레일이 위협을 놓친 경우에도 환경적 제한을 강제합니다.
- 액세스 제어: 권한 부여는 작업이 허용되는지 여부를 결정합니다. 샌드박싱은 권한 부여 로직이 우회될 때 사용할 수 있는 리소스를 제한합니다. AWS 자격 및 액세스 관리 모범 사례에서는 임시 자격 증명과 최소 권한 원칙을 강조합니다.
- 컨테이너화: 컨테이너는 프로세스를 패키징하고 격리하지만, 기본 컨테이너 설정이 반드시 강력한 보안 경계인 것은 아닙니다. Ultralytics Docker 빠른 시작은 일관되고 격리된 컴퓨터 비전 환경을 지원하며, 프로덕션 샌드박스에는 추가적인 파일 시스템, 기능, 네트워크 및 리소스 제한이 필요합니다.
- 테스트 환경: 개발 "샌드박스"는 시스템의 프로덕션 외 복사본입니다. 에이전트 샌드박싱은 특히 실행을 제한하며 개발 및 프로덕션에 적용될 수 있습니다.
Ultralytics 에이전트 스킬은 코딩 에이전트를 위한 재사용 가능한 지침을 제공하지만, 스킬이 격리 경계를 생성하지는 않습니다. 스크립트와 종속성은 여전히 검토되어야 하며 적절한 권한으로 실행되어야 합니다.
실제 애플리케이션 사례#
엔터프라이즈 코딩 에이전트: 코딩 에이전트는 임시 워크스페이스 내에서 저장소를 검사하고, 파일을 수정하고, 테스트를 실행할 수 있습니다. 샌드박스는 할당된 저장소만 마운트하고, 프로덕션 자격 증명을 차단하며, 승인된 패키지 레지스트리로 아웃바운드 트래픽을 제한하고, 병합 또는 배포 전에 사람의 승인을 요구합니다. 따라서 손상된 종속성이나 주입된 지시는 내부 스토리지를 자유롭게 스캔하거나 소스 코드를 전송할 수 없습니다.
비전 지원 운영 에이전트: 창고 에이전트는 Ultralytics YOLO26을 사용하여 카메라 이미지를 분석하고, 차단된 통로를 식별하며, 유지보수 티켓을 열 수 있습니다. 해당 샌드박스는 수신 이미지에 대한 읽기 전용 액세스 권한과 추론 및 티켓팅 API에 대한 네트워크 액세스만 제공할 수 있습니다. 제한 없는 카메라 관리, 직원 레코드 또는 배포 자격 증명을 받아서는 안 됩니다.
인식 단계에서는 문서화된 Ultralytics YOLO predict 워크플로를 사용할 수 있습니다:
from pathlib import Path
from ultralytics import YOLO
source = "https://ultralytics.com/images/bus.jpg"
output_path = Path("sandbox_result.jpg")
# Run visual inference inside the restricted workspace
model = YOLO("yolo26n.pt")
results = model(source)
result = results[0]
result.save(filename=str(output_path))Python 코드는 일반적인 추론을 수행하며, 주변 런타임은 파일, 네트워킹, 자격 증명 및 리소스를 제한하여 샌드박스를 제공합니다.
실용적인 설계 지침#
액세스 권한 없이 시작하고 각 작업에 필요한 항목만 명시적으로 허용하십시오. 임시 워크스페이스, 단명 자격 증명, 읽기 전용 마운트, 아웃바운드 네트워크 허용 목록, 시간 초과 및 리소스 할당량을 사용하십시오. 돌이킬 수 없는 작업에 대해 승인을 요구하고 권한 부여 확인을 모델 외부에 유지하십시오.
로그에 비밀을 노출하지 않고 차단된 작업을 포함하여 시도된 모든 작업을 기록하십시오. 팀은 Ultralytics 플랫폼 배포 모니터링을 사용하여 에이전트 워크플로 내에서 비전 엔드포인트 요청, 지연 시간, 오류 및 상태를 관찰할 수 있습니다. 마지막으로 악성 파일, 간접 프롬프트, 반복된 도구 호출 및 리소스 고갈 시도에 대해 전체 시스템을 테스트하십시오. NIST AI 위험 관리 프레임워크 플레이북은 이러한 위험을 거버넌스, 측정 및 지속적으로 관리하기 위한 더 넓은 구조를 제공합니다.






