adetuire1 commited on
Commit
9ac3f64
·
verified ·
1 Parent(s): 9baee28

Upload folder using huggingface_hub

Browse files
schemas/allowed_targets.json ADDED
@@ -0,0 +1,70 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "allow": [
3
+ "MIM3.mg3cap_83.switchA",
4
+ "MIM3.mg3cap_83.switchB",
5
+ "MIM3.mg3cap_83.switchC"
6
+ ],
7
+ "allow_prefix": [
8
+ "MIM1.mg1load_",
9
+ "mg1load_",
10
+ "MIM1.mg1microgrid_switch",
11
+ "mg1microgrid_switch",
12
+ "MIM1.mg1switch_",
13
+ "mg1switch_",
14
+ "MIM1.mg1trip_shad_inv",
15
+ "mg1trip_shad_inv",
16
+ "MIM1.mg1regulator_",
17
+ "mg1regulator_",
18
+ "MIM1.mg1cap_",
19
+ "mg1cap_",
20
+
21
+ "MIM2.mg2load_",
22
+ "mg2load_",
23
+ "MIM2.mg2microgrid_switch",
24
+ "mg2microgrid_switch",
25
+ "MIM2.mg2switch_",
26
+ "mg2switch_",
27
+ "MIM2.mg2trip_shad_inv",
28
+ "mg2trip_shad_inv",
29
+ "MIM2.mg2regulator_",
30
+ "mg2regulator_",
31
+ "MIM2.mg2cap_",
32
+ "mg2cap_",
33
+
34
+ "MIM3.mg3load_",
35
+ "mg3load_",
36
+ "MIM3.mg3switch_",
37
+ "mg3switch_",
38
+ "MIM3.mg3microgrid_switch",
39
+ "mg3microgrid_switch",
40
+ "MIM3.mg3cap_",
41
+ "mg3cap_",
42
+ "MIM3.mg3regulator_",
43
+ "mg3regulator_",
44
+ "MIM3.mg3Gen",
45
+ "mg3Gen",
46
+
47
+ "MIM4.substationswitch_",
48
+ "substationswitch_",
49
+ "MIM4.substationmicrogrid_switch",
50
+ "substationmicrogrid_switch",
51
+ "MIM4.substationregulator_",
52
+ "substationregulator_",
53
+ "MIM4.substationload_",
54
+ "substationload_",
55
+ "MIM4.load_",
56
+ "load_",
57
+
58
+ "unmapped",
59
+ "unmappedtrip_shad_inv",
60
+ "unmappedGen"
61
+ ],
62
+ "coerce": {
63
+ "open": "OPEN",
64
+ "opened": "OPEN",
65
+ "close": "CLOSED",
66
+ "closed": "CLOSED",
67
+ "true": "OPEN",
68
+ "false": "CLOSED"
69
+ }
70
+ }
schemas/attack_plan.schema.json ADDED
@@ -0,0 +1,131 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "AttackPlan",
4
+ "type": "object",
5
+ "required": ["version", "plan"],
6
+ "additionalProperties": false,
7
+ "properties": {
8
+ "version": {
9
+ "type": "string",
10
+ "enum": ["1.1"]
11
+ },
12
+ "scenario_name": {
13
+ "type": "string"
14
+ },
15
+ "time": {
16
+ "type": "object",
17
+ "required": ["start_s", "end_s"],
18
+ "additionalProperties": false,
19
+ "properties": {
20
+ "start_s": { "type": "number", "minimum": 0 },
21
+ "end_s": { "type": "number", "minimum": 0 }
22
+ }
23
+ },
24
+ "mim": {
25
+ "type": "object",
26
+ "additionalProperties": false,
27
+ "properties": {
28
+ "active": { "type": "boolean", "default": true },
29
+ "selected": {
30
+ "type": "array",
31
+ "uniqueItems": true,
32
+ "items": { "type": "string", "enum": ["MIM1","MIM2","MIM3","MIM4"] }
33
+ }
34
+ }
35
+ },
36
+ "ddos": {
37
+ "type": "object",
38
+ "additionalProperties": false,
39
+ "properties": {
40
+ "active": { "type": "boolean" },
41
+ "number_of_bots": { "type": "integer", "minimum": 1 },
42
+ "threads_per_attacker":{ "type": "integer", "minimum": 1 },
43
+ "use_ping": { "type": "boolean" },
44
+ "start_s": { "type": "number", "minimum": 0 },
45
+ "end_s": { "type": "number", "minimum": 0 },
46
+ "time_on_s": { "type": "number", "minimum": 0 },
47
+ "time_off_s": { "type": "number", "minimum": 0 },
48
+ "packet_size": { "type": "integer", "minimum": 1 },
49
+ "rate": { "type": "string" },
50
+ "node_type": { "type": "string" },
51
+ "node_id": {
52
+ "type": "array",
53
+ "items": { "type": "integer", "minimum": 0 }
54
+ },
55
+ "endpoint": { "type": "string", "enum": ["MIM","GLD","Other"] }
56
+ }
57
+ },
58
+ "plan": {
59
+ "type": "array",
60
+ "minItems": 1,
61
+ "items": {
62
+ "type": "object",
63
+ "required": ["name", "op", "point", "attack_value", "window"],
64
+ "additionalProperties": false,
65
+ "properties": {
66
+ "name": {
67
+ "type": "string",
68
+ "description": "Optional MIM prefix. Either 'MIMx.device.point' or 'device.point'.",
69
+ "pattern": "^((MIM[1-4])\\.)?([^.]+)\\.([A-Za-z0-9_]+)$"
70
+ },
71
+ "scope": {
72
+ "type": "object",
73
+ "additionalProperties": false,
74
+ "properties": {
75
+ "mg": { "type": ["string","null"], "enum": ["mg1","mg2","mg3","substation","unmapped", null] },
76
+ "mim": { "type": ["string","null"], "enum": ["MIM1","MIM2","MIM3","MIM4", null] },
77
+ "apply": { "type": "string", "enum": ["both","glm_only"], "default": "both" }
78
+ }
79
+ },
80
+ "target_hint": {
81
+ "type": "object",
82
+ "additionalProperties": false,
83
+ "properties": {
84
+ "area": { "type": "string", "enum": ["mg1","mg2","mg3","substation"] },
85
+ "device": { "type": "string" }
86
+ }
87
+ },
88
+ "op": {
89
+ "type": "string",
90
+ "enum": ["set","scale","increase","decrease","open","close","trip"]
91
+ },
92
+ "point": {
93
+ "type": "string"
94
+ },
95
+ "attack_value": {
96
+ "type": ["number","string"]
97
+ },
98
+ "real_value": {
99
+ "type": ["number","string","null"],
100
+ "default": null
101
+ },
102
+ "phase": {
103
+ "type": ["string","null"],
104
+ "enum": ["A","B","C", null],
105
+ "default": null
106
+ },
107
+ "window": {
108
+ "type": "object",
109
+ "required": ["point_start_s", "point_stop_s"],
110
+ "additionalProperties": false,
111
+ "properties": {
112
+ "point_start_s": { "type": "number", "minimum": 0 },
113
+ "point_stop_s": { "type": "number", "minimum": 0 }
114
+ }
115
+ }
116
+ }
117
+ }
118
+ },
119
+ "compile_hints": {
120
+ "type": "object",
121
+ "additionalProperties": false,
122
+ "properties": {
123
+ "scenario_id": { "type": "string", "default": "a" }
124
+ }
125
+ },
126
+ "rationale_summary": {
127
+ "type": "array",
128
+ "items": { "type": "string" }
129
+ }
130
+ }
131
+ }