@x12i/memorix-retrieval 1.30.0 → 1.32.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 (95) hide show
  1. package/catalox-seeds/inputs/entity-descriptors/assets.json +414 -21
  2. package/catalox-seeds/inputs/entity-descriptors/subnets.json +267 -9
  3. package/catalox-seeds/inputs/entity-descriptors/topology-zones.json +85 -0
  4. package/catalox-seeds/inputs/entity-descriptors/vulnerabilities-groups.json +264 -3
  5. package/catalox-seeds/inputs/entity-descriptors/vulnerabilities.json +410 -11
  6. package/catalox-seeds/inputs/item-descriptors/asset-detail-item.json +63 -15
  7. package/catalox-seeds/inputs/item-descriptors/subnet-detail-item.json +51 -17
  8. package/catalox-seeds/inputs/item-descriptors/vulnerabilities-group-detail-item.json +97 -0
  9. package/catalox-seeds/inputs/item-descriptors/vulnerability-detail-item.json +44 -39
  10. package/catalox-seeds/inputs/item-descriptors/vulnerability-observation-detail-item.json +42 -0
  11. package/catalox-seeds/inputs/list-descriptors/assets-exploitability-decisions-list.json +33 -0
  12. package/catalox-seeds/inputs/list-descriptors/assets-main-list.json +56 -4
  13. package/catalox-seeds/inputs/list-descriptors/assets-potential-impact-decisions-list.json +31 -0
  14. package/catalox-seeds/inputs/list-descriptors/subnets-main-list.json +107 -3
  15. package/catalox-seeds/inputs/list-descriptors/vulnerabilities-exploitability-analysis-list.json +29 -0
  16. package/catalox-seeds/inputs/list-descriptors/vulnerabilities-groups-main-list.json +98 -0
  17. package/catalox-seeds/inputs/list-descriptors/vulnerabilities-main-list.json +9 -1
  18. package/catalox-seeds/inputs/list-descriptors/vulnerabilities-observations-list.json +43 -0
  19. package/catalox-seeds/inputs/list-descriptors/vulnerabilities-triage-analysis-list.json +30 -0
  20. package/catalox-seeds/inputs/list-descriptors/vulnerable-assets-list.json +102 -0
  21. package/catalox-seeds/memorix-retrieval-descriptors.manifest.json +2803 -331
  22. package/dist/analysis/analyze-vulnerability-coverage.d.ts +101 -0
  23. package/dist/analysis/analyze-vulnerability-coverage.d.ts.map +1 -0
  24. package/dist/analysis/analyze-vulnerability-coverage.js +150 -0
  25. package/dist/analysis/analyze-vulnerability-coverage.js.map +1 -0
  26. package/dist/analysis/count-assets-with-vulnerabilities.d.ts +89 -0
  27. package/dist/analysis/count-assets-with-vulnerabilities.d.ts.map +1 -0
  28. package/dist/analysis/count-assets-with-vulnerabilities.js +143 -0
  29. package/dist/analysis/count-assets-with-vulnerabilities.js.map +1 -0
  30. package/dist/analysis/derive-subnet-ip.d.ts +18 -0
  31. package/dist/analysis/derive-subnet-ip.d.ts.map +1 -0
  32. package/dist/analysis/derive-subnet-ip.js +32 -0
  33. package/dist/analysis/derive-subnet-ip.js.map +1 -0
  34. package/dist/descriptors/content-type-labels.d.ts.map +1 -1
  35. package/dist/descriptors/content-type-labels.js +4 -5
  36. package/dist/descriptors/content-type-labels.js.map +1 -1
  37. package/dist/descriptors/descriptor-types.d.ts +86 -0
  38. package/dist/descriptors/descriptor-types.d.ts.map +1 -1
  39. package/dist/descriptors/validate-descriptor.d.ts +1 -0
  40. package/dist/descriptors/validate-descriptor.d.ts.map +1 -1
  41. package/dist/descriptors/validate-descriptor.js +27 -0
  42. package/dist/descriptors/validate-descriptor.js.map +1 -1
  43. package/dist/explorer/collection-records.d.ts.map +1 -1
  44. package/dist/explorer/collection-records.js +22 -2
  45. package/dist/explorer/collection-records.js.map +1 -1
  46. package/dist/explorer/raw-collection-records.d.ts +2 -0
  47. package/dist/explorer/raw-collection-records.d.ts.map +1 -1
  48. package/dist/explorer/raw-collection-records.js +1 -1
  49. package/dist/explorer/raw-collection-records.js.map +1 -1
  50. package/dist/index.d.ts +3 -2
  51. package/dist/index.d.ts.map +1 -1
  52. package/dist/index.js +2 -1
  53. package/dist/index.js.map +1 -1
  54. package/dist/mongo/env.d.ts +18 -0
  55. package/dist/mongo/env.d.ts.map +1 -1
  56. package/dist/mongo/env.js +82 -1
  57. package/dist/mongo/env.js.map +1 -1
  58. package/dist/retrieval/fetch-list.d.ts.map +1 -1
  59. package/dist/retrieval/fetch-list.js +3 -1
  60. package/dist/retrieval/fetch-list.js.map +1 -1
  61. package/dist/retrieval/fetch-narratives.d.ts +13 -0
  62. package/dist/retrieval/fetch-narratives.d.ts.map +1 -1
  63. package/dist/retrieval/fetch-narratives.js +130 -10
  64. package/dist/retrieval/fetch-narratives.js.map +1 -1
  65. package/dist/retrieval/narrative-list-filters.d.ts +30 -0
  66. package/dist/retrieval/narrative-list-filters.d.ts.map +1 -0
  67. package/dist/retrieval/narrative-list-filters.js +179 -0
  68. package/dist/retrieval/narrative-list-filters.js.map +1 -0
  69. package/dist/retrieval/resolve-filters.d.ts +11 -1
  70. package/dist/retrieval/resolve-filters.d.ts.map +1 -1
  71. package/dist/retrieval/resolve-filters.js +34 -7
  72. package/dist/retrieval/resolve-filters.js.map +1 -1
  73. package/dist/seeds/default-seed-spec.d.ts.map +1 -1
  74. package/dist/seeds/default-seed-spec.js +9 -0
  75. package/dist/seeds/default-seed-spec.js.map +1 -1
  76. package/dist/tests/analyze-vulnerability-coverage.test.d.ts +2 -0
  77. package/dist/tests/analyze-vulnerability-coverage.test.d.ts.map +1 -0
  78. package/dist/tests/analyze-vulnerability-coverage.test.js +66 -0
  79. package/dist/tests/analyze-vulnerability-coverage.test.js.map +1 -0
  80. package/dist/tests/count-assets-with-vulnerabilities.test.d.ts +2 -0
  81. package/dist/tests/count-assets-with-vulnerabilities.test.d.ts.map +1 -0
  82. package/dist/tests/count-assets-with-vulnerabilities.test.js +95 -0
  83. package/dist/tests/count-assets-with-vulnerabilities.test.js.map +1 -0
  84. package/dist/tests/derive-subnet-ip.test.d.ts +2 -0
  85. package/dist/tests/derive-subnet-ip.test.d.ts.map +1 -0
  86. package/dist/tests/derive-subnet-ip.test.js +17 -0
  87. package/dist/tests/derive-subnet-ip.test.js.map +1 -0
  88. package/dist/tests/env.test.js +1 -1
  89. package/dist/tests/env.test.js.map +1 -1
  90. package/dist/tests/fetch-narratives.test.js +191 -5
  91. package/dist/tests/fetch-narratives.test.js.map +1 -1
  92. package/dist/tests/resolve-filters.test.js +81 -4
  93. package/dist/tests/resolve-filters.test.js.map +1 -1
  94. package/docs/MEMORIX-CATALOX-CONTRACTS.md +2 -0
  95. package/package.json +5 -5
