damage-control-dev 0.1.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. damage_control/__init__.py +9 -0
  2. damage_control/__main__.py +7 -0
  3. damage_control/adapter.py +179 -0
  4. damage_control/audit.py +432 -0
  5. damage_control/breakglass.py +155 -0
  6. damage_control/claude_code.py +148 -0
  7. damage_control/cli.py +173 -0
  8. damage_control/engine.py +10656 -0
  9. damage_control/groups.py +114 -0
  10. damage_control/harness_config.py +205 -0
  11. damage_control/hook.py +54 -0
  12. damage_control/install.py +618 -0
  13. damage_control/packs.py +219 -0
  14. damage_control/policy.py +323 -0
  15. damage_control/profile.py +177 -0
  16. damage_control/rules/aws.json +85 -0
  17. damage_control/rules/aws.yaml +76 -0
  18. damage_control/rules/cloud-hosting.json +162 -0
  19. damage_control/rules/cloud-hosting.yaml +163 -0
  20. damage_control/rules/containers.json +67 -0
  21. damage_control/rules/containers.yaml +69 -0
  22. damage_control/rules/control-plane.json +7 -0
  23. damage_control/rules/control-plane.yaml +21 -0
  24. damage_control/rules/core.json +332 -0
  25. damage_control/rules/core.yaml +441 -0
  26. damage_control/rules/databases.json +117 -0
  27. damage_control/rules/databases.yaml +123 -0
  28. damage_control/rules/firebase.json +34 -0
  29. damage_control/rules/firebase.yaml +30 -0
  30. damage_control/rules/gcp.json +60 -0
  31. damage_control/rules/gcp.yaml +57 -0
  32. damage_control/rules/git.json +119 -0
  33. damage_control/rules/git.yaml +120 -0
  34. damage_control/rules/infrastructure.json +69 -0
  35. damage_control/rules/infrastructure.yaml +66 -0
  36. damage_control/rules/mcp-tools.json +11 -0
  37. damage_control/rules/mcp-tools.yaml +47 -0
  38. damage_control/rules/outbound.json +40 -0
  39. damage_control/rules/outbound.yaml +58 -0
  40. damage_control/rules/payloads.json +120 -0
  41. damage_control/rules/payloads.yaml +155 -0
  42. damage_control/rules/publish.json +46 -0
  43. damage_control/rules/publish.yaml +46 -0
  44. damage_control/rules/registry.json +10 -0
  45. damage_control/rules/registry.yaml +11 -0
  46. damage_control/rules/remote.json +31 -0
  47. damage_control/rules/remote.yaml +53 -0
  48. damage_control/rules/tmux.json +17 -0
  49. damage_control/rules/tmux.yaml +16 -0
  50. damage_control/ruleset.py +94 -0
  51. damage_control/tooldefs/aws.json +140 -0
  52. damage_control/tooldefs/aws.yaml +119 -0
  53. damage_control/tooldefs/docker.json +146 -0
  54. damage_control/tooldefs/docker.yaml +123 -0
  55. damage_control/tooldefs/gcp.json +186 -0
  56. damage_control/tooldefs/gcp.yaml +158 -0
  57. damage_control/tooldefs/gh.json +172 -0
  58. damage_control/tooldefs/gh.yaml +145 -0
  59. damage_control/tooldefs/git.json +166 -0
  60. damage_control/tooldefs/git.yaml +143 -0
  61. damage_control/tooldefs/kubectl.json +101 -0
  62. damage_control/tooldefs/kubectl.yaml +85 -0
  63. damage_control/tooldefs/npm.json +77 -0
  64. damage_control/tooldefs/npm.yaml +65 -0
  65. damage_control/tooldefs/terraform.json +68 -0
  66. damage_control/tooldefs/terraform.yaml +57 -0
  67. damage_control/tooldefs/uv.json +112 -0
  68. damage_control/tooldefs/uv.yaml +97 -0
  69. damage_control_dev-0.1.0.dist-info/METADATA +15 -0
  70. damage_control_dev-0.1.0.dist-info/RECORD +74 -0
  71. damage_control_dev-0.1.0.dist-info/WHEEL +4 -0
  72. damage_control_dev-0.1.0.dist-info/entry_points.txt +2 -0
  73. damage_control_dev-0.1.0.dist-info/licenses/LICENSE +201 -0
  74. damage_control_dev-0.1.0.dist-info/licenses/NOTICE +4 -0
