@highflame/policy 2.0.7 → 2.0.8

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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "service": "overwatch",
3
- "version": "1.0.0",
3
+ "version": "2.0.0",
4
4
  "description": "Overwatch (Guardian) IDE security & policy enforcement",
5
5
  "actions": [
6
6
  {
@@ -96,6 +96,66 @@
96
96
  "type": "string",
97
97
  "required": false,
98
98
  "description": "Response content from AI (if available)"
99
+ },
100
+ {
101
+ "key": "violence_score",
102
+ "type": "number",
103
+ "required": false,
104
+ "description": "Violence content detection score (0-100)"
105
+ },
106
+ {
107
+ "key": "weapons_score",
108
+ "type": "number",
109
+ "required": false,
110
+ "description": "Weapons content detection score (0-100)"
111
+ },
112
+ {
113
+ "key": "hate_speech_score",
114
+ "type": "number",
115
+ "required": false,
116
+ "description": "Hate speech detection score (0-100)"
117
+ },
118
+ {
119
+ "key": "crime_score",
120
+ "type": "number",
121
+ "required": false,
122
+ "description": "Criminal content detection score (0-100)"
123
+ },
124
+ {
125
+ "key": "sexual_score",
126
+ "type": "number",
127
+ "required": false,
128
+ "description": "Sexual content detection score (0-100)"
129
+ },
130
+ {
131
+ "key": "profanity_score",
132
+ "type": "number",
133
+ "required": false,
134
+ "description": "Profanity detection score (0-100)"
135
+ },
136
+ {
137
+ "key": "pii_confidence",
138
+ "type": "number",
139
+ "required": false,
140
+ "description": "PII detection classifier confidence (0-100)"
141
+ },
142
+ {
143
+ "key": "injection_confidence",
144
+ "type": "number",
145
+ "required": false,
146
+ "description": "Prompt injection classifier confidence (0-100)"
147
+ },
148
+ {
149
+ "key": "jailbreak_confidence",
150
+ "type": "number",
151
+ "required": false,
152
+ "description": "Jailbreak detection classifier confidence (0-100)"
153
+ },
154
+ {
155
+ "key": "indirect_injection_score",
156
+ "type": "number",
157
+ "required": false,
158
+ "description": "Indirect prompt injection risk score (0-100)"
99
159
  }
100
160
  ]
101
161
  },
@@ -210,6 +270,84 @@
210
270
  "type": "string",
211
271
  "required": false,
212
272
  "description": "Response content (if available)"
273
+ },
274
+ {
275
+ "key": "violence_score",
276
+ "type": "number",
277
+ "required": false,
278
+ "description": "Violence content detection score (0-100)"
279
+ },
280
+ {
281
+ "key": "weapons_score",
282
+ "type": "number",
283
+ "required": false,
284
+ "description": "Weapons content detection score (0-100)"
285
+ },
286
+ {
287
+ "key": "hate_speech_score",
288
+ "type": "number",
289
+ "required": false,
290
+ "description": "Hate speech detection score (0-100)"
291
+ },
292
+ {
293
+ "key": "crime_score",
294
+ "type": "number",
295
+ "required": false,
296
+ "description": "Criminal content detection score (0-100)"
297
+ },
298
+ {
299
+ "key": "sexual_score",
300
+ "type": "number",
301
+ "required": false,
302
+ "description": "Sexual content detection score (0-100)"
303
+ },
304
+ {
305
+ "key": "profanity_score",
306
+ "type": "number",
307
+ "required": false,
308
+ "description": "Profanity detection score (0-100)"
309
+ },
310
+ {
311
+ "key": "pii_confidence",
312
+ "type": "number",
313
+ "required": false,
314
+ "description": "PII detection classifier confidence (0-100)"
315
+ },
316
+ {
317
+ "key": "injection_confidence",
318
+ "type": "number",
319
+ "required": false,
320
+ "description": "Prompt injection classifier confidence (0-100)"
321
+ },
322
+ {
323
+ "key": "jailbreak_confidence",
324
+ "type": "number",
325
+ "required": false,
326
+ "description": "Jailbreak detection classifier confidence (0-100)"
327
+ },
328
+ {
329
+ "key": "tool_poisoning_score",
330
+ "type": "number",
331
+ "required": false,
332
+ "description": "Tool description manipulation risk score (0-100)"
333
+ },
334
+ {
335
+ "key": "rug_pull_score",
336
+ "type": "number",
337
+ "required": false,
338
+ "description": "Tool behavior mismatch risk score (0-100)"
339
+ },
340
+ {
341
+ "key": "indirect_injection_score",
342
+ "type": "number",
343
+ "required": false,
344
+ "description": "Indirect prompt injection risk score (0-100)"
345
+ },
346
+ {
347
+ "key": "mcp_server_verified",
348
+ "type": "boolean",
349
+ "required": false,
350
+ "description": "Whether MCP server is from a verified registry"
213
351
  }
