@surfinguard/core-engine 0.1.0 → 1.0.0

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 (114) hide show
  1. package/LICENSE +21 -0
  2. package/dist/analyzers/agent-comm.d.ts +22 -0
  3. package/dist/analyzers/agent-comm.d.ts.map +1 -0
  4. package/dist/analyzers/agent-comm.js +79 -0
  5. package/dist/analyzers/agent-comm.js.map +1 -0
  6. package/dist/analyzers/api-call.d.ts +21 -0
  7. package/dist/analyzers/api-call.d.ts.map +1 -0
  8. package/dist/analyzers/api-call.js +134 -0
  9. package/dist/analyzers/api-call.js.map +1 -0
  10. package/dist/analyzers/auth.d.ts +22 -0
  11. package/dist/analyzers/auth.d.ts.map +1 -0
  12. package/dist/analyzers/auth.js +97 -0
  13. package/dist/analyzers/auth.js.map +1 -0
  14. package/dist/analyzers/code.d.ts +32 -0
  15. package/dist/analyzers/code.d.ts.map +1 -0
  16. package/dist/analyzers/code.js +310 -0
  17. package/dist/analyzers/code.js.map +1 -0
  18. package/dist/analyzers/command.d.ts.map +1 -1
  19. package/dist/analyzers/command.js +91 -39
  20. package/dist/analyzers/command.js.map +1 -1
  21. package/dist/analyzers/data-pipeline.d.ts +23 -0
  22. package/dist/analyzers/data-pipeline.d.ts.map +1 -0
  23. package/dist/analyzers/data-pipeline.js +86 -0
  24. package/dist/analyzers/data-pipeline.js.map +1 -0
  25. package/dist/analyzers/document.d.ts +22 -0
  26. package/dist/analyzers/document.d.ts.map +1 -0
  27. package/dist/analyzers/document.js +77 -0
  28. package/dist/analyzers/document.js.map +1 -0
  29. package/dist/analyzers/file-read.d.ts.map +1 -1
  30. package/dist/analyzers/file-read.js +12 -3
  31. package/dist/analyzers/file-read.js.map +1 -1
  32. package/dist/analyzers/file-write.d.ts.map +1 -1
  33. package/dist/analyzers/file-write.js +12 -3
  34. package/dist/analyzers/file-write.js.map +1 -1
  35. package/dist/analyzers/git.d.ts +25 -0
  36. package/dist/analyzers/git.d.ts.map +1 -0
  37. package/dist/analyzers/git.js +126 -0
  38. package/dist/analyzers/git.js.map +1 -0
  39. package/dist/analyzers/index.d.ts +3 -0
  40. package/dist/analyzers/index.d.ts.map +1 -1
  41. package/dist/analyzers/index.js +3 -0
  42. package/dist/analyzers/index.js.map +1 -1
  43. package/dist/analyzers/infra.d.ts +30 -0
  44. package/dist/analyzers/infra.d.ts.map +1 -0
  45. package/dist/analyzers/infra.js +134 -0
  46. package/dist/analyzers/infra.js.map +1 -0
  47. package/dist/analyzers/iot.d.ts +22 -0
  48. package/dist/analyzers/iot.d.ts.map +1 -0
  49. package/dist/analyzers/iot.js +78 -0
  50. package/dist/analyzers/iot.js.map +1 -0
  51. package/dist/analyzers/message.d.ts +22 -0
  52. package/dist/analyzers/message.d.ts.map +1 -0
  53. package/dist/analyzers/message.js +106 -0
  54. package/dist/analyzers/message.js.map +1 -0
  55. package/dist/analyzers/query.d.ts +23 -0
  56. package/dist/analyzers/query.d.ts.map +1 -0
  57. package/dist/analyzers/query.js +183 -0
  58. package/dist/analyzers/query.js.map +1 -0
  59. package/dist/analyzers/text.d.ts.map +1 -1
  60. package/dist/analyzers/text.js +20 -3
  61. package/dist/analyzers/text.js.map +1 -1
  62. package/dist/analyzers/transaction.d.ts +23 -0
  63. package/dist/analyzers/transaction.d.ts.map +1 -0
  64. package/dist/analyzers/transaction.js +100 -0
  65. package/dist/analyzers/transaction.js.map +1 -0
  66. package/dist/analyzers/ui-action.d.ts +23 -0
  67. package/dist/analyzers/ui-action.d.ts.map +1 -0
  68. package/dist/analyzers/ui-action.js +92 -0
  69. package/dist/analyzers/ui-action.js.map +1 -0
  70. package/dist/analyzers/url.d.ts.map +1 -1
  71. package/dist/analyzers/url.js +6 -2
  72. package/dist/analyzers/url.js.map +1 -1
  73. package/dist/classifier.d.ts.map +1 -1
  74. package/dist/classifier.js +20 -1
  75. package/dist/classifier.js.map +1 -1
  76. package/dist/context.d.ts +6 -4
  77. package/dist/context.d.ts.map +1 -1
  78. package/dist/context.js +34 -5
  79. package/dist/context.js.map +1 -1
  80. package/dist/engine.d.ts +72 -3
  81. package/dist/engine.d.ts.map +1 -1
  82. package/dist/engine.js +313 -9
  83. package/dist/engine.js.map +1 -1
  84. package/dist/index.d.ts +18 -1
  85. package/dist/index.d.ts.map +1 -1
  86. package/dist/index.js +17 -1
  87. package/dist/index.js.map +1 -1
  88. package/dist/patterns.d.ts +15 -1
  89. package/dist/patterns.d.ts.map +1 -1
  90. package/dist/patterns.js +70 -53
  91. package/dist/patterns.js.map +1 -1
  92. package/dist/policy-engine.d.ts +44 -0
  93. package/dist/policy-engine.d.ts.map +1 -0
  94. package/dist/policy-engine.js +225 -0
  95. package/dist/policy-engine.js.map +1 -0
  96. package/dist/session-tracker.d.ts +50 -0
  97. package/dist/session-tracker.d.ts.map +1 -0
  98. package/dist/session-tracker.js +286 -0
  99. package/dist/session-tracker.js.map +1 -0
  100. package/package.json +15 -12
  101. package/patterns/agent-comm.json +97 -0
  102. package/patterns/api-call.json +175 -0
  103. package/patterns/auth.json +116 -0
  104. package/patterns/chains.json +171 -0
  105. package/patterns/code.json +204 -0
  106. package/patterns/data-pipeline.json +116 -0
  107. package/patterns/document.json +110 -0
  108. package/patterns/git.json +118 -0
  109. package/patterns/infra.json +207 -0
  110. package/patterns/iot.json +105 -0
  111. package/patterns/message.json +122 -0
  112. package/patterns/query.json +134 -0
  113. package/patterns/transaction.json +120 -0
  114. package/patterns/ui-action.json +137 -0
