
에이전트가 운영하는 보안 실험을 일회용 컴퓨팅 환경에서 수행하기 위한 조합 가능한 연구 계약 및 YAML 레시피 프레임워크
상태: 베타 — 연구 프레임워크 및 런타임 키트
Cusimanse는 활발히 개발 중입니다. 포크하고, 테스트하고, 참조 실험을 실행하고, 버그를 보고하고, 풀 리퀘스트를 제출하세요. 베타 기간 동안 API, 레시피, 문서 및 통합이 변경될 수 있습니다.
AI 사용 및 책임 있는 기여: Cusimanse는 연구 프레임워크, 문서, 분석 워크플로 및 엔지니어링 프로세스의 일부로 AI 지원 개발과 에이전트형 AI를 사용합니다. AI가 생성하거나 AI의 지원을 받은 결과물은 자동으로 권위 있거나, 안전하거나, 정확하거나, 독창적이거나, 프로덕션 사용에 적합한 것이 아닙니다. 기여자는 제출 전에 AI 지원 변경 사항을 검토, 테스트 및 검증할 책임이 있습니다. 보안 결정, 권한 부여, 증거 해석 또는 안전 필수 작업에 대해 AI 시스템을 유일한 권위로 의존하지 마십시오. Cusimanse는 승인된 연구에만 사용하고, 관련 법률과 정책을 준수하며, 자격 증명과 민감한 데이터를 보호하고, 프로젝트에서 선언한 정책 및 일회용 컴퓨팅 경계 내에서 실행을 유지하십시오. 기여는 적절한 경우 중요한 AI 지원을 명확히 식별하고, 인간의 책임을 유지하며, 저장소의 테스트, 검토 요구 사항 및 책임 있는 사용 기대치를 따라야 합니다.
일회용 컴퓨팅에서의 선언적, 에이전트 운영 보안 연구. 연구자는 의도와 요구 사항을 선언하고, 에이전트는 계획, 선택 및 분석하며, Go 기능 API와 정책이 실행 여부와 방법을 결정합니다.
계약 → 요구 사항 → 프롬프트 핸드오프 → 에이전트 → 기능 해석 → Go 런타임 → 정책/승인 → Lima/QEMU → 계측/워크로드 → 증거 → 분석 → 독립 검증 → 보고서 → 보존 → 파괴.
| 계층 | 책임 | 진실의 원천 |
|---|---|---|
| 계약 | 목적, 권한 부여, 범위, 수용 기준 | contracts/ |
| 요구 사항 | OS, 격리, 워크로드, 네트워크, 계측 | recipes/experiments/ |
| 프롬프트 라이브러리 | 에이전트 중립 핸드오프 | prompts/experiments/ |
| 운영자 가이드 | 얇은 어댑터 핸드오프 | prompts/operators/ |
| 프로필 | 신뢰할 수 있는 재사용 가능 기능 | recipes/profiles/ |
| 런타임 | 해석, 정책, 수명 주기, 실행 경계 | cmd/cusimanse/, internal/ |
| 정책 | 권한 및 승인 | policies/, internal/policy/ |
| 격리 | 일회용 컴퓨팅 | recipes/lima/, Lima/QEMU |
| 증거 | 관찰, 출처, 검증 | runs/<session-id>/ |
에이전트는 신뢰할 수 있는 프로필을 생성하거나, 정책을 확장하거나, 신뢰할 수 있는 레시피를 변경하거나, 신뢰할 수 없는 워크로드를 호스트에서 직접 실행할 수 없습니다.
경계 규칙: 에이전트는 어떤 연구를 할지 결정하고, Cusimanse는 실행 여부와 방법을 결정합니다.
연구 질문, 권한 부여, 범위, 수용 기준 및 안전 제약을 포함하여 contracts/<experiment>.md를 작성합니다. recipes/experiments/<experiment>.yaml에는 요구 사항만 선언합니다.
예시:
requirements:
execution: disposable
os: linux
workload: npm-threat
network: localhost-only
instrumentation: [process, syscall, filesystem, network]
./scripts/install.sh
export PATH="$HOME/.local/bin:$HOME/go/bin:$PATH"
cusimanse doctor
cusimanse validate
cusimanse preflight
cusimanse policy validate
cusimanse test
cusimanse integration-test
goose recipe validate recipes/npm-threat-001/recipe.yaml
goose recipe validate recipes/subrecipes/evidence-analysis.yaml
goose recipe validate recipes/subrecipes/verification.yaml
goose recipe validate recipes/subrecipes/report.yaml
goose run --recipe ./recipes/npm-threat-001/recipe.yaml --interactive
레시피는 summon 플랫폼 확장을 명시적으로 선언합니다. Summon은 위임/오케스트레이션만 제공하며 실행을 승인하지 않습니다.
cusimanse resolve npm-threat-001
cusimanse policy explain vm
cusimanse policy explain network
cusimanse policy check-all
cusimanse policy require vm --approved
cusimanse --approved run npm-threat-001 <session-id>
cusimanse observability report <session-id>
cusimanse policy audit
수명 주기: resolve → policy → provision → configure → instrument → execute → collect → verify → report → preserve → destroy.
프롬프트는 핸드오프이며, 권한 계층도 아니고 두 번째 레시피도 아닙니다.
prompts/experiments/<experiment>.md 공유 연구 핸드오프
prompts/operators/<operator>.md 얇은 운영자 안내
recipes/experiments/<experiment>.yaml 요구 사항 진실의 원천
recipes/<experiment>/recipe.yaml Goose/런타임 레시피
contracts/<experiment>.md 권한 부여/범위 원천
OpenCode, Hermes, Antigravity 또는 Pi의 경우 동일한 계약, 실험 YAML, 레시피 참조, 공유 프롬프트 및 일치하는 운영자 가이드를 제공합니다. 대체 운영자는 네이티브 기능을 사용하여 계획/위임/분석할 수 있지만, 기능 실행을 위해 Cusimanse를 호출해야 합니다. 지원되지 않는 기능은 PARTIAL로 기록되며, 어댑터는 정책, 프로필 또는 신뢰할 수 있는 레시피를 변경할 수 없습니다.
표준 어댑터 구성: recipes/agents/adapter-matrix.yaml 및 docs/GOOSE-ADAPTERS.md.
권위 있는 인벤토리: recipes/host/security-research.yaml. 프로젝트 전체 인벤토리: manifest/TOOL-INVENTORY.yaml. 상세 호스트 접근/구성 가이드: docs/HOST-TOOLCHAIN.md.
./scripts/install.sh
cusimanse tools list
cusimanse tools versions
cusimanse tools config
cusimanse tools path
호스트 도구는 Git, 셸/부트스트랩 유틸리티, Python, Node/npm, Go, jq/yq, ripgrep 및 Goose를 포함합니다. Lima/QEMU는 일회용 컴퓨팅을 제공합니다. 게스트 계측은 docs/INSTRUMENTATION.md에 별도로 문서화되어 있으며 recipes/instrumentation/security-research.yaml에 의해 선언됩니다.
recipes/gateway/mandatory.yaml은 localhost 전용 모델 게이트웨이 체인을 정의합니다.
| 구성 요소 | 접근 | 데이터 / UI | 설치 / 구성 |
|---|---|---|---|
| LiteLLM | 127.0.0.1:4000; 에이전트용 OpenAI 호환 게이트웨이 | 모델 요청, 라우팅 및 정규화; 공용 리스너 없음 | scripts/install.sh에 의해 Cusimanse Python 환경에 설치됨; 구성은 ~/.config/cusimanse/litellm.yaml |
| OmniRoute | 127.0.0.1:20128; LiteLLM의 업스트림 | 제공자 라우팅/폴백; localhost API, 공용 리스너 없음 | 설치 프로그램에 의해 고정된 npm 패키지로 설치됨; 환경은 ~/.config/cusimanse/omniroute.env |
흐름: agent/Goose → LiteLLM :4000 → OmniRoute :20128 → 구성된 제공자.
비밀은 환경 전용입니다. 게이트웨이는 전송/모델 라우팅 구성 요소이며, 보안 경계가 아닙니다; Cusimanse 정책이 여전히 권위 있습니다. cusimanse tools config를 사용하여 비밀을 출력하지 않고 구성 위치를 검사합니다.
계측은 일회용 Linux 게스트 내부에서 실행되며 실행 워크플로가 소유합니다. 권위 있는 인벤토리와 설치 원천은 recipes/instrumentation/security-research.yaml 및 recipes/lima/security-research.yaml입니다.
전체 도구 표, 접근 모델, 설치 세부 정보, VM 진단 명령 및 증거 규칙은 **docs/INSTRUMENTATION.md**를 참조하십시오.
Goose는 에이전트를 관찰하고, Cusimanse는 실험을 관찰합니다.
recipes/observability/mandatory.yaml에 의해 선언됨:
| 관찰자 | 접근 | 데이터/UI |
|---|---|---|
| Numbat | cusimanse tools numbat | ~/.numbat/cusimanse.ndjson |
| Phoenix | 브라우저 | http://127.0.0.1:6006 |
| OpenTelemetry | OTLP/HTTP | http://127.0.0.1:4318 |
| ClawMetry | 브라우저 | http://127.0.0.1:8900 |
| Aegis | cusimanse observability status | ~/.local/share/cusimanse/aegis/ |
cusimanse observability status
cusimanse observability phoenix
cusimanse observability clawmetry
cusimanse observability report <session-id>