@@ -12,10 +12,16 @@
12
12
  "multiMatch": {
13
13
  "strategy": "last",
14
14
  "effectiveDatePath": "capturedAt",
15
- "fallbackEffectiveDatePaths": [
16
- "modifiedAt",
17
- "createdAt"
18
- ]
15
+ "fallbackEffectiveDatePaths": ["modifiedAt", "createdAt"]
16
+ }
17
+ },
18
+ {
19
+ "contentType": "analysis",
20
+ "required": false,
21
+ "multiMatch": {
22
+ "strategy": "last",
23
+ "effectiveDatePath": "capturedAt",
24
+ "fallbackEffectiveDatePaths": ["modifiedAt", "createdAt"]
19
25
  }
20
26
  },
21
27
  {
@@ -24,14 +30,46 @@
24
30
  "multiMatch": {
25
31
  "strategy": "last",
26
32
  "effectiveDatePath": "capturedAt",
27
- "fallbackEffectiveDatePaths": [
28
- "modifiedAt",
29
- "createdAt"
30
- ]
33
+ "fallbackEffectiveDatePaths": ["modifiedAt", "createdAt"]
31
34
  }
32
35
  }
33
36
  ],
34
37
  "sections": [
38
+ {
39
+ "id": "overview",
40
+ "title": "Overview",
41
+ "fields": ["analysisOverview", "analysisOverviewSummary"]
42
+ },
43
+ {
44
+ "id": "role",
45
+ "title": "Role",
46
+ "fields": ["analysisRole"]
47
+ },
48
+ {
49
+ "id": "exposure",
50
+ "title": "Exposure",
51
+ "fields": ["analysisExposure", "outsideExposureClass"]
52
+ },
53
+ {
54
+ "id": "trust",
55
+ "title": "Trust",
56
+ "fields": ["analysisTrust"]
57
+ },
58
+ {
59
+ "id": "attack-path",
60
+ "title": "Attack Path",
61
+ "fields": ["analysisAttackPath"]
62
+ },
63
+ {
64
+ "id": "movement",
65
+ "title": "Movement",
66
+ "fields": ["analysisMovement"]
67
+ },
68
+ {
69
+ "id": "context",
70
+ "title": "Context",
71
+ "fields": ["analysisContext"]
72
+ },
35
73
  {
36
74
  "id": "summary",
37
75
  "title": "Summary",
@@ -41,6 +79,11 @@
41
79
  "zone",
42
80
  "zoneClass",
43
81
  "vr",
82
+ "assetsCount",
83
+ "findingsCount",
84
+ "vulnerabilitiesCount",
85
+ "criticalVulnerabilities",
86
+ "highVulnerabilities",
44
87
  "recordId"
45
88
  ]
46
89
  },
