Arrakis: AI 인텔리전스를 위한 안전한 샌드박스 환경을 제공하는 오픈 소스 도구

최신 AI 리소스5개월 전에 게시 됨 AI 공유 서클
11.3K 00

일반 소개

아라키스는 AI 인텔리전스를 위해 설계된 샌드박스 환경으로, 안전하고 사용자 지정 가능한 환경을 제공합니다. 아비셰크 바르드와즈가 개발하고 AGPL v3 라이선스에 따라 GitHub에서 호스팅되는 Arrakis는 AI 코드를 격리하고 MicroVM 기술을 통해 호스트를 보호합니다. 각 샌드박스에는 우분투가 내장되어 있으며, 자체 코드 실행 서비스 및 VNC 서버로 시작하고 그래픽 인터페이스를 지원합니다. 이 도구는 개발자가 샌드박스를 쉽게 관리할 수 있도록 Python SDK와 REST API를 제공합니다. 또한 스냅샷과 백트래킹을 지원하여 AI 오류 발생 시 이전 상태로 되돌릴 수 있어 코드를 안전하게 실행하거나 다단계 프로세스를 테스트해야 하는 개발자에게 이상적입니다.

Arrakis:为AI智能体提供安全沙盒环境的开源工具Arrakis:为AI智能体提供安全沙盒环境的开源工具

 

기능 목록

  • 안전한 격리MicroVM 기술을 사용하여 AI 코드를 격리하고 호스트 및 기타 작업을 보호하세요.
  • 스냅샷 및 역추적샌드박스 상태 저장 및 복원을 지원하여 다단계 작업의 AI 테스트를 용이하게 합니다.
  • Python SDK: 제공 py-arrakis프로그래밍 가능한 제어 샌드박스입니다.
  • REST API통해 arrakis-restserver 샌드박스를 관리하기 위한 인터페이스를 제공합니다.
  • 그래픽 사용자 인터페이스(GUI)(컴퓨팅)각 샌드박스에는 VNC 서버와 GUI를 지원하는 Chrome이 내장되어 있습니다.
  • 네트워크 구성포트 포워딩 및 SSH 액세스를 지원하는 자동 네트워크 설정.
  • 맞춤형 환경통해 Dockerfile 샌드박스 소프트웨어 및 구성을 조정합니다.
  • MCP 호환: 지원 MCP 클라이언트(예 Claude 데스크톱)을 통해 쉽게 통합할 수 있습니다.

 

도움말 사용

아라키스를 설치하고 사용하려면 몇 가지 단계를 거쳐야 합니다. 다음은 빠르게 시작하는 데 도움이 되는 자세한 지침입니다.

설치 프로세스

  1. 시스템 요구 사항 확인
    아라키스는 리눅스 시스템에서만 지원되는데, 그 이유는 /dev/kvm 가상화. 다음 명령으로 가상화 지원 여부를 확인할 수 있습니다:
stat /dev/kvm

오류가 반환되면 호스트가 지원되지 않으므로 가상화를 사용하도록 설정해야 합니다.

  1. 다운로드 및 설치
    Linux에서 다음 명령을 실행하여 미리 빌드된 파일을 다운로드합니다:
curl -sSL https://raw.githubusercontent.com/abshkbh/arrakis/main/setup/setup.sh | bash

다운로드하면 다음이 생성됩니다. arrakis-prebuilt 폴더에 바이너리와 이미지가 들어 있습니다.

  1. REST 서버 시작
    폴더로 이동하여 서비스를 시작합니다:
cd arrakis-prebuilt
sudo ./arrakis-restserver

이 서비스는 기본적으로 127.0.0.1:7000. Needs sudo 가상 머신 관리와 관련해서도 마찬가지입니다.

  1. Python SDK 설치하기(선택 사항)
    Python으로 샌드박스를 제어하려면 SDK를 설치하세요:
pip install py-arrakis

주요 기능

샌드박스 만들기

  • CLI 사용
    샌드박스를 만듭니다:
./arrakis-client start -n my-sandbox

샌드박스에 대한 IP 및 상태 정보를 반환합니다.

  • Python 사용
    SDK로 생성되었습니다:
from arrakis_client import SandboxManager
manager = SandboxManager('http://127.0.0.1:7000')
sandbox = manager.start_sandbox('my-sandbox')
print(sandbox.info())

실행 중인 코드

  • CLI 방법
    샌드박스에서 명령을 실행합니다:

    ./arrakis-client run -n my-sandbox --cmd "echo Hello World"
    
  • 파이썬 방식
    SDK로 실행하세요:

    sandbox.run_cmd('echo Hello World')
    

    출력은 터미널로 반환됩니다.

