Framework composable de contrats de recherche et de recettes YAML pour des expériences de sécurité opérées par agents sur une infrastructure de calcul jetable
Statut : Bêta — Framework de recherche et kit d'exécution
Cusimanse est en cours de développement actif. Forkez-le, testez-le, exécutez les expériences de référence, signalez les bugs et soumettez des pull requests. Attendez-vous à ce que les API, recettes, documentations et intégrations évoluent pendant la phase bêta.
Utilisation de l'IA et contribution responsable : Cusimanse utilise le développement assisté par IA et l'IA agentique dans le cadre de son framework de recherche, de sa documentation, de ses workflows d'analyse et de son processus d'ingénierie. Une sortie générée ou assistée par IA n'est pas automatiquement faisant autorité, sécurisée, correcte, originale ou adaptée à un usage en production. Les contributeurs sont responsables de la revue, du test et de la validation des modifications assistées par IA avant soumission. Ne vous fiez pas à un système d'IA comme seule autorité pour les décisions de sécurité, l'autorisation, l'interprétation des preuves ou les actions critiques pour la sécurité. Utilisez Cusimanse uniquement pour la recherche autorisée, respectez les lois et politiques applicables, protégez les identifiants et les données sensibles, et maintenez l'exécution dans les limites de la politique déclarée du projet et du calcul jetable. Les contributions doivent clairement identifier l'assistance matérielle de l'IA le cas échéant, préserver la responsabilité humaine et suivre les tests du dépôt, les exigences de revue et les attentes d'utilisation responsable.
Recherche en sécurité déclarative et opérée par agents sur du calcul jetable. Les chercheurs déclarent l'intention et les exigences ; les agents planifient, sélectionnent et analysent ; l'API de capacités Go et la politique décident si et comment l'exécution peut avoir lieu.
Contrat → exigences → transfert de prompt → agent → résolution des capacités → runtime Go → politique/approbation → Lima/QEMU → instrumentation/charge de travail → preuves → analyse → vérification indépendante → rapport → préservation → destruction.
| Couche | Responsabilité | Source de vérité |
|---|---|---|
| Contrat | objectif, autorisation, périmètre, acceptation | contracts/ |
| Exigences | OS, isolation, charge de travail, réseau, instrumentation | recipes/experiments/ |
| Bibliothèque de prompts | transfert neutre vis-à-vis de l'agent | prompts/experiments/ |
| Guides opérateur | transfert par adaptateur léger | prompts/operators/ |
| Profils | capacités réutilisables de confiance | recipes/profiles/ |
| Runtime | résolution, politique, cycle de vie, frontière d'exécution | cmd/cusimanse/, internal/ |
| Politique | autorité et approbation | policies/, internal/policy/ |
| Confinement | calcul jetable | recipes/lima/, Lima/QEMU |
| Preuves | observations, provenance, vérification | runs/<session-id>/ |
L'agent ne peut pas créer de profils de confiance, étendre la politique, modifier des recettes de confiance ou exécuter directement une charge de travail non fiable sur l'hôte.
Règle de frontière : l'agent décide quelle recherche mener ; Cusimanse décide si et comment elle peut s'exécuter.
Rédigez contracts/<experiment>.md avec la question de recherche, l'autorisation, le périmètre, les critères d'acceptation et les contraintes de sécurité. Déclarez uniquement les exigences dans recipes/experiments/<experiment>.yaml.
Exemple :
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
La recette déclare explicitement l'extension de plateforme summon. Summon fournit uniquement la délégation/orchestration ; il n'autorise pas l'exécution.
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
Cycle de vie : resolve → policy → provision → configure → instrument → execute → collect → verify → report → preserve → destroy.
Le prompt est un transfert, pas une couche d'autorité ni une seconde recette.