@@ -0,0 +1,110 @@
1
+ {
2
+ "version": "1.0.0",
3
+ "threats": [
4
+ {
5
+ "id": "DC01",
6
+ "name": "Contract/legal document modification",
7
+ "primitive": "MANIPULATION",
8
+ "severity": 9,
9
+ "description": "Agent modifies contracts, NDAs, license agreements, or other legal documents"
10
+ },
11
+ {
12
+ "id": "DC02",
13
+ "name": "Financial spreadsheet tampering",
14
+ "primitive": "MANIPULATION",
15
+ "severity": 9,
16
+ "description": "Agent alters formulas, budget values, revenue figures, or financial calculations"
17
+ },
18
+ {
19
+ "id": "DC03",
20
+ "name": "External file sharing",
21
+ "primitive": "EXFILTRATION",
22
+ "severity": 8,
23
+ "description": "Agent shares files externally, emails attachments to personal addresses, or uploads to public storage"
24
+ },
25
+ {
26
+ "id": "DC04",
27
+ "name": "Public content publication",
28
+ "primitive": "EXFILTRATION",
29
+ "severity": 9,
30
+ "description": "Agent publishes internal content publicly, posts to social media, or broadcasts confidential information"
31
+ }
32
+ ],
33
+ "contractModificationPatterns": [
34
+ "edit.*contract",
35
+ "modify.*agreement",
36
+ "change.*terms",
37
+ "alter.*clause",
38
+ "update.*legal.*doc",
39
+ "rewrite.*contract",
40
+ "amend.*nda",
41
+ "modify.*sla",
42
+ "edit.*license.*agreement",
43
+ "change.*warranty"
44
+ ],
45
+ "spreadsheetTamperingPatterns": [
46
+ "modify.*formula",
47
+ "change.*spreadsheet",
48
+ "edit.*financial",
49
+ "alter.*budget",
50
+ "change.*calculation",
51
+ "change.*financial",
52
+ "update.*revenue",
53
+ "change.*cell.*value",
54
+ "modify.*pivot",
55
+ "rewrite.*macro",
56
+ "edit.*vlookup",
57
+ "alter.*calculation"
58
+ ],
59
+ "externalSharingPatterns": [
60
+ "share.*external",
61
+ "send.*to.*outside",
62
+ "forward.*to.*personal",
63
+ "export.*to.*drive",
64
+ "upload.*public",
65
+ "share.*link.*anyone",
66
+ "email.*attachment.*external",
67
+ "email.*attachment.*personal",
68
+ "email.*outside",
69
+ "copy.*to.*usb",
70
+ "transfer.*outside.*org"
71
+ ],
72
+ "publicPublicationPatterns": [
73
+ "publish.*public",
74
+ "post.*blog",
75
+ "tweet.*confidential",
76
+ "upload.*social.*media",
77
+ "make.*public",
78
+ "publish.*website",
79
+ "release.*press",
80
+ "broadcast.*internal",
81
+ "share.*publicly"
82
+ ],
83
+ "sensitiveDocTypes": [
84
+ "contract",
85
+ "agreement",
86
+ "nda",
87
+ "financial",
88
+ "budget",
89
+ "salary",
90
+ "medical",
91
+ "legal",
92
+ "confidential",
93
+ "secret",
94
+ "classified",
95
+ "tax",
96
+ "invoice"
97
+ ],
98
+ "safePatterns": [
99
+ "read.*document",
100
+ "view.*file",
101
+ "open.*for.*review",
102
+ "preview",
103
+ "list.*documents",
104
+ "search.*files",
105
+ "check.*version",
106
+ "compare.*revisions",
107
+ "print.*preview",
108
+ "spell.?check"
109
+ ]
110
+ }
@@ -0,0 +1,118 @@
1
+ {
2
+ "version": "1.0.0",
3
+ "threats": [
4
+ {
5
+ "id": "V01",
6
+ "name": "Force push",
7
+ "primitive": "DESTRUCTION",
8
+ "severity": 8,
9
+ "description": "Agent attempts to force push, potentially overwriting remote history"
10
+ },
11
+ {
12
+ "id": "V02",
13
+ "name": "Unreviewed merge to main",
14
+ "primitive": "DESTRUCTION",
15
+ "severity": 7,
16
+ "description": "Agent attempts to merge or rebase into a protected branch without review"
17
+ },
18
+ {
19
+ "id": "V03",
20
+ "name": "CI/CD pipeline modification",
21
+ "primitive": "PERSISTENCE",
22
+ "severity": 8,
23
+ "description": "Agent attempts to modify CI/CD pipeline configuration files"
24
+ },
25
+ {
26
+ "id": "V04",
27
+ "name": "Unauthorized release",
28
+ "primitive": "MANIPULATION",
29
+ "severity": 7,
30
+ "description": "Agent attempts to create tags or publish packages without authorization"
31
+ },
32
+ {
33
+ "id": "V05",
34
+ "name": "Branch deletion",
35
+ "primitive": "DESTRUCTION",
36
+ "severity": 7,
37
+ "description": "Agent attempts to delete git branches"
38
+ },
39
+ {
40
+ "id": "V06",
41
+ "name": "Gitignore weakening",
42
+ "primitive": "EXFILTRATION",
43
+ "severity": 7,
44
+ "description": "Agent attempts to weaken or remove .gitignore rules, exposing sensitive files"
45
+ }
46
+ ],
47
+ "forcePushPatterns": [
48
+ "push.*--force",
49
+ "push.*-f\\b",
50
+ "--force-with-lease",
51
+ "force.*push"
52
+ ],
53
+ "mergePatterns": [
54
+ "git\\s+merge\\b",
55
+ "git\\s+rebase\\b",
56
+ "merge.*to\\s+(main|master|prod)",
57
+ "gh\\s+pr\\s+merge"
58
+ ],
59
+ "cicdPatterns": [
60
+ "\\.github/workflows",
61
+ "\\.github/actions",
62
+ "\\.gitlab-ci",
63
+ "Jenkinsfile",
64
+ "\\.circleci",
65
+ "azure-pipelines",
66
+ "bitbucket-pipelines",
67
+ "\\.travis\\.yml",
68
+ "pipeline.*inject",
69
+ "add.*step.*workflow"
70
+ ],
71
+ "releasePatterns": [
72
+ "git\\s+tag\\b",
73
+ "npm\\s+publish",
74
+ "cargo\\s+publish",
75
+ "gem\\s+push",
76
+ "twine\\s+upload",
77
+ "create.*release",
78
+ "gh\\s+release\\s+create",
79
+ "docker\\s+push"
80
+ ],
81
+ "branchDeletePatterns": [
82
+ "git\\s+branch\\s+-[dD]\\b",
83
+ "push.*--delete",
84
+ "git\\s+push\\s+\\S+\\s+:",
85
+ "delete.*branch"
86
+ ],
87
+ "gitignorePatterns": [
88
+ "\\.gitignore.*remov",
89
+ "\\.gitignore.*delet",
90
+ "git\\s+rm.*\\.gitignore",
91
+ "remove.*from.*gitignore"
92
+ ],
93
+ "protectedBranches": [
94
+ "main",
95
+ "master",
96
+ "prod",
97
+ "production",
98
+ "release",
99
+ "develop",
100
+ "staging"
101
+ ],
102
+ "safePatterns": [
103
+ "git\\s+status",
104
+ "git\\s+log",
105
+ "git\\s+diff",
106
+ "git\\s+show",
107
+ "git\\s+stash\\s+list",
108
+ "git\\s+branch$",
109
+ "git\\s+remote\\s+-v",
110
+ "git\\s+fetch",
111
+ "git\\s+clone",
112
+ "git\\s+pull\\b",
113
+ "git\\s+add\\b",
114
+ "git\\s+commit\\b",
115
+ "git\\s+checkout\\b",
116
+ "git\\s+switch\\b"
117
+ ]
118
+ }
@@ -0,0 +1,207 @@
1
+ {
2
+ "version": "1.0.0",
3
+ "threats": [
4
+ {
5
+ "id": "I01",
6
+ "name": "Docker escape",
7
+ "primitive": "ESCALATION",
8
+ "severity": 9,
9
+ "description": "Agent attempts container escape via privileged mode, host mounts, or nsenter"
10
+ },
11
+ {
12
+ "id": "I02",
13
+ "name": "IaC modification",
14
+ "primitive": "DESTRUCTION",
15
+ "severity": 8,
16
+ "description": "Agent applies or destroys infrastructure using Terraform, Kubernetes, or CloudFormation"
17
+ },
18
+ {
19
+ "id": "I03",
20
+ "name": "Firewall rule changes",
21
+ "primitive": "ESCALATION",
22
+ "severity": 8,
23
+ "description": "Agent modifies firewall rules or disables network security policies"
24
+ },
25
+ {
26
+ "id": "I04",
27
+ "name": "Certificate manipulation",
28
+ "primitive": "DESTRUCTION",
29
+ "severity": 8,
30
+ "description": "Agent deletes, replaces, or revokes TLS/SSL certificates"
31
+ },
32
+ {
33
+ "id": "I05",
34
+ "name": "DNS modification",
35
+ "primitive": "MANIPULATION",
36
+ "severity": 8,
37
+ "description": "Agent modifies DNS records to redirect traffic"
38
+ },
39
+ {
40
+ "id": "I06",
41
+ "name": "Secret store access",
42
+ "primitive": "EXFILTRATION",
43
+ "severity": 7,
44
+ "description": "Agent reads secrets from on-prem secret stores like Vault"
45
+ },
46
+ {
47
+ "id": "CL01",
48
+ "name": "Resource over-provisioning",
49
+ "primitive": "DESTRUCTION",
50
+ "severity": 8,
51
+ "description": "Agent provisions excessive compute resources (GPU instances, large fleets)"
52
+ },
53
+ {
54
+ "id": "CL02",
55
+ "name": "IAM role modification",
56
+ "primitive": "ESCALATION",
57
+ "severity": 9,
58
+ "description": "Agent modifies IAM roles or policies to escalate privileges"
59
+ },
60
+ {
61
+ "id": "CL03",
62
+ "name": "Security group opening",
63
+ "primitive": "ESCALATION",
64
+ "severity": 8,
65
+ "description": "Agent opens security groups to 0.0.0.0/0 or allows unrestricted ingress"
66
+ },
67
+ {
68
+ "id": "CL04",
69
+ "name": "Backup deletion",
70
+ "primitive": "DESTRUCTION",
71
+ "severity": 9,
72
+ "description": "Agent deletes snapshots, backups, or sets retention to zero"
73
+ },
74
+ {
75
+ "id": "CL05",
76
+ "name": "Production deployment",
77
+ "primitive": "DESTRUCTION",
78
+ "severity": 7,
79
+ "description": "Agent deploys to production environment without proper review"
80
+ },
81
+ {
82
+ "id": "CL06",
83
+ "name": "Cloud secret access",
84
+ "primitive": "EXFILTRATION",
85
+ "severity": 7,
86
+ "description": "Agent accesses cloud-specific secret management services"
87
+ }
88
+ ],
89
+ "containerEscapePatterns": [
90
+ "--privileged",
91
+ "mount.*host",
92
+ "nsenter",
93
+ "docker.*run.*-v\\s+/:/",
94
+ "--pid=host",
95
+ "chroot",
96
+ "docker\\.sock",
97
+ "hostPID",
98
+ "hostNetwork"
99
+ ],
100
+ "iacModificationPatterns": [
101
+ "terraform\\s+(apply|destroy)",
102
+ "pulumi\\s+(up|destroy)",
103
+ "kubectl\\s+(apply|delete)",
104
+ "cloudformation\\s+(create|update|delete)",
105
+ "cdk\\s+deploy",
106
+ "helm\\s+(install|upgrade|uninstall)",
107
+ "ansible-playbook"
108
+ ],
109
+ "firewallPatterns": [
110
+ "iptables\\s+-[ADIFR]",
111
+ "ufw\\s+(allow|disable)",
112
+ "firewall-cmd\\s+--add",
113
+ "open.*port",
114
+ "disable.*firewall",
115
+ "network.*policy.*delete"
116
+ ],
117
+ "certificatePatterns": [
118
+ "replace.*cert",
119
+ "delete.*cert",
120
+ "remove.*tls",
121
+ "certbot.*delete",
122
+ "revoke.*cert",
123
+ "import.*cert.*untrust"
124
+ ],
125
+ "dnsModificationPatterns": [
126
+ "route53.*change",
127
+ "dns.*record.*(create|update|delete)",
128
+ "modify.*hosts.*file",
129
+ "etc/hosts",
130
+ "cloudflare.*dns",
131
+ "gcloud.*dns.*record"
132
+ ],
133
+ "secretStorePatterns": [
134
+ "vault\\s+read",
135
+ "vault\\s+kv\\s+get",
136
+ "secrets.*manager.*get",
137
+ "ssm.*get-parameter",
138
+ "az\\s+keyvault\\s+secret"
139
+ ],
140
+ "resourceProvisioningPatterns": [
141
+ "run-instances",
142
+ "create.*instance",
143
+ "gcloud.*compute.*create",
144
+ "az\\s+vm\\s+create",
145
+ "gpu.*instance",
146
+ "large.*instance.*count",
147
+ "scale.*up"
148
+ ],
149
+ "iamPatterns": [
150
+ "attach.*role.*policy",
151
+ "add-user-to-group",
152
+ "create.*role.*admin",
153
+ "iam.*put.*policy",
154
+ "gcloud.*iam.*bind",
155
+ "az\\s+role.*assignment.*create",
156
+ "assume.*role"
157
+ ],
158
+ "securityGroupPatterns": [
159
+ "authorize.*security.*group.*ingress.*0\\.0\\.0\\.0",
160
+ "0\\.0\\.0\\.0/0.*port\\s*22",
161
+ "inbound.*rule.*0\\.0\\.0\\.0",
162
+ "allow.*all.*traffic",
163
+ "security.*group.*open"
164
+ ],
165
+ "backupDeletionPatterns": [
166
+ "delete.*snapshot",
167
+ "remove.*backup",
168
+ "purge.*backup",
169
+ "delete.*db.*snapshot",
170
+ "lifecycle.*delete",
171
+ "retention.*0"
172
+ ],
173
+ "productionDeployPatterns": [
174
+ "deploy.*prod",
175
+ "push.*production",
176
+ "kubectl.*apply.*production",
177
+ "release.*to.*live",
178
+ "promote.*prod"
179
+ ],
180
+ "cloudSecretPatterns": [
181
+ "get-secret-value",
182
+ "vault.*read.*secret",
183
+ "ssm.*get.*parameter.*secure",
184
+ "keyvault.*secret.*show",
185
+ "gcloud.*secrets.*access"
186
+ ],
187
+ "productionEnvironments": [
188
+ "prod",
189
+ "production",
190
+ "live",
191
+ "prd"
192
+ ],
193
+ "safePatterns": [
194
+ "describe",
195
+ "list",
196
+ "get.*status",
197
+ "show.*info",
198
+ "terraform\\s+plan",
199
+ "kubectl\\s+get",
200
+ "docker\\s+ps",
201
+ "docker\\s+images",
202
+ "docker\\s+inspect",
203
+ "vault\\s+status",
204
+ "--dry-run",
205
+ "preview"
206
+ ]
207
+ }
@@ -0,0 +1,105 @@
1
+ {
2
+ "version": "1.0.0",
3
+ "threats": [
4
+ {
5
+ "id": "IOT01",
6
+ "name": "Smart lock manipulation",
7
+ "primitive": "ESCALATION",
8
+ "severity": 9,
9
+ "description": "Agent unlocks doors, disables alarms, or bypasses physical security locks"
10
+ },
11
+ {
12
+ "id": "IOT02",
13
+ "name": "Industrial control modification",
14
+ "primitive": "DESTRUCTION",
15
+ "severity": 9,
16
+ "description": "Agent overrides safety valves, modifies PLC settings, or alters industrial control parameters"
17
+ },
18
+ {
19
+ "id": "IOT03",
20
+ "name": "Security camera disabling",
21
+ "primitive": "MANIPULATION",
22
+ "severity": 9,
23
+ "description": "Agent disables cameras, stops recording, loops footage, or blinds surveillance sensors"
24
+ },
25
+ {
26
+ "id": "IOT04",
27
+ "name": "Vehicle command injection",
28
+ "primitive": "DESTRUCTION",
29
+ "severity": 10,
30
+ "description": "Agent sends CAN bus commands, overrides steering/brakes, or injects OBD commands to vehicles"
31
+ }
32
+ ],
33
+ "smartLockPatterns": [
34
+ "unlock.*door",
35
+ "open.*lock",
36
+ "disable.*alarm",
37
+ "bypass.*security.*lock",
38
+ "grant.*access.*physical",
39
+ "override.*lock",
40
+ "change.*access.*code",
41
+ "deactivate.*deadbolt",
42
+ "arm.*disarm"
43
+ ],
44
+ "industrialControlPatterns": [
45
+ "set.*temperature.*extreme",
46
+ "override.*safety",
47
+ "change.*valve",
48
+ "modify.*pressure",
49
+ "alter.*speed.*motor",
50
+ "disable.*safety.*check",
51
+ "shutdown.*reactor",
52
+ "increase.*voltage",
53
+ "modify.*plc",
54
+ "scada.*write"
55
+ ],
56
+ "securityCameraPatterns": [
57
+ "disable.*camera",
58
+ "turn.*off.*monitoring",
59
+ "stop.*recording",
60
+ "blind.*sensor",
61
+ "loop.*footage",
62
+ "pause.*surveillance",
63
+ "deactivate.*motion.*detect",
64
+ "cover.*camera",
65
+ "delete.*recording"
66
+ ],
67
+ "vehicleCommandPatterns": [
68
+ "unlock.*vehicle",
69
+ "start.*engine.*remote",
70
+ "disable.*brakes",
71
+ "override.*steering",
72
+ "accelerate",
73
+ "send.*can.*bus",
74
+ "inject.*obd",
75
+ "modify.*ecu",
76
+ "remote.*start",
77
+ "vehicle.*command"
78
+ ],
79
+ "criticalDeviceTypes": [
80
+ "lock",
81
+ "alarm",
82
+ "hvac",
83
+ "valve",
84
+ "motor",
85
+ "reactor",
86
+ "camera",
87
+ "vehicle",
88
+ "brake",
89
+ "medical",
90
+ "infusion",
91
+ "pacemaker"
92
+ ],
93
+ "safePatterns": [
94
+ "read.*sensor",
95
+ "get.*temperature",
96
+ "check.*status",
97
+ "query.*device",
98
+ "list.*devices",
99
+ "monitor.*health",
100
+ "view.*feed",
101
+ "get.*battery",
102
+ "describe.*device",
103
+ "ping.*device"
104
+ ]
105
+ }
@@ -0,0 +1,122 @@
1
+ {
2
+ "version": "1.0.0",
3
+ "threats": [
4
+ {
5
+ "id": "M01",
6
+ "name": "Unauthorized email sending",
7
+ "primitive": "EXFILTRATION",
8
+ "severity": 8,
9
+ "description": "Agent attempts to send emails, potentially exfiltrating data via email services"
10
+ },
11
+ {
12
+ "id": "M02",
13
+ "name": "Slack/Teams message leakage",
14
+ "primitive": "EXFILTRATION",
15
+ "severity": 8,
16
+ "description": "Agent attempts to post messages to Slack or Teams channels, potentially leaking sensitive data"
17
+ },
18
+ {
19
+ "id": "M03",
20
+ "name": "SMS/notification abuse",
21
+ "primitive": "MANIPULATION",
22
+ "severity": 6,
23
+ "description": "Agent attempts to send SMS or push notifications to external recipients"
24
+ },
25
+ {
26
+ "id": "M04",
27
+ "name": "Social media posting",
28
+ "primitive": "MANIPULATION",
29
+ "severity": 7,
30
+ "description": "Agent attempts to post to social media platforms on behalf of the user"
31
+ },
32
+ {
33
+ "id": "M05",
34
+ "name": "GitHub issue/PR comments",
35
+ "primitive": "MANIPULATION",
36
+ "severity": 5,
37
+ "description": "Agent attempts to create or comment on GitHub issues or pull requests"
38
+ },
39
+ {
40
+ "id": "M06",
41
+ "name": "Impersonation via messaging",
42
+ "primitive": "MANIPULATION",
43
+ "severity": 9,
44
+ "description": "Agent attempts to send messages while impersonating another person or entity"
45
+ }
46
+ ],
47
+ "emailPatterns": [
48
+ "sendgrid",
49
+ "mailgun",
50
+ "ses\\.amazonaws",
51
+ "smtp",
52
+ "mailto:",
53
+ "send.*email",
54
+ "send.*mail",
55
+ "postmark",
56
+ "mandrill"
57
+ ],
58
+ "slackPatterns": [
59
+ "slack\\.com/api",
60
+ "hooks\\.slack\\.com",
61
+ "webhook\\.slack\\.com",
62
+ "chat\\.postmessage",
63
+ "channels\\.settopic",
64
+ "microsoft\\.com/teams",
65
+ "graph\\.microsoft\\.com.*chat"
66
+ ],
67
+ "smsPatterns": [
68
+ "twilio",
69
+ "vonage",
70
+ "nexmo",
71
+ "messagebird",
72
+ "send.*sms",
73
+ "send.*text.*message",
74
+ "plivo"
75
+ ],
76
+ "socialMediaPatterns": [
77
+ "api\\.twitter\\.com",
78
+ "api\\.x\\.com",
79
+ "graph\\.facebook\\.com",
80
+ "api\\.linkedin\\.com",
81
+ "api\\.instagram\\.com",
82
+ "post.*tweet",
83
+ "publish.*post",
84
+ "create.*post"
85
+ ],
86
+ "sensitiveContentPatterns": [
87
+ "password",
88
+ "secret",
89
+ "api_key",
90
+ "api.key",
91
+ "private_key",
92
+ "private.key",
93
+ "ssn",
94
+ "credit.card",
95
+ "confidential",
96
+ "bearer\\s+[a-z0-9]",
97
+ "aws_secret",
98
+ "token"
99
+ ],
100
+ "impersonationPatterns": [
101
+ "pretend.*to.*be",
102
+ "on.*behalf.*of",
103
+ "as.*if.*i",
104
+ "impersonat",
105
+ "send.*as\\b",
106
+ "pose.*as",
107
+ "act.*as.*admin",
108
+ "from:.*ceo",
109
+ "from:.*admin"
110
+ ],
111
+ "safePatterns": [
112
+ "notification",
113
+ "alert",
114
+ "status.update",
115
+ "log",
116
+ "debug",
117
+ "test",
118
+ "healthcheck",
119
+ "ping",
120
+ "monitor"
121
+ ]
122
+ }