@@ -0,0 +1,140 @@
1
+ {
2
+ "name": "AWS CLI",
3
+ "binary": "aws",
4
+ "purpose": "Manage AWS cloud resources — S3, EC2, RDS, Lambda, IAM, and more",
5
+ "docs": "https://awscli.amazonaws.com/v2/documentation/api/latest/index.html",
6
+ "install": "brew install awscli",
7
+ "commands": [
8
+ {
9
+ "cmd": "aws sts get-caller-identity",
10
+ "access": "read",
11
+ "description": "Show current AWS identity (account, user, ARN)"
12
+ },
13
+ {
14
+ "cmd": "aws configure list",
15
+ "access": "read",
16
+ "description": "Show current CLI configuration"
17
+ },
18
+ {
19
+ "cmd": "aws s3 ls [s3://<bucket>]",
20
+ "access": "read",
21
+ "description": "List buckets or objects"
22
+ },
23
+ {
24
+ "id": "tooldef.aws-cli-copy-files-to-from-s3",
25
+ "cmd": "aws s3 cp <src> <dst>",
26
+ "access": "write",
27
+ "description": "Copy files to/from S3"
28
+ },
29
+ {
30
+ "id": "tooldef.aws-cli-sync-directory-to-from-s3",
31
+ "cmd": "aws s3 sync <src> <dst>",
32
+ "access": "write",
33
+ "description": "Sync directory to/from S3"
34
+ },
35
+ {
36
+ "id": "tooldef.aws-cli-delete-a-single-s3-object",
37
+ "cmd": "aws s3 rm s3://<bucket>/<key>",
38
+ "access": "write",
39
+ "description": "Delete a single S3 object"
40
+ },
41
+ {
42
+ "cmd": "aws s3 rm s3://<bucket> --recursive",
43
+ "access": "blocked",
44
+ "description": "Delete ALL objects in bucket"
45
+ },
46
+ {
47
+ "cmd": "aws s3 rb s3://<bucket> --force",
48
+ "access": "blocked",
49
+ "description": "Force remove bucket and all contents"
50
+ },
51
+ {
52
+ "cmd": "aws ec2 describe-instances",
53
+ "access": "read",
54
+ "description": "List EC2 instances"
55
+ },
56
+ {
57
+ "cmd": "aws ec2 describe-vpcs",
58
+ "access": "read",
59
+ "description": "List VPCs"
60
+ },
61
+ {
62
+ "id": "tooldef.aws-cli-start-stopped-ec2-instances",
63
+ "cmd": "aws ec2 start-instances --instance-ids <id>",
64
+ "access": "write",
65
+ "description": "Start stopped EC2 instances"
66
+ },
67
+ {
68
+ "id": "tooldef.aws-cli-stop-running-ec2-instances",
69
+ "cmd": "aws ec2 stop-instances --instance-ids <id>",
70
+ "access": "write",
71
+ "description": "Stop running EC2 instances"
72
+ },
73
+ {
74
+ "cmd": "aws ec2 terminate-instances --instance-ids <id>",
75
+ "access": "blocked",
76
+ "description": "Permanently terminate EC2 instances (unrecoverable)"
77
+ },
78
+ {
79
+ "cmd": "aws rds describe-db-instances",
80
+ "access": "read",
81
+ "description": "List RDS database instances"
82
+ },
83
+ {
84
+ "cmd": "aws rds delete-db-instance --db-instance-identifier <id>",
85
+ "access": "blocked",
86
+ "description": "Delete RDS instance (data loss)"
87
+ },
88
+ {
89
+ "cmd": "aws lambda list-functions",
90
+ "access": "read",
91
+ "description": "List Lambda functions"
92
+ },
93
+ {
94
+ "id": "tooldef.aws-cli-invoke-a-lambda-function",
95
+ "cmd": "aws lambda invoke --function-name <name> <outfile>",
96
+ "access": "write",
97
+ "description": "Invoke a Lambda function"
98
+ },
99
+ {
100
+ "cmd": "aws lambda delete-function --function-name <name>",
101
+ "access": "blocked",
102
+ "description": "Delete a Lambda function"
103
+ },
104
+ {
105
+ "cmd": "aws iam list-users",
106
+ "access": "read",
107
+ "description": "List IAM users"
108
+ },
109
+ {
110
+ "cmd": "aws iam list-roles",
111
+ "access": "read",
112
+ "description": "List IAM roles"
113
+ },
114
+ {
115
+ "cmd": "aws iam delete-role --role-name <name>",
116
+ "access": "blocked",
117
+ "description": "Delete IAM role"
118
+ },
119
+ {
120
+ "cmd": "aws iam delete-user --user-name <name>",
121
+ "access": "blocked",
122
+ "description": "Delete IAM user"
123
+ },
124
+ {
125
+ "cmd": "aws cloudformation list-stacks",
126
+ "access": "read",
127
+ "description": "List CloudFormation stacks"
128
+ },
129
+ {
130
+ "cmd": "aws cloudformation describe-stacks --stack-name <name>",
131
+ "access": "read",
132
+ "description": "Describe a stack"
133
+ },
134
+ {
135
+ "cmd": "aws cloudformation delete-stack --stack-name <name>",
136
+ "access": "blocked",
137
+ "description": "Delete a CloudFormation stack and all its resources"
138
+ }
139
+ ]
140
+ }
@@ -0,0 +1,119 @@
1
+ name: AWS CLI
2
+ binary: aws
3
+ purpose: Manage AWS cloud resources — S3, EC2, RDS, Lambda, IAM, and more
4
+ docs: https://awscli.amazonaws.com/v2/documentation/api/latest/index.html
5
+ install: brew install awscli
6
+
7
+ commands:
8
+ # Identity & auth
9
+ - cmd: "aws sts get-caller-identity"
10
+ access: read
11
+ description: Show current AWS identity (account, user, ARN)
12
+
13
+ - cmd: "aws configure list"
14
+ access: read
15
+ description: Show current CLI configuration
16
+
17
+ # S3
18
+ - cmd: "aws s3 ls [s3://<bucket>]"
19
+ access: read
20
+ description: List buckets or objects
21
+
22
+ - id: tooldef.aws-cli-copy-files-to-from-s3
23
+ cmd: "aws s3 cp <src> <dst>"
24
+ access: write
25
+ description: Copy files to/from S3
26
+
27
+ - id: tooldef.aws-cli-sync-directory-to-from-s3
28
+ cmd: "aws s3 sync <src> <dst>"
29
+ access: write
30
+ description: Sync directory to/from S3
31
+
32
+ - id: tooldef.aws-cli-delete-a-single-s3-object
33
+ cmd: "aws s3 rm s3://<bucket>/<key>"
34
+ access: write
35
+ description: Delete a single S3 object
36
+
37
+ - cmd: "aws s3 rm s3://<bucket> --recursive"
38
+ access: blocked
39
+ description: Delete ALL objects in bucket
40
+
41
+ - cmd: "aws s3 rb s3://<bucket> --force"
42
+ access: blocked
43
+ description: Force remove bucket and all contents
44
+
45
+ # EC2
46
+ - cmd: "aws ec2 describe-instances"
47
+ access: read
48
+ description: List EC2 instances
49
+
50
+ - cmd: "aws ec2 describe-vpcs"
51
+ access: read
52
+ description: List VPCs
53
+
54
+ - id: tooldef.aws-cli-start-stopped-ec2-instances
55
+ cmd: "aws ec2 start-instances --instance-ids <id>"
56
+ access: write
57
+ description: Start stopped EC2 instances
58
+
59
+ - id: tooldef.aws-cli-stop-running-ec2-instances
60
+ cmd: "aws ec2 stop-instances --instance-ids <id>"
61
+ access: write
62
+ description: Stop running EC2 instances
63
+
64
+ - cmd: "aws ec2 terminate-instances --instance-ids <id>"
65
+ access: blocked
66
+ description: Permanently terminate EC2 instances (unrecoverable)
67
+
68
+ # RDS
69
+ - cmd: "aws rds describe-db-instances"
70
+ access: read
71
+ description: List RDS database instances
72
+
73
+ - cmd: "aws rds delete-db-instance --db-instance-identifier <id>"
74
+ access: blocked
75
+ description: Delete RDS instance (data loss)
76
+
77
+ # Lambda
78
+ - cmd: "aws lambda list-functions"
79
+ access: read
80
+ description: List Lambda functions
81
+
82
+ - id: tooldef.aws-cli-invoke-a-lambda-function
83
+ cmd: "aws lambda invoke --function-name <name> <outfile>"
84
+ access: write
85
+ description: Invoke a Lambda function
86
+
87
+ - cmd: "aws lambda delete-function --function-name <name>"
88
+ access: blocked
89
+ description: Delete a Lambda function
90
+
91
+ # IAM
92
+ - cmd: "aws iam list-users"
93
+ access: read
94
+ description: List IAM users
95
+
96
+ - cmd: "aws iam list-roles"
97
+ access: read
98
+ description: List IAM roles
99
+
100
+ - cmd: "aws iam delete-role --role-name <name>"
101
+ access: blocked
102
+ description: Delete IAM role
103
+
104
+ - cmd: "aws iam delete-user --user-name <name>"
105
+ access: blocked
106
+ description: Delete IAM user
107
+
108
+ # CloudFormation
109
+ - cmd: "aws cloudformation list-stacks"
110
+ access: read
111
+ description: List CloudFormation stacks
112
+
113
+ - cmd: "aws cloudformation describe-stacks --stack-name <name>"
114
+ access: read
115
+ description: Describe a stack
116
+
117
+ - cmd: "aws cloudformation delete-stack --stack-name <name>"
118
+ access: blocked
119
+ description: Delete a CloudFormation stack and all its resources
@@ -0,0 +1,146 @@
1
+ {
2
+ "name": "Docker",
3
+ "binary": "docker",
4
+ "purpose": "Build and run containerized applications",
5
+ "docs": "https://docs.docker.com/reference/",
6
+ "install": "brew install --cask docker",
7
+ "commands": [
8
+ {
9
+ "cmd": "docker images [<name>]",
10
+ "access": "read",
11
+ "description": "List local images"
12
+ },
13
+ {
14
+ "id": "tooldef.docker-download-an-image-from-registry",
15
+ "cmd": "docker pull <image>",
16
+ "access": "write",
17
+ "description": "Download an image from registry"
18
+ },
19
+ {
20
+ "id": "tooldef.docker-build-image-from-dockerfile",
21
+ "cmd": "docker build -t <name> .",
22
+ "access": "write",
23
+ "description": "Build image from Dockerfile"
24
+ },
25
+ {
26
+ "id": "tooldef.docker-remove-a-local-image",
27
+ "cmd": "docker rmi <image>",
28
+ "access": "write",
29
+ "description": "Remove a local image"
30
+ },
31
+ {
32
+ "cmd": "docker rmi -f <image>",
33
+ "access": "blocked",
34
+ "description": "Force remove image (including running containers using it)"
35
+ },
36
+ {
37
+ "cmd": "docker ps [-a]",
38
+ "access": "read",
39
+ "description": "List running (or all) containers"
40
+ },
41
+ {
42
+ "cmd": "docker logs <container>",
43
+ "access": "read",
44
+ "description": "View container logs"
45
+ },
46
+ {
47
+ "cmd": "docker inspect <container>",
48
+ "access": "read",
49
+ "description": "View detailed container info"
50
+ },
51
+ {
52
+ "id": "tooldef.docker-create-and-start-a-container",
53
+ "cmd": "docker run <image>",
54
+ "access": "write",
55
+ "description": "Create and start a container"
56
+ },
57
+ {
58
+ "id": "tooldef.docker-start-stopped-container",
59
+ "cmd": "docker start <container>",
60
+ "access": "write",
61
+ "description": "Start stopped container"
62
+ },
63
+ {
64
+ "id": "tooldef.docker-stop-running-container",
65
+ "cmd": "docker stop <container>",
66
+ "access": "write",
67
+ "description": "Stop running container"
68
+ },
69
+ {
70
+ "id": "tooldef.docker-execute-command-in-running-container",
71
+ "cmd": "docker exec -it <container> <cmd>",
72
+ "access": "write",
73
+ "description": "Execute command in running container"
74
+ },
75
+ {
76
+ "id": "tooldef.docker-remove-a-stopped-container",
77
+ "cmd": "docker rm <container>",
78
+ "access": "write",
79
+ "description": "Remove a stopped container"
80
+ },
81
+ {
82
+ "cmd": "docker rm -f $(docker ps -aq)",
83
+ "access": "blocked",
84
+ "description": "Force remove ALL containers"
85
+ },
86
+ {
87
+ "cmd": "docker volume ls",
88
+ "access": "read",
89
+ "description": "List volumes"
90
+ },
91
+ {
92
+ "cmd": "docker volume inspect <volume>",
93
+ "access": "read",
94
+ "description": "View volume details"
95
+ },
96
+ {
97
+ "cmd": "docker volume rm <volume>",
98
+ "access": "blocked",
99
+ "description": "Delete a volume (data loss)"
100
+ },
101
+ {
102
+ "cmd": "docker volume prune",
103
+ "access": "blocked",
104
+ "description": "Delete all unused volumes (data loss)"
105
+ },
106
+ {
107
+ "cmd": "docker compose ps",
108
+ "access": "read",
109
+ "description": "List compose services"
110
+ },
111
+ {
112
+ "cmd": "docker compose logs",
113
+ "access": "read",
114
+ "description": "View compose service logs"
115
+ },
116
+ {
117
+ "id": "tooldef.docker-start-compose-services",
118
+ "cmd": "docker compose up [-d]",
119
+ "access": "write",
120
+ "description": "Start compose services"
121
+ },
122
+ {
123
+ "id": "tooldef.docker-stop-and-remove-compose-containers",
124
+ "cmd": "docker compose down",
125
+ "access": "write",
126
+ "description": "Stop and remove compose containers"
127
+ },
128
+ {
129
+ "id": "tooldef.docker-build-compose-service-images",
130
+ "cmd": "docker compose build",
131
+ "access": "write",
132
+ "description": "Build compose service images"
133
+ },
134
+ {
135
+ "id": "tooldef.docker-remove-stopped-containers-unused-networks-dangling-im",
136
+ "cmd": "docker system prune",
137
+ "access": "write",
138
+ "description": "Remove stopped containers, unused networks, dangling images"
139
+ },
140
+ {
141
+ "cmd": "docker system prune -a",
142
+ "access": "blocked",
143
+ "description": "Remove ALL unused images, containers, networks (including named images)"
144
+ }
145
+ ]
146
+ }
@@ -0,0 +1,123 @@
1
+ name: Docker
2
+ binary: docker
3
+ purpose: Build and run containerized applications
4
+ docs: https://docs.docker.com/reference/
5
+ install: brew install --cask docker
6
+
7
+ commands:
8
+ # Images
9
+ - cmd: "docker images [<name>]"
10
+ access: read
11
+ description: List local images
12
+
13
+ - id: tooldef.docker-download-an-image-from-registry
14
+ cmd: "docker pull <image>"
15
+ access: write
16
+ description: Download an image from registry
17
+
18
+ - id: tooldef.docker-build-image-from-dockerfile
19
+ cmd: "docker build -t <name> ."
20
+ access: write
21
+ description: Build image from Dockerfile
22
+
23
+ - id: tooldef.docker-remove-a-local-image
24
+ cmd: "docker rmi <image>"
25
+ access: write
26
+ description: Remove a local image
27
+
28
+ - cmd: "docker rmi -f <image>"
29
+ access: blocked
30
+ description: Force remove image (including running containers using it)
31
+
32
+ # Containers
33
+ - cmd: "docker ps [-a]"
34
+ access: read
35
+ description: List running (or all) containers
36
+
37
+ - cmd: "docker logs <container>"
38
+ access: read
39
+ description: View container logs
40
+
41
+ - cmd: "docker inspect <container>"
42
+ access: read
43
+ description: View detailed container info
44
+
45
+ - id: tooldef.docker-create-and-start-a-container
46
+ cmd: "docker run <image>"
47
+ access: write
48
+ description: Create and start a container
49
+
50
+ - id: tooldef.docker-start-stopped-container
51
+ cmd: "docker start <container>"
52
+ access: write
53
+ description: Start stopped container
54
+
55
+ - id: tooldef.docker-stop-running-container
56
+ cmd: "docker stop <container>"
57
+ access: write
58
+ description: Stop running container
59
+
60
+ - id: tooldef.docker-execute-command-in-running-container
61
+ cmd: "docker exec -it <container> <cmd>"
62
+ access: write
63
+ description: Execute command in running container
64
+
65
+ - id: tooldef.docker-remove-a-stopped-container
66
+ cmd: "docker rm <container>"
67
+ access: write
68
+ description: Remove a stopped container
69
+
70
+ - cmd: "docker rm -f $(docker ps -aq)"
71
+ access: blocked
72
+ description: Force remove ALL containers
73
+
74
+ # Volumes
75
+ - cmd: "docker volume ls"
76
+ access: read
77
+ description: List volumes
78
+
79
+ - cmd: "docker volume inspect <volume>"
80
+ access: read
81
+ description: View volume details
82
+
83
+ - cmd: "docker volume rm <volume>"
84
+ access: blocked
85
+ description: Delete a volume (data loss)
86
+
87
+ - cmd: "docker volume prune"
88
+ access: blocked
89
+ description: Delete all unused volumes (data loss)
90
+
91
+ # Compose
92
+ - cmd: "docker compose ps"
93
+ access: read
94
+ description: List compose services
95
+
96
+ - cmd: "docker compose logs"
97
+ access: read
98
+ description: View compose service logs
99
+
100
+ - id: tooldef.docker-start-compose-services
101
+ cmd: "docker compose up [-d]"
102
+ access: write
103
+ description: Start compose services
104
+
105
+ - id: tooldef.docker-stop-and-remove-compose-containers
106
+ cmd: "docker compose down"
107
+ access: write
108
+ description: Stop and remove compose containers
109
+
110
+ - id: tooldef.docker-build-compose-service-images
111
+ cmd: "docker compose build"
112
+ access: write
113
+ description: Build compose service images
114
+
115
+ # Cleanup
116
+ - id: tooldef.docker-remove-stopped-containers-unused-networks-dangling-im
117
+ cmd: "docker system prune"
118
+ access: write
119
+ description: Remove stopped containers, unused networks, dangling images
120
+
121
+ - cmd: "docker system prune -a"
122
+ access: blocked
123
+ description: Remove ALL unused images, containers, networks (including named images)