214
352
  ]
215
353
  },
@@ -270,6 +408,30 @@
270
408
  "type": "number",
271
409
  "required": true,
272
410
  "description": "Numeric severity (0-4)"
411
+ },
412
+ {
413
+ "key": "tool_poisoning_score",
414
+ "type": "number",
415
+ "required": false,
416
+ "description": "Tool description manipulation risk score (0-100)"
417
+ },
418
+ {
419
+ "key": "rug_pull_score",
420
+ "type": "number",
421
+ "required": false,
422
+ "description": "Tool behavior mismatch risk score (0-100)"
423
+ },
424
+ {
425
+ "key": "indirect_injection_score",
426
+ "type": "number",
427
+ "required": false,
428
+ "description": "Indirect prompt injection risk score (0-100)"
429
+ },
430
+ {
431
+ "key": "mcp_server_verified",
432
+ "type": "boolean",
433
+ "required": false,
434
+ "description": "Whether MCP server is from a verified registry"
273
435
  }
274
436
  ]
275
437
  },
@@ -96,6 +96,22 @@ action process_prompt appliesTo {
96
96
  contains_secrets: Bool, // Whether secrets detected
97
97
  prompt_text: String, // Same as content (legacy)
98
98
  response_content: String, // Response content (if available)
99
+
100
+ // Trust/Safety Scores (0-100, from Javelin/Lakera/LlamaGuard classifiers)
101
+ violence_score: Long, // Violence content detection score
102
+ weapons_score: Long, // Weapons content detection score
103
+ hate_speech_score: Long, // Hate speech detection score
104
+ crime_score: Long, // Criminal content detection score
105
+ sexual_score: Long, // Sexual content detection score
106
+ profanity_score: Long, // Profanity detection score
107
+
108
+ // Detector Confidence Scores (0-100, ML classifier confidence)
109
+ pii_confidence: Long, // PII detection confidence
110
+ injection_confidence: Long, // Prompt injection confidence
111
+ jailbreak_confidence: Long, // Jailbreak detection confidence
112
+
113
+ // Agent Security (0-100)
114
+ indirect_injection_score: Long, // Indirect prompt injection risk
99
115
  },
100
116
  };
101
117
 
@@ -130,6 +146,27 @@ action call_tool appliesTo {
130
146
  max_threat_severity: Long,
131
147
  contains_secrets: Bool,
132
148
  response_content: String,
149
+
150
+ // Trust/Safety Scores (0-100, from Javelin/Lakera/LlamaGuard classifiers)
151
+ violence_score: Long, // Violence content detection score
152
+ weapons_score: Long, // Weapons content detection score
153
+ hate_speech_score: Long, // Hate speech detection score
154
+ crime_score: Long, // Criminal content detection score
155
+ sexual_score: Long, // Sexual content detection score
156
+ profanity_score: Long, // Profanity detection score
157
+
158
+ // Detector Confidence Scores (0-100, ML classifier confidence)
159
+ pii_confidence: Long, // PII detection confidence
160
+ injection_confidence: Long, // Prompt injection confidence
161
+ jailbreak_confidence: Long, // Jailbreak detection confidence
162
+
163
+ // Agent Security (0-100)
164
+ tool_poisoning_score: Long, // Tool description manipulation risk
165
+ rug_pull_score: Long, // Tool behavior mismatch risk
166
+ indirect_injection_score: Long, // Indirect prompt injection risk
167
+
168
+ // MCP Trust
169
+ mcp_server_verified: Bool, // Whether server is from verified registry
133
170
  },