@@ -56,15 +99,6 @@
56
99
  "reachableFromZones",
57
100
  "zoneMappingConfidence"
58
101
  ]
59
- },
60
- {
61
- "id": "legacy",
62
- "title": "Legacy (quarantined)",
63
- "fields": [
64
- "quarantineLegacy",
65
- "legacySubnetIp",
66
- "quarantineReason"
67
- ]
68
102
  }
69
103
  ],
70
104
  "includeRelations": [],
@@ -0,0 +1,97 @@
1
+ {
2
+ "id": "vulnerabilities-group-detail-item",
3
+ "entity": "vulnerabilities-groups",
4
+ "title": "Vulnerability Group Detail",
5
+ "identity": {
6
+ "idField": "recordId"
7
+ },
8
+ "contentTypes": [
9
+ {
10
+ "contentType": "snapshots",
11
+ "required": true,
12
+ "multiMatch": {
13
+ "strategy": "last",
14
+ "effectiveDatePath": "capturedAt",
15
+ "fallbackEffectiveDatePaths": [
16
+ "modifiedAt",
17
+ "createdAt",
18
+ "data.enrichment.enrichedAt"
19
+ ]
20
+ }
21
+ },
22
+ {
23
+ "contentType": "analysis",
24
+ "required": false,
25
+ "multiMatch": {
26
+ "strategy": "last",
27
+ "effectiveDatePath": "capturedAt",
28
+ "fallbackEffectiveDatePaths": ["modifiedAt", "createdAt"]
29
+ }
30
+ }
31
+ ],
32
+ "sections": [
33
+ {
34
+ "id": "brief",
35
+ "title": "Brief",
36
+ "fields": [
37
+ "analysisBriefSummary",
38
+ "analysisBriefAnalysis",
39
+ "analysisBriefEvidence",
40
+ "analysisBriefGaps"
41
+ ]
42
+ },
43
+ {
44
+ "id": "applicability",
45
+ "title": "Applicability",
46
+ "fields": ["analysisApplicability"]
47
+ },
48
+ {
49
+ "id": "exploitability",
50
+ "title": "Exploitability",
51
+ "fields": ["analysisExploitability"]
52
+ },
53
+ {
54
+ "id": "impact",
55
+ "title": "Impact",
56
+ "fields": ["analysisImpact"]
57
+ },
58
+ {
59
+ "id": "threat",
60
+ "title": "Threat",
61
+ "fields": ["analysisThreat", "knownExploited"]
62
+ },
63
+ {
64
+ "id": "mitre",
65
+ "title": "Mitre",
66
+ "fields": ["analysisMitre"]
67
+ },
68
+ {
69
+ "id": "summary",
70
+ "title": "Summary",
71
+ "fields": [
72
+ "name",
73
+ "vulnerabilityType",
74
+ "cveId",
75
+ "pluginId",
76
+ "severity",
77
+ "affectedEntitiesCount",
78
+ "findingsCount",
79
+ "vulnerabilitiesCount",
80
+ "riskLevel",
81
+ "priorityScore"
82
+ ]
83
+ }
84
+ ],
85
+ "includeRelations": [
86
+ {
87
+ "relation": "groupVulnerabilities",
88
+ "mode": "array",
89
+ "arrayProperty": "vulnerabilities",
90
+ "limit": 200,
91
+ "fields": ["assetIp", "severity", "cveId", "pluginName"]
92
+ }
93
+ ],
94
+ "content": {
95
+ "allowed": false
96
+ }
97
+ }
@@ -18,60 +18,65 @@
18
18
  "data.enrichment.enrichedAt"
