genai-security-crosswalk 2.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 (55) hide show
  1. package/LICENSE.md +28 -0
  2. package/README.md +618 -0
  3. package/data/entries/ASI01.json +911 -0
  4. package/data/entries/ASI02.json +850 -0
  5. package/data/entries/ASI03.json +854 -0
  6. package/data/entries/ASI04.json +759 -0
  7. package/data/entries/ASI05.json +764 -0
  8. package/data/entries/ASI06.json +817 -0
  9. package/data/entries/ASI07.json +789 -0
  10. package/data/entries/ASI08.json +788 -0
  11. package/data/entries/ASI09.json +754 -0
  12. package/data/entries/ASI10.json +833 -0
  13. package/data/entries/DSGAI01.json +779 -0
  14. package/data/entries/DSGAI02.json +728 -0
  15. package/data/entries/DSGAI03.json +671 -0
  16. package/data/entries/DSGAI04.json +752 -0
  17. package/data/entries/DSGAI05.json +689 -0
  18. package/data/entries/DSGAI06.json +673 -0
  19. package/data/entries/DSGAI07.json +680 -0
  20. package/data/entries/DSGAI08.json +698 -0
  21. package/data/entries/DSGAI09.json +687 -0
  22. package/data/entries/DSGAI10.json +627 -0
  23. package/data/entries/DSGAI11.json +663 -0
  24. package/data/entries/DSGAI12.json +695 -0
  25. package/data/entries/DSGAI13.json +688 -0
  26. package/data/entries/DSGAI14.json +703 -0
  27. package/data/entries/DSGAI15.json +655 -0
  28. package/data/entries/DSGAI16.json +716 -0
  29. package/data/entries/DSGAI17.json +690 -0
  30. package/data/entries/DSGAI18.json +613 -0
  31. package/data/entries/DSGAI19.json +638 -0
  32. package/data/entries/DSGAI20.json +671 -0
  33. package/data/entries/DSGAI21.json +881 -0
  34. package/data/entries/LLM01.json +975 -0
  35. package/data/entries/LLM02.json +868 -0
  36. package/data/entries/LLM03.json +817 -0
  37. package/data/entries/LLM04.json +797 -0
  38. package/data/entries/LLM05.json +761 -0
  39. package/data/entries/LLM06.json +848 -0
  40. package/data/entries/LLM07.json +749 -0
  41. package/data/entries/LLM08.json +750 -0
  42. package/data/entries/LLM09.json +760 -0
  43. package/data/entries/LLM10.json +763 -0
  44. package/data/incidents-schema.json +121 -0
  45. package/data/incidents.json +1484 -0
  46. package/data/schema.json +134 -0
  47. package/dist/index.d.ts +97 -0
  48. package/dist/index.d.ts.map +1 -0
  49. package/dist/index.js +124 -0
  50. package/dist/index.js.map +1 -0
  51. package/dist/index.test.d.ts +2 -0
  52. package/dist/index.test.d.ts.map +1 -0
  53. package/dist/index.test.js +97 -0
  54. package/dist/index.test.js.map +1 -0
  55. package/package.json +62 -0
@@ -0,0 +1,121 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "https://github.com/emmanuelgjr/GenAI-Security-Crosswalk/blob/main/data/incidents-schema.json",
4
+ "title": "GenAI Security Crosswalk — Incident Database Schema",
5
+ "description": "Schema for real-world AI security incidents, mapped to OWASP entries and MAESTRO layers",
6
+ "type": "object",
7
+ "required": ["version", "generated", "incidents"],
8
+ "properties": {
9
+ "version": { "type": "string" },
10
+ "generated": { "type": "string", "format": "date" },
11
+ "incidents": {
12
+ "type": "array",
13
+ "items": { "$ref": "#/definitions/Incident" }
14
+ }
15
+ },
16
+ "definitions": {
17
+ "Incident": {
18
+ "type": "object",
19
+ "required": ["id", "title", "date", "description", "owasp_entries", "maestro_layers", "attack_vector", "impact", "severity"],
20
+ "additionalProperties": false,
21
+ "properties": {
22
+ "id": {
23
+ "type": "string",
24
+ "pattern": "^INC-\\d{3}$",
25
+ "description": "Unique incident identifier"
26
+ },
27
+ "title": {
28
+ "type": "string",
29
+ "description": "Short descriptive title"
30
+ },
31
+ "date": {
32
+ "type": "string",
33
+ "pattern": "^\\d{4}(-\\d{2})?$",
34
+ "description": "YYYY or YYYY-MM of incident discovery/disclosure"
35
+ },
36
+ "year": {
37
+ "type": "integer",
38
+ "description": "Year for easy filtering"
39
+ },
40
+ "category": {
41
+ "type": "string",
42
+ "enum": ["real-world", "research-demonstrated", "red-team"],
43
+ "description": "Whether this is a confirmed real-world incident, researcher-demonstrated attack, or red-team finding"
44
+ },
45
+ "description": {
46
+ "type": "string",
47
+ "description": "What happened, how it was discovered, and what the outcome was"
48
+ },
49
+ "owasp_entries": {
50
+ "type": "array",
51
+ "items": { "type": "string", "pattern": "^(LLM|ASI|DSGAI)\\d{2}$" },
52
+ "minItems": 1,
53
+ "description": "OWASP entry IDs this incident exemplifies"
54
+ },
55
+ "maestro_layers": {
56
+ "type": "array",
57
+ "items": {
58
+ "type": "object",
59
+ "required": ["layer", "role"],
60
+ "properties": {
61
+ "layer": {
62
+ "type": "string",
63
+ "enum": ["L1", "L2", "L3", "L4", "L5", "L6", "L7"],
64
+ "description": "MAESTRO layer ID"
65
+ },
66
+ "label": {
67
+ "type": "string",
68
+ "description": "MAESTRO layer human name"
69
+ },
70
+ "role": {
71
+ "type": "string",
72
+ "enum": ["origin", "propagation", "impact", "blind-spot"],
73
+ "description": "How this layer is involved: origin=where attack starts, propagation=how it spreads, impact=where harm manifests, blind-spot=where detection failed"
74
+ },
75
+ "notes": {
76
+ "type": "string"
77
+ }
78
+ }
79
+ }
80
+ },
81
+ "attack_vector": {
82
+ "type": "string",
83
+ "description": "Technical mechanism of the attack"
84
+ },
85
+ "affected": {
86
+ "type": "string",
87
+ "description": "System, organisation, or product affected"
88
+ },
89
+ "impact": {
90
+ "type": "string",
91
+ "description": "Actual or potential harm caused"
92
+ },
93
+ "severity": {
94
+ "type": "string",
95
+ "enum": ["Critical", "High", "Medium", "Low"]
96
+ },
97
+ "mitigations": {
98
+ "type": "array",
99
+ "items": { "type": "string" },
100
+ "description": "Controls that would prevent or contain this incident"
101
+ },
102
+ "references": {
103
+ "type": "array",
104
+ "items": {
105
+ "type": "object",
106
+ "required": ["title", "url"],
107
+ "properties": {
108
+ "title": { "type": "string" },
109
+ "url": { "type": "string", "format": "uri" },
110
+ "type": { "type": "string", "enum": ["news", "research", "advisory", "disclosure", "legal"] }
111
+ }
112
+ }
113
+ },
114
+ "tags": {
115
+ "type": "array",
116
+ "items": { "type": "string" }
117
+ }
118
+ }
119
+ }
120
+ }
121
+ }