134
171
  };
135
172
 
@@ -147,6 +184,14 @@ action connect_server appliesTo {
147
184
  highest_severity: String,
148
185
  threat_categories: Set<String>,
149
186
  max_threat_severity: Long,
187
+
188
+ // Agent Security (0-100)
189
+ tool_poisoning_score: Long, // Tool description manipulation risk
190
+ rug_pull_score: Long, // Tool behavior mismatch risk
191
+ indirect_injection_score: Long, // Indirect prompt injection risk
192
+
193
+ // MCP Trust
194
+ mcp_server_verified: Bool, // Whether server is from verified registry
150
195
  },
151
196
  };
152
197
 
@@ -7,21 +7,34 @@
7
7
  export declare const OverwatchContextKey: {
8
8
  readonly ContainsSecrets: "contains_secrets";
9
9
  readonly Content: "content";
10
+ readonly CrimeScore: "crime_score";
10
11
  readonly Cwd: "cwd";
11
12
  readonly Event: "event";
13
+ readonly HateSpeechScore: "hate_speech_score";
12
14
  readonly HighestSeverity: "highest_severity";
15
+ readonly IndirectInjectionScore: "indirect_injection_score";
16
+ readonly InjectionConfidence: "injection_confidence";
17
+ readonly JailbreakConfidence: "jailbreak_confidence";
13
18
  readonly MaxThreatSeverity: "max_threat_severity";
14
19
  readonly McpServer: "mcp_server";
20
+ readonly McpServerVerified: "mcp_server_verified";
15
21
  readonly McpTool: "mcp_tool";
16
22
  readonly Path: "path";
23
+ readonly PiiConfidence: "pii_confidence";
24
+ readonly ProfanityScore: "profanity_score";
17
25
  readonly PromptText: "prompt_text";
18
26
  readonly ResponseContent: "response_content";
27
+ readonly RugPullScore: "rug_pull_score";
28
+ readonly SexualScore: "sexual_score";
19
29
  readonly Source: "source";
20
30
  readonly ThreatCategories: "threat_categories";
21
31
  readonly ThreatCount: "threat_count";
22
32
  readonly ThreatTypes: "threat_types";
23
33
  readonly ToolName: "tool_name";
34
+ readonly ToolPoisoningScore: "tool_poisoning_score";
24
35
  readonly UserEmail: "user_email";
36
+ readonly ViolenceScore: "violence_score";
37
+ readonly WeaponsScore: "weapons_score";
25
38
  readonly WorkspaceRoot: "workspace_root";
26
39
  readonly YaraThreats: "yara_threats";
27
40
  };