19
19
  ]
20
20
  }
21
+ },
22
+ {
23
+ "contentType": "analysis",
24
+ "required": false,
25
+ "multiMatch": {
26
+ "strategy": "last",
27
+ "effectiveDatePath": "capturedAt",
28
+ "fallbackEffectiveDatePaths": ["modifiedAt", "createdAt"]
29
+ }
21
30
  }
22
31
  ],
23
32
  "sections": [
24
33
  {
25
- "id": "summary",
26
- "title": "Summary",
34
+ "id": "brief",
35
+ "title": "Brief",
27
36
  "fields": [
28
- "vulnerabilityId",
29
- "pluginName",
30
- "pluginFamily",
31
- "severity",
32
- "cveId"
37
+ "analysisBriefSummary",
38
+ "analysisBriefAnalysis",
39
+ "analysisBriefEvidence",
40
+ "analysisBriefGaps"
33
41
  ]
34
42
  },
35
43
  {
36
- "id": "asset",
37
- "title": "Affected Asset",
38
- "fields": [
39
- "assetIp",
40
- "assetType",
41
- "assetZone",
42
- "assetHostname",
43
- "assetMatched"
44
- ]
44
+ "id": "applicability",
45
+ "title": "Applicability",
46
+ "fields": ["analysisApplicability"]
45
47
  },
46
48
  {
47
- "id": "risk",
48
- "title": "Risk",
49
- "fields": [
50
- "riskLevel",
51
- "priorityScore",
52
- "compositeScore",
53
- "exploitabilityScore",
54
- "exploitabilityLevel"
55
- ]
49
+ "id": "exploitability",
50
+ "title": "Exploitability",
51
+ "fields": ["analysisExploitability", "analysisExploitabilityLevel"]
56
52
  },
57
53
  {
58
- "id": "threatIntelligence",
59
- "title": "Threat Intelligence",
60
- "fields": [
61
- "epss",
62
- "epssPercentile",
63
- "knownExploited",
64
- "cvssBaseScore",
65
- "cvssVector"
66
- ]
54
+ "id": "impact",
55
+ "title": "Impact",
56
+ "fields": ["analysisImpact"]
57
+ },
58
+ {
59
+ "id": "threat",
60
+ "title": "Threat",
61
+ "fields": ["analysisThreat", "knownExploited", "epss"]
62
+ },
63
+ {
64
+ "id": "mitre",
65
+ "title": "Mitre",
66
+ "fields": ["analysisMitre", "mitreTechniques", "mitreAnalysis"]
67
67
  },
68
68
  {
69
- "id": "networkAndMitre",
70
- "title": "Network & MITRE",
69
+ "id": "summary",
70
+ "title": "Summary",
71
71
  "fields": [
72
- "networkExposure",
73
- "mitreTechniques",
74
- "mitreAnalysis"
72
+ "vulnerabilityId",
73
+ "pluginName",
74
+ "pluginFamily",
75
+ "severity",
76
+ "cveId",
77
+ "assetIp",
78
+ "riskLevel",
79
+ "priorityScore"
75
80
  ]
76
81
  }
77
82
  ],
