Компонуемый фреймворк исследовательских контрактов и YAML-рецептов для управляемых агентом экспериментов по безопасности на одноразовых вычислительных ресурсах
Статус: Beta — исследовательский фреймворк и runtime-набор
Cusimanse активно развивается. Форкайте его, тестируйте, запускайте эталонные эксперименты, сообщайте об ошибках и отправляйте pull request'ы. Ожидайте, что API, рецепты, документация и интеграции будут меняться в течение беты.
Использование ИИ и ответственный вклад: Cusimanse использует разработку с помощью ИИ и агентный ИИ как часть своего исследовательского фреймворка, документации, аналитических процессов и инженерного процесса. Вывод, сгенерированный или созданный с помощью ИИ, не является автоматически авторитетным, безопасным, корректным, оригинальным или пригодным для промышленного использования. Участники несут ответственность за проверку, тестирование и валидацию изменений, сделанных с помощью ИИ, перед отправкой. Не полагайтесь на систему ИИ как на единственный источник истины для решений по безопасности, авторизации, интерпретации доказательств или действий, критичных для безопасности. Используйте Cusimanse только для авторизованных исследований, соблюдайте применимые законы и политики, защищайте учётные данные и конфиденциальные данные и держите выполнение в рамках заявленной политики проекта и границ одноразовых вычислений. Вклад должен чётко обозначать существенную помощь ИИ там, где это уместно, сохранять человеческую ответственность и следовать тестам репозитория, требованиям к ревью и ожиданиям ответственного использования.
Декларативные, управляемые агентом исследования безопасности на одноразовых вычислениях. Исследователи декларируют намерение и требования; агенты планируют, выбирают и анализируют; Go capability API и политика решают, может ли выполнение произойти и каким образом.
Контракт → требования → передача промпта → агент → разрешение возможностей → Go runtime → политика/одобрение → Lima/QEMU → инструментирование/нагрузка → доказательства → анализ → независимая верификация → отчёт → сохранение → уничтожение.
| Слой | Ответственность | Источник истины |
|---|---|---|
| Контракт | цель, авторизация, область, критерии приёмки | contracts/ |
| Требования | ОС, изоляция, нагрузка, сеть, инструментирование | recipes/experiments/ |
| Библиотека промптов | нейтральная к агенту передача | prompts/experiments/ |
| Руководства оператора | тонкая адаптерная передача | prompts/operators/ |
| Профили | доверенные переиспользуемые возможности | recipes/profiles/ |
| Runtime | разрешение, политика, жизненный цикл, граница выполнения | 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.
Промпт — это передача, а не слой полномочий и не второй рецепт.