feat(casan): establish assurance kernel and harden control plane
This commit is contained in:
@@ -0,0 +1,78 @@
|
||||
{
|
||||
"schema_version": "1.0.0",
|
||||
"description": "Deterministic action classes and minimum risk floors shared by CASAN runtimes.",
|
||||
"risk_order": ["low", "medium", "high", "critical"],
|
||||
"classes": {
|
||||
"read_only": {"risk_floor": "low", "side_effect_level": "none", "requires_approval": false, "actor_required": false, "evidence_required": false},
|
||||
"write": {"risk_floor": "medium", "side_effect_level": "write", "requires_approval": false, "actor_required": false, "evidence_required": true},
|
||||
"delete": {"risk_floor": "high", "side_effect_level": "destructive", "requires_approval": true, "actor_required": true, "evidence_required": true},
|
||||
"database_mutation": {"risk_floor": "high", "side_effect_level": "write", "requires_approval": true, "actor_required": true, "evidence_required": true},
|
||||
"migration": {"risk_floor": "high", "side_effect_level": "write", "requires_approval": true, "actor_required": true, "evidence_required": true},
|
||||
"deployment": {"risk_floor": "high", "side_effect_level": "external", "requires_approval": true, "actor_required": true, "evidence_required": true},
|
||||
"release": {"risk_floor": "high", "side_effect_level": "external", "requires_approval": true, "actor_required": true, "evidence_required": true},
|
||||
"credential_access": {"risk_floor": "high", "side_effect_level": "sensitive_read", "requires_approval": true, "actor_required": true, "evidence_required": true},
|
||||
"identity_permission_modification": {"risk_floor": "high", "side_effect_level": "write", "requires_approval": true, "actor_required": true, "evidence_required": true},
|
||||
"external_network_side_effect": {"risk_floor": "medium", "side_effect_level": "external", "requires_approval": true, "actor_required": true, "evidence_required": true},
|
||||
"infrastructure_modification": {"risk_floor": "high", "side_effect_level": "external", "requires_approval": true, "actor_required": true, "evidence_required": true},
|
||||
"unknown": {"risk_floor": "high", "side_effect_level": "unknown", "requires_approval": true, "actor_required": true, "evidence_required": true}
|
||||
},
|
||||
"action_aliases": {
|
||||
"agent_step": "read_only",
|
||||
"read": "read_only",
|
||||
"search": "read_only",
|
||||
"write": "write",
|
||||
"write_code": "write",
|
||||
"write_file": "write",
|
||||
"delete": "delete",
|
||||
"delete_file": "delete",
|
||||
"db_write": "database_mutation",
|
||||
"database_mutation": "database_mutation",
|
||||
"migration": "migration",
|
||||
"migrate": "migration",
|
||||
"deploy": "deployment",
|
||||
"deployment": "deployment",
|
||||
"launch": "deployment",
|
||||
"release": "release",
|
||||
"credential_access": "credential_access",
|
||||
"secret_access": "credential_access",
|
||||
"permission_change": "identity_permission_modification",
|
||||
"identity_change": "identity_permission_modification",
|
||||
"external_api": "external_network_side_effect",
|
||||
"infrastructure_change": "infrastructure_modification"
|
||||
},
|
||||
"tool_aliases": {
|
||||
"read": "read_only",
|
||||
"grep": "read_only",
|
||||
"glob": "read_only",
|
||||
"search": "read_only",
|
||||
"view": "read_only",
|
||||
"codegraph_search": "read_only",
|
||||
"codegraph_node": "read_only",
|
||||
"codegraph_context": "read_only",
|
||||
"edit": "write",
|
||||
"write": "write",
|
||||
"multiedit": "write",
|
||||
"notebookedit": "write",
|
||||
"apply_patch": "write",
|
||||
"str_replace_editor": "write",
|
||||
"create_file": "write",
|
||||
"update_file": "write",
|
||||
"delete_file": "delete",
|
||||
"webfetch": "external_network_side_effect",
|
||||
"web_fetch": "external_network_side_effect",
|
||||
"browser": "external_network_side_effect",
|
||||
"sendmessage": "external_network_side_effect"
|
||||
},
|
||||
"command_patterns": [
|
||||
{"pattern": "(^|\\s)(kubectl|helm)(\\s|$).*(apply|delete|upgrade|install)|(^|\\s)terraform\\s+(apply|destroy)", "class": "infrastructure_modification"},
|
||||
{"pattern": "(^|\\s)(deploy|deployment|release)(\\s|$)|git\\s+push", "class": "deployment"},
|
||||
{"pattern": "(^|\\s)(prisma|alembic|flyway|liquibase|rails)\\s+.*(migrat|upgrade)|\\bmigration\\b", "class": "migration"},
|
||||
{"pattern": "\\b(delete|insert|update|alter|drop|truncate)\\s+(from|into|table|database)|\\b(db_write|database_mutation)\\b", "class": "database_mutation"},
|
||||
{"pattern": "(^|\\s)(rm|rmdir|unlink)\\s|delete_file", "class": "delete"},
|
||||
{"pattern": "(\\.ssh/|id_rsa|id_ed25519|\\.aws/credentials|\\.env($|\\s)|secret|credential|api[_-]?key)", "class": "credential_access"},
|
||||
{"pattern": "\\b(iam|chmod|chown|setfacl|role|permission)\\b.*\\b(add|create|delete|grant|modify|remove|set|update)\\b", "class": "identity_permission_modification"},
|
||||
{"pattern": "(^|\\s)(curl|wget|scp|sftp|ssh|nc|ncat)\\s", "class": "external_network_side_effect"},
|
||||
{"pattern": "(^|\\s)(cp|mv|mkdir|touch|tee|sed\\s+-i)\\s|(^|\\s)(npm|pnpm|yarn|pip|cargo|go)\\s+(install|add|get)\\b|(^|\\s)(cat|printf|echo).*(>|>>)", "class": "write"},
|
||||
{"pattern": "^\\s*(ls|pwd|cat|head|tail|wc|rg|grep|find|stat|git\\s+(status|diff|log|show))\\b", "class": "read_only"}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user