@@ -0,0 +1,42 @@
1
+ {
2
+ "id": "vulnerability-observation-detail-item",
3
+ "entity": "vulnerabilities",
4
+ "title": "Observation Detail",
5
+ "identity": {
6
+ "idField": "recordId"
7
+ },
8
+ "contentTypes": [
9
+ {
10
+ "contentType": "snapshots",
11
+ "required": true,
12
+ "multiMatch": {
13
+ "strategy": "last",
14
+ "effectiveDatePath": "data.lastSeen",
15
+ "fallbackEffectiveDatePaths": [
16
+ "capturedAt",
17
+ "snapshot.capturedAt",
18
+ "data.enrichment.enrichedAt"
19
+ ]
20
+ }
21
+ }
22
+ ],
23
+ "sections": [
24
+ {
25
+ "id": "brief",
26
+ "title": "Brief",
27
+ "fields": [
28
+ "assetIp",
29
+ "pluginName",
30
+ "severity",
31
+ "cveId",
32
+ "riskLevel",
33
+ "priorityScore",
34
+ "knownExploited"
35
+ ]
36
+ }
37
+ ],
38
+ "includeRelations": [],
39
+ "content": {
40
+ "allowed": false
41
+ }
42
+ }
@@ -0,0 +1,33 @@
1
+ {
2
+ "id": "assets-exploitability-decisions-list",
3
+ "entity": "assets",
4
+ "title": "Assets Exploitability",
5
+ "leadingContentType": "decisions",
6
+ "pagination": {
7
+ "enabled": true,
8
+ "defaultLimit": 50,
9
+ "maxLimit": 200
10
+ },
11
+ "filters": [],
12
+ "fields": [
13
+ "decisionOverviewSummary",
14
+ "decisionOverviewDetailedAnalysis",
15
+ "decisionLabel",
16
+ "decisionStatus",
17
+ "decisionRiskScore",
18
+ "decisionUrgencyScore"
19
+ ],
20
+ "extensions": [],
21
+ "includeRelations": [],
22
+ "allowedSorts": [
23
+ "decisionRiskScore",
24
+ "decisionUrgencyScore",
25
+ "decisionStatus",
26
+ "decisionLabel"
27
+ ],
28
+ "defaultSort": {
29
+ "property": "decisionRiskScore",
30
+ "direction": "desc"
31
+ },
32
+ "allowSortDrivenLeadingOverride": false
33
+ }
@@ -18,11 +18,13 @@
18
18
  "agentType",
19
19
  "xdrOperationalStatus",
20
20
  "xdrAgentStatus",
21
- "hasVulnerabilities",
22
21
  "criticalVulnerabilities",
23
22
  "highVulnerabilities",
23
+ "findingsCount",
24
24
  "potentialImpactLevel",
25
- "pathsCount"
25
+ "pathsCount",
26
+ "observedUsers",
27
+ "lastSeen"
26
28
  ],
27
29
  "extensions": [],
28
30
  "includeRelations": [],
@@ -35,9 +37,9 @@
35
37
  "agentType",
36
38
  "xdrOperationalStatus",
37
39
  "xdrAgentStatus",
38
- "hasVulnerabilities",
39
40
  "criticalVulnerabilities",
40
41
  "highVulnerabilities",
42
+ "findingsCount",
41
43
  "potentialImpactLevel",
42
44
  "pathsCount",
43
45
  "lastSeen"