그래픽 인터페이스 사용

각 샌드박스는 자체 VNC 서버와 Chrome으로 시작됩니다. 연결 정보를 얻습니다:

  • CLI를 사용합니다:
    ./arrakis-client info -n my-sandbox
    

    다음과 같은 것을 반환합니다. port_forwards: [{'host_port': '3000', 'guest_port': '5901', 'description': 'gui'}].

  • Python을 사용합니다:
    print(sandbox.info()['port_forwards'])
    
  • VNC를 연결합니다:
    VNC 클라이언트로 연결하기(예: noVNC) 主机IP:3000그래픽 인터페이스를 볼 수 있습니다.

스냅샷 및 역추적

  • 스냅샷 저장
    CLI를 사용합니다:

    ./arrakis-client snapshot -n my-sandbox -o snap1
    

    Python을 사용합니다:

    snapshot_id = sandbox.snapshot('snap1')
    
  • 스냅샷 복원
    먼저 샌드박스를 파괴하세요:

    ./arrakis-client destroy -n my-sandbox
    

    복직:

    ./arrakis-client restore -n my-sandbox --snapshot snap1
    

    또는 Python을 사용하세요:

    sandbox.destroy()
    sandbox = manager.restore('my-sandbox', snapshot_id)
    

맞춤형 샌드박스

  1. 찾기 rootfs/Dockerfile.
  2. 예를 들어 소프트웨어를 추가하려면 편집을 클릭합니다:
    RUN apt-get update && apt-get install -y vim
    
  3. 샌드박스를 다시 시작합니다:
    ./arrakis-client start -n my-sandbox --rootfs custom-rootfs
    

SSH 액세스

각 샌드박스는 SSH를 지원합니다:

  • IP 가져오기:
    ./arrakis-client info -n my-sandbox
    

    다음과 같은 것을 반환합니다. ip: "10.20.1.2/24".

  • 로그인합니다:
    ssh elara@10.20.1.2
    

    기본 사용자 elara비밀번호 elara0000.

작업 흐름의 예

샌드박스에서 AI가 파일을 작성하고 역추적을 테스트하도록 하려고 합니다:

  1. 샌드박스를 시작합니다:
    ./arrakis-client start -n test-sandbox
    
  2. 실행 명령을 실행합니다:
    ./arrakis-client run -n test-sandbox --cmd "echo '第一步' > /tmp/test.txt"
    
  3. 스냅샷을 저장합니다:
    ./arrakis-client snapshot -n test-sandbox -o step1
    
  4. 파일을 수정합니다:
    ./arrakis-client run -n test-sandbox --cmd "echo '第二步' > /tmp/test.txt"
    
  5. 스냅샷을 복원합니다:
    ./arrakis-client destroy -n test-sandbox
    ./arrakis-client restore -n test-sandbox --snapshot step1
    
  6. 파일을 확인합니다:
    ./arrakis-client run -n test-sandbox --cmd "cat /tmp/test.txt"
    

    출력은 다음과 같아야 합니다. 第一步.

자세한 내용은 GitHub의 README.md.

 

애플리케이션 시나리오

  1. AI 코드 디버깅
    개발자는 신뢰할 수 없는 코드를 아라키스로 실행하여 위험을 격리합니다. 오류 발생 후 역추적하여 문제를 확인합니다.
  2. 교육 실험
    교사는 학생들이 메인프레임에 영향을 주지 않고 마음대로 조작할 수 있는 샌드박스를 만들어 AI 프로그래밍을 연습할 수 있도록 합니다.
  3. 다단계 작업 테스트
    기업에서는 Arrakis를 사용하여 스냅샷 복구를 지원하는 웹 작업이나 파일 처리와 같은 AI 자동화 프로세스를 테스트할 수 있습니다.

 

QA

  1. Arrakis는 Windows를 지원하나요?
    는 지원되지 않으며 현재 리눅스에서만 실행되며, 이는 리눅스의 cloud-hypervisor.
  2. 샌드박스를 중지하려면 어떻게 하나요?
    비용 또는 지출 ./arrakis-client stop -n 名称 중지 또는 destroy 삭제.
  3. 스냅샷은 얼마나 많은 공간을 차지하나요?
    샌드박스의 콘텐츠에 따라 다르지만 보통 수백 MB 정도이므로 사용하지 않는 스냅샷을 정리하는 것이 좋습니다.
© 저작권 정책

관련 문서

댓글 없음

댓글에 참여하려면 로그인해야 합니다!
지금 로그인
없음
댓글 없음...