@@ -1 +1 @@
1
- {"version":3,"file":"overwatch-context.gen.d.ts","sourceRoot":"","sources":["../src/overwatch-context.gen.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;CAoBtB,CAAC;AAEX,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,OAAO,mBAAmB,CAAC,CAAC"}
1
+ {"version":3,"file":"overwatch-context.gen.d.ts","sourceRoot":"","sources":["../src/overwatch-context.gen.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiCtB,CAAC;AAEX,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,OAAO,mBAAmB,CAAC,CAAC"}
@@ -9,21 +9,34 @@
9
9
  export const OverwatchContextKey = {
10
10
  ContainsSecrets: 'contains_secrets',
11
11
  Content: 'content',
12
+ CrimeScore: 'crime_score',
12
13
  Cwd: 'cwd',
13
14
  Event: 'event',
15
+ HateSpeechScore: 'hate_speech_score',
14
16
  HighestSeverity: 'highest_severity',
17
+ IndirectInjectionScore: 'indirect_injection_score',
18
+ InjectionConfidence: 'injection_confidence',
19
+ JailbreakConfidence: 'jailbreak_confidence',
15
20
  MaxThreatSeverity: 'max_threat_severity',
16
21
  McpServer: 'mcp_server',
22
+ McpServerVerified: 'mcp_server_verified',
17
23
  McpTool: 'mcp_tool',
18
24
  Path: 'path',
25
+ PiiConfidence: 'pii_confidence',
26
+ ProfanityScore: 'profanity_score',
19
27
  PromptText: 'prompt_text',
20
28
  ResponseContent: 'response_content',
29
+ RugPullScore: 'rug_pull_score',
30
+ SexualScore: 'sexual_score',
21
31
  Source: 'source',
22
32
  ThreatCategories: 'threat_categories',
23
33
  ThreatCount: 'threat_count',
24
34
  ThreatTypes: 'threat_types',
25
35
  ToolName: 'tool_name',
36
+ ToolPoisoningScore: 'tool_poisoning_score',
26
37
  UserEmail: 'user_email',
38
+ ViolenceScore: 'violence_score',
39
+ WeaponsScore: 'weapons_score',
27
40
  WorkspaceRoot: 'workspace_root',
28
41
  YaraThreats: 'yara_threats',
29
42
  };
@@ -1 +1 @@
1
- {"version":3,"file":"overwatch-context.gen.js","sourceRoot":"","sources":["../src/overwatch-context.gen.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,yCAAyC;AAEzC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,eAAe,EAAE,kBAAkB;IACnC,OAAO,EAAE,SAAS;IAClB,GAAG,EAAE,KAAK;IACV,KAAK,EAAE,OAAO;IACd,eAAe,EAAE,kBAAkB;IACnC,iBAAiB,EAAE,qBAAqB;IACxC,SAAS,EAAE,YAAY;IACvB,OAAO,EAAE,UAAU;IACnB,IAAI,EAAE,MAAM;IACZ,UAAU,EAAE,aAAa;IACzB,eAAe,EAAE,kBAAkB;IACnC,MAAM,EAAE,QAAQ;IAChB,gBAAgB,EAAE,mBAAmB;IACrC,WAAW,EAAE,cAAc;IAC3B,WAAW,EAAE,cAAc;IAC3B,QAAQ,EAAE,WAAW;IACrB,SAAS,EAAE,YAAY;IACvB,aAAa,EAAE,gBAAgB;IAC/B,WAAW,EAAE,cAAc;CACnB,CAAC"}
1
+ {"version":3,"file":"overwatch-context.gen.js","sourceRoot":"","sources":["../src/overwatch-context.gen.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,yCAAyC;AAEzC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,eAAe,EAAE,kBAAkB;IACnC,OAAO,EAAE,SAAS;IAClB,UAAU,EAAE,aAAa;IACzB,GAAG,EAAE,KAAK;IACV,KAAK,EAAE,OAAO;IACd,eAAe,EAAE,mBAAmB;IACpC,eAAe,EAAE,kBAAkB;IACnC,sBAAsB,EAAE,0BAA0B;IAClD,mBAAmB,EAAE,sBAAsB;IAC3C,mBAAmB,EAAE,sBAAsB;IAC3C,iBAAiB,EAAE,qBAAqB;IACxC,SAAS,EAAE,YAAY;IACvB,iBAAiB,EAAE,qBAAqB;IACxC,OAAO,EAAE,UAAU;IACnB,IAAI,EAAE,MAAM;IACZ,aAAa,EAAE,gBAAgB;IAC/B,cAAc,EAAE,iBAAiB;IACjC,UAAU,EAAE,aAAa;IACzB,eAAe,EAAE,kBAAkB;IACnC,YAAY,EAAE,gBAAgB;IAC9B,WAAW,EAAE,cAAc;IAC3B,MAAM,EAAE,QAAQ;IAChB,gBAAgB,EAAE,mBAAmB;IACrC,WAAW,EAAE,cAAc;IAC3B,WAAW,EAAE,cAAc;IAC3B,QAAQ,EAAE,WAAW;IACrB,kBAAkB,EAAE,sBAAsB;IAC1C,SAAS,EAAE,YAAY;IACvB,aAAa,EAAE,gBAAgB;IAC/B,YAAY,EAAE,eAAe;IAC7B,aAAa,EAAE,gBAAgB;IAC/B,WAAW,EAAE,cAAc;CACnB,CAAC"}
@@ -2,7 +2,7 @@
2
2
  * Overwatch policy category identifiers.
3
3
  * Maps to UI tab names in Studio.
4
4
  */
5
- export type OverwatchCategory = 'secrets' | 'pii' | 'semantic' | 'tools' | 'organization';
5
+ export type OverwatchCategory = 'secrets' | 'pii' | 'semantic' | 'tools' | 'organization' | 'trust_safety' | 'agent_security';
6
6
  /**
7
7
  * Category metadata for UI display.
8
8
  */
@@ -1 +1 @@
1
- {"version":3,"file":"overwatch-defaults.gen.d.ts","sourceRoot":"","sources":["../src/overwatch-defaults.gen.ts"],"names":[],"mappings":"AAOA;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,KAAK,GAAG,UAAU,GAAG,OAAO,GAAG,cAAc,CAAC;AAE1F;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,iBAAiB,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,0BAA0B;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,iCAAiC;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,sBAAsB;IACtB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,0CAA0C;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,qBAAqB;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,yBAAyB;IACzB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,2DAA2D;IAC3D,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,0BAA0B;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,iCAAiC;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,sBAAsB;IACtB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,wBAAwB;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,qBAAqB;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,yBAAyB;IACzB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAmlBD,eAAO,MAAM,oBAAoB,EAAE,qBAAqB,EAMvD,CAAC;AAMF,eAAO,MAAM,kBAAkB,EAAE,sBAAsB,EAyCtD,CAAC;AAMF,eAAO,MAAM,mBAAmB,EAAE,iBAAiB,EA8ClD,CAAC;AAMF,6DAA6D;AAC7D,eAAO,MAAM,wBAAwB,EAAE,MAyHtC,CAAC;AAMF,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,iBAAiB,GAAG,sBAAsB,EAAE,CAEpG;AAED,wBAAgB,+BAA+B,CAAC,QAAQ,EAAE,iBAAiB,GAAG,iBAAiB,EAAE,CAEhG;AAED,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAElF"}
1
+ {"version":3,"file":"overwatch-defaults.gen.d.ts","sourceRoot":"","sources":["../src/overwatch-defaults.gen.ts"],"names":[],"mappings":"AAOA;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,KAAK,GAAG,UAAU,GAAG,OAAO,GAAG,cAAc,GAAG,cAAc,GAAG,gBAAgB,CAAC;AAE9H;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,iBAAiB,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,0BAA0B;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,iCAAiC;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,sBAAsB;IACtB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,0CAA0C;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,qBAAqB;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,yBAAyB;IACzB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,2DAA2D;IAC3D,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,0BAA0B;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,iCAAiC;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,sBAAsB;IACtB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,wBAAwB;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,qBAAqB;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,yBAAyB;IACzB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAu2BD,eAAO,MAAM,oBAAoB,EAAE,qBAAqB,EAQvD,CAAC;AAMF,eAAO,MAAM,kBAAkB,EAAE,sBAAsB,EAuEtD,CAAC;AAMF,eAAO,MAAM,mBAAmB,EAAE,iBAAiB,EA8ClD,CAAC;AAMF,6DAA6D;AAC7D,eAAO,MAAM,wBAAwB,EAAE,MAiKtC,CAAC;AAMF,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,iBAAiB,GAAG,sBAAsB,EAAE,CAEpG;AAED,wBAAgB,+BAA+B,CAAC,QAAQ,EAAE,iBAAiB,GAAG,iBAAiB,EAAE,CAEhG;AAED,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAElF"}