@@ -46,5 +48,55 @@
46
48
  "property": "ipAddress",
47
49
  "direction": "asc"
48
50
  },
49
- "allowSortDrivenLeadingOverride": false
51
+ "allowSortDrivenLeadingOverride": false,
52
+ "columnDrillDowns": [
53
+ {
54
+ "field": "criticalVulnerabilities",
55
+ "label": "Critical Vulnerabilities",
56
+ "listQuery": {
57
+ "entityName": "vulnerabilities",
58
+ "listDescriptorId": "vulnerabilities-main-list",
59
+ "narrativeIds": ["is-vulnerability", "has-critical-severity"],
60
+ "filters": [
61
+ {
62
+ "property": "assetIp",
63
+ "operator": "eq",
64
+ "valueFromRow": "ipAddress"
65
+ }
66
+ ]
67
+ }
68
+ },
69
+ {
70
+ "field": "highVulnerabilities",
71
+ "label": "High Vulnerabilities",
72
+ "listQuery": {
73
+ "entityName": "vulnerabilities",
74
+ "listDescriptorId": "vulnerabilities-main-list",
75
+ "narrativeIds": ["is-vulnerability", "has-high-severity"],
76
+ "filters": [
77
+ {
78
+ "property": "assetIp",
79
+ "operator": "eq",
80
+ "valueFromRow": "ipAddress"
81
+ }
82
+ ]
83
+ }
84
+ },
85
+ {
86
+ "field": "findingsCount",
87
+ "label": "Findings",
88
+ "listQuery": {
89
+ "entityName": "vulnerabilities",
90
+ "listDescriptorId": "vulnerabilities-observations-list",
91
+ "narrativeIds": ["is-finding"],
92
+ "filters": [
93
+ {
94
+ "property": "assetIp",
95
+ "operator": "eq",
96
+ "valueFromRow": "ipAddress"
97
+ }
98
+ ]
99
+ }
100
+ }
101
+ ]
50
102
  }
@@ -0,0 +1,31 @@
1
+ {
2
+ "id": "assets-potential-impact-decisions-list",
3
+ "entity": "assets",
4
+ "title": "Asset's Potential Impact",
5
+ "leadingContentType": "decisions",
6
+ "pagination": {
7
+ "enabled": true,
8
+ "defaultLimit": 50,
9
+ "maxLimit": 200
10
+ },
11
+ "filters": [],
12
+ "fields": [
13
+ "decisionOverviewSummary",
14
+ "decisionOverviewDetailedAnalysis",
15
+ "decisionLabel",
16
+ "decisionStatus",
17
+ "decisionRiskScore"
18
+ ],
19
+ "extensions": [],
20
+ "includeRelations": [],
21
+ "allowedSorts": [
22
+ "decisionRiskScore",
23
+ "decisionStatus",
24
+ "decisionLabel"
25
+ ],
26
+ "defaultSort": {
27
+ "property": "decisionRiskScore",
28
+ "direction": "desc"
29
+ },
30
+ "allowSortDrivenLeadingOverride": false
31
+ }
@@ -1,22 +1,126 @@
1
1
  {
2
2
  "id": "subnets-main-list",
3
3
  "entity": "subnets",
4
- "title": "Subnets",
4
+ "title": "Networks",
5
5
  "leadingContentType": "snapshots",
6
6
  "fields": [
7
- "cidr",
8
7
  "subnetIp",
8
+ "cidr",
9
9
  "zone",
10
+ "zoneClass",
10
11
  "vr",
12
+ "networkAddress",
13
+ "assetsCount",
14
+ "findingsCount",
15
+ "vulnerabilitiesCount",
16
+ "criticalVulnerabilities",
17
+ "highVulnerabilities",
18
+ "outsideExposureClass",
19
+ "internalReachabilityClass",
11
20
  "recordId"
12
21
  ],
13
22
  "defaultSort": {
14
23
  "property": "cidr",
15
24
  "direction": "asc"
16
25
  },
26
+ "allowedSorts": [
27
+ "subnetIp",
28
+ "cidr",
29
+ "zone",
30
+ "zoneClass",
31
+ "vr",
32
+ "assetsCount",
33
+ "findingsCount",
34
+ "vulnerabilitiesCount",
35
+ "criticalVulnerabilities",
36
+ "highVulnerabilities",
37
+ "outsideExposureClass",
38
+ "internalReachabilityClass"
39
+ ],
17
40
  "pagination": {
18
41
  "enabled": true,
19
42
  "defaultLimit": 50,
20
43
  "maxLimit": 200
21
- }
44
+ },
45
+ "columnDrillDowns": [
46
+ {
47
+ "field": "assetsCount",
48
+ "label": "Assets #",
49
+ "listQuery": {
50
+ "entityName": "assets",
51
+ "listDescriptorId": "assets-main-list",
52
+ "filters": [
53
+ {
54
+ "property": "subnetCidrs",
55
+ "operator": "eq",
56
+ "valueFromRow": "cidr"
57
+ }
58
+ ]
59
+ }
60
+ },
61
+ {
62
+ "field": "findingsCount",
63
+ "label": "Findings #",
64
+ "listQuery": {
65
+ "entityName": "vulnerabilities",
66
+ "listDescriptorId": "vulnerabilities-observations-list",
67
+ "narrativeIds": ["is-finding"],
68
+ "filters": [
69
+ {
70
+ "property": "subnetIp",
71
+ "operator": "eq",
72
+ "valueFromRow": "networkAddress"
73
+ }
74
+ ]
75
+ }
76
+ },
77
+ {
78
+ "field": "vulnerabilitiesCount",
79
+ "label": "Vulnerabilities #",
80
+ "listQuery": {
81
+ "entityName": "vulnerabilities",
82
+ "listDescriptorId": "vulnerabilities-main-list",
83
+ "narrativeIds": ["is-vulnerability"],
84
+ "filters": [
85
+ {
86
+ "property": "subnetIp",
87
+ "operator": "eq",
88
+ "valueFromRow": "networkAddress"
89
+ }
90
+ ]
91
+ }
92
+ },
93
+ {
94
+ "field": "criticalVulnerabilities",
95
+ "label": "Critical Vulnerabilities",
96
+ "listQuery": {
97
+ "entityName": "vulnerabilities",
98
+ "listDescriptorId": "vulnerabilities-main-list",
99
+ "narrativeIds": ["is-vulnerability", "has-critical-severity"],
100
+ "filters": [
101
+ {
102
+ "property": "subnetIp",
103
+ "operator": "eq",
104
+ "valueFromRow": "networkAddress"
105
+ }
106
+ ]
107
+ }
108
+ },
109
+ {
110
+ "field": "highVulnerabilities",
111
+ "label": "High Vulnerabilities",
112
+ "listQuery": {
113
+ "entityName": "vulnerabilities",
114
+ "listDescriptorId": "vulnerabilities-main-list",
115
+ "narrativeIds": ["is-vulnerability", "has-high-severity"],
116
+ "filters": [
117
+ {
118
+ "property": "subnetIp",
119
+ "operator": "eq",
120
+ "valueFromRow": "networkAddress"
121
+ }
122
+ ]
123
+ }
124
+ }
125
+ ]
22
126
  }
@@ -0,0 +1,29 @@
1
+ {
2
+ "id": "vulnerabilities-exploitability-analysis-list",
3
+ "entity": "vulnerabilities",
4
+ "title": "Vulnerabilities Exploitability",
5
+ "leadingContentType": "analysis",
6
+ "pagination": {
7
+ "enabled": true,
8
+ "defaultLimit": 50,
9
+ "maxLimit": 200
10
+ },
11
+ "filters": [],
12
+ "fields": [
13
+ "analysisBriefSummary",
14
+ "analysisBriefAnalysis",
15
+ "analysisExploitabilityLevel",
16
+ "analysisClassType"
17
+ ],
18
+ "extensions": [],
19
+ "includeRelations": [],
20
+ "allowedSorts": [
21
+ "analysisExploitabilityLevel",
22
+ "analysisClassType"
23
+ ],
24
+ "defaultSort": {
25
+ "property": "analysisExploitabilityLevel",
26
+ "direction": "asc"
27
+ },
28
+ "allowSortDrivenLeadingOverride": false
29
+ }