@x12i/memorix-retrieval 1.18.0 → 1.20.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 (53) hide show
  1. package/README.md +1 -1
  2. package/catalox-seeds/inputs/entity-descriptors/assets.json +73 -38
  3. package/catalox-seeds/inputs/entity-descriptors/topology-subnets.json +127 -0
  4. package/catalox-seeds/inputs/entity-descriptors/variabilities-groups.json +22 -33
  5. package/catalox-seeds/inputs/entity-descriptors/vulnerabilities.json +19 -30
  6. package/catalox-seeds/inputs/item-descriptors/asset-detail-item.json +20 -6
  7. package/catalox-seeds/inputs/item-descriptors/topology-subnet-detail-item.json +41 -0
  8. package/catalox-seeds/inputs/item-descriptors/variabilities-group-detail-item.json +5 -5
  9. package/catalox-seeds/inputs/item-descriptors/vulnerability-detail-item.json +5 -5
  10. package/catalox-seeds/inputs/list-descriptors/assets-main-list.json +4 -0
  11. package/catalox-seeds/inputs/list-descriptors/critical-vulnerabilities-list.json +5 -5
  12. package/catalox-seeds/inputs/list-descriptors/critical-vulnerabilities-slice.json +1 -1
  13. package/catalox-seeds/inputs/list-descriptors/topology-subnets-main-list.json +23 -0
  14. package/catalox-seeds/inputs/list-descriptors/variabilities-groups-main-list.json +3 -3
  15. package/catalox-seeds/inputs/list-descriptors/vulnerabilities-main-list.json +3 -3
  16. package/catalox-seeds/inputs/memorix-descriptors.bundle.json +328 -330
  17. package/catalox-seeds/inputs/memorix-item-descriptors.catalog.json +16 -16
  18. package/catalox-seeds/inputs/memorix-item-descriptors.items.json +16 -16
  19. package/catalox-seeds/inputs/memorix-list-descriptors.catalog.json +11 -11
  20. package/catalox-seeds/inputs/memorix-list-descriptors.items.json +41 -11
  21. package/catalox-seeds/inputs/memorix-object-type-descriptors.catalog.json +279 -303
  22. package/catalox-seeds/inputs/memorix-object-type-descriptors.items.json +279 -303
  23. package/catalox-seeds/memorix-retrieval-descriptors.manifest.json +411 -147
  24. package/dist/data/record-identity.d.ts +1 -1
  25. package/dist/data/record-identity.d.ts.map +1 -1
  26. package/dist/data/record-identity.js +30 -17
  27. package/dist/data/record-identity.js.map +1 -1
  28. package/dist/errors/errors.d.ts.map +1 -1
  29. package/dist/errors/errors.js +2 -1
  30. package/dist/errors/errors.js.map +1 -1
  31. package/dist/logging/logger.d.ts.map +1 -1
  32. package/dist/logging/logger.js +2 -1
  33. package/dist/logging/logger.js.map +1 -1
  34. package/dist/mongo/connection.d.ts.map +1 -1
  35. package/dist/mongo/connection.js +2 -1
  36. package/dist/mongo/connection.js.map +1 -1
  37. package/dist/seeds/build-manifest.d.ts.map +1 -1
  38. package/dist/seeds/build-manifest.js +29 -1
  39. package/dist/seeds/build-manifest.js.map +1 -1
  40. package/dist/seeds/default-seed-spec.d.ts.map +1 -1
  41. package/dist/seeds/default-seed-spec.js +4 -0
  42. package/dist/seeds/default-seed-spec.js.map +1 -1
  43. package/dist/seeds/merge-for-apply.d.ts.map +1 -1
  44. package/dist/seeds/merge-for-apply.js +3 -1
  45. package/dist/seeds/merge-for-apply.js.map +1 -1
  46. package/dist/tests/collection-parser.test.js +8 -3
  47. package/dist/tests/collection-parser.test.js.map +1 -1
  48. package/dist/tests/seed-manifest.test.js +3 -3
  49. package/dist/tests/seed-manifest.test.js.map +1 -1
  50. package/dist/tests/source-provenance.test.js +14 -8
  51. package/dist/tests/source-provenance.test.js.map +1 -1
  52. package/docs/MEMORIX-DATABASE-CONVENTIONS.md +48 -27
  53. package/package.json +5 -5
@@ -248,26 +248,26 @@
248
248
  },
249
249
  "data": {
250
250
  "id": "assets",
251
- "entityName": "assets",
252
251
  "defaultListDescriptorId": "assets-main-list",
253
252
  "defaultItemDescriptorId": "asset-detail-item",
254
253
  "target": "entity",
255
254
  "collectionPrefix": "assets",
256
255
  "identity": {
257
256
  "allowedIdFields": [
258
- "entityId",
259
- "eventId"
257
+ "identity.recordId",
258
+ "identity.targetId"
260
259
  ],
261
260
  "requiredExactlyOne": true,
262
- "defaultIdField": "entityId"
261
+ "defaultIdField": "identity.recordId"
263
262
  },
264
263
  "defaults": {
265
264
  "canonicalContentType": "snapshots",
266
265
  "dataRoot": "data",
267
- "effectiveDatePath": "capturedAt",
266
+ "effectiveDatePath": "lifecycle.capturedAt",
268
267
  "fallbackEffectiveDatePaths": [
268
+ "capturedAt",
269
269
  "snapshot.capturedAt",
270
- "data.xdr.last_seen"
270
+ "data.lastSeen"
271
271
  ]
272
272
  },
273
273
  "contentTypes": {
@@ -276,10 +276,11 @@
276
276
  "collection": "assets-snapshots",
277
277
  "dataRoot": "data",
278
278
  "isCanonical": true,
279
- "effectiveDatePath": "capturedAt",
279
+ "effectiveDatePath": "lifecycle.capturedAt",
280
280
  "fallbackEffectiveDatePaths": [
281
+ "capturedAt",
281
282
  "snapshot.capturedAt",
282
- "data.xdr.last_seen"
283
+ "data.lastSeen"
283
284
  ]
284
285
  }
285
286
  },
@@ -297,11 +298,37 @@
297
298
  "item": true,
298
299
  "valueType": "string"
299
300
  },
301
+ "subnetIp": {
302
+ "label": "Subnet IP",
303
+ "source": {
304
+ "contentType": "snapshots",
305
+ "path": "data.subnetIp"
306
+ },
307
+ "humanReadable": true,
308
+ "sortable": true,
309
+ "filterable": true,
310
+ "list": true,
311
+ "item": true,
312
+ "valueType": "string"
313
+ },
314
+ "subnetId": {
315
+ "label": "Subnet ID",
316
+ "source": {
317
+ "contentType": "snapshots",
318
+ "path": "data.subnetId"
319
+ },
320
+ "humanReadable": true,
321
+ "sortable": true,
322
+ "filterable": true,
323
+ "list": true,
324
+ "item": true,
325
+ "valueType": "string"
326
+ },
300
327
  "source": {
301
328
  "label": "Source",
302
329
  "source": {
303
330
  "contentType": "snapshots",
304
- "path": "data._source"
331
+ "path": "sourceFacts.values._source.rawValue"
305
332
  },
306
333
  "humanReadable": true,
307
334
  "sortable": true,
@@ -314,7 +341,7 @@
314
341
  "label": "Host Name",
315
342
  "source": {
316
343
  "contentType": "snapshots",
317
- "path": "data.xdr.host_name"
344
+ "path": "data.assetName"
318
345
  },
319
346
  "humanReadable": true,
320
347
  "sortable": true,
@@ -327,7 +354,7 @@
327
354
  "label": "XDR Operational Status",
328
355
  "source": {
329
356
  "contentType": "snapshots",
330
- "path": "data.xdr.operational_status"
357
+ "path": "data.operationalStatus"
331
358
  },
332
359
  "humanReadable": true,
333
360
  "sortable": true,
@@ -340,7 +367,7 @@
340
367
  "label": "XDR Agent Status",
341
368
  "source": {
342
369
  "contentType": "snapshots",
343
- "path": "data.xdr.agent_status"
370
+ "path": "data.agentStatus"
344
371
  },
345
372
  "humanReadable": true,
346
373
  "sortable": true,
@@ -353,7 +380,7 @@
353
380
  "label": "Agent Type",
354
381
  "source": {
355
382
  "contentType": "snapshots",
356
- "path": "data.xdr.agent_type"
383
+ "path": "data.agentType"
357
384
  },
358
385
  "humanReadable": true,
359
386
  "sortable": true,
@@ -366,7 +393,7 @@
366
393
  "label": "Last Seen",
367
394
  "source": {
368
395
  "contentType": "snapshots",
369
- "path": "data.xdr.last_seen"
396
+ "path": "data.lastSeen"
370
397
  },
371
398
  "humanReadable": true,
372
399
  "sortable": true,
@@ -375,24 +402,11 @@
375
402
  "item": true,
376
403
  "valueType": "datetime"
377
404
  },
378
- "users": {
379
- "label": "Users",
380
- "source": {
381
- "contentType": "snapshots",
382
- "path": "data.xdr.users"
383
- },
384
- "humanReadable": true,
385
- "sortable": false,
386
- "filterable": true,
387
- "list": true,
388
- "item": true,
389
- "valueType": "array"
390
- },
391
405
  "hasVulnerabilities": {
392
406
  "label": "Has Vulnerabilities",
393
407
  "source": {
394
408
  "contentType": "snapshots",
395
- "path": "data.vulnerabilities.hasVulnerabilities"
409
+ "path": "data.hasVulnerabilities"
396
410
  },
397
411
  "humanReadable": true,
398
412
  "sortable": true,
@@ -405,7 +419,7 @@
405
419
  "label": "Critical Vulnerabilities",
406
420
  "source": {
407
421
  "contentType": "snapshots",
408
- "path": "data.vulnerabilities.count.critical"
422
+ "path": "analytics.vulnerabilities.critical"
409
423
  },
410
424
  "humanReadable": true,
411
425
  "sortable": true,
@@ -418,7 +432,7 @@
418
432
  "label": "High Vulnerabilities",
419
433
  "source": {
420
434
  "contentType": "snapshots",
421
- "path": "data.vulnerabilities.count.high"
435
+ "path": "analytics.vulnerabilities.high"
422
436
  },
423
437
  "humanReadable": true,
424
438
  "sortable": true,
@@ -431,7 +445,7 @@
431
445
  "label": "Medium Vulnerabilities",
432
446
  "source": {
433
447
  "contentType": "snapshots",
434
- "path": "data.vulnerabilities.count.medium"
448
+ "path": "analytics.vulnerabilities.medium"
435
449
  },
436
450
  "humanReadable": true,
437
451
  "sortable": true,
@@ -444,7 +458,7 @@
444
458
  "label": "Low Vulnerabilities",
445
459
  "source": {
446
460
  "contentType": "snapshots",
447
- "path": "data.vulnerabilities.count.low"
461
+ "path": "analytics.vulnerabilities.low"
448
462
  },
449
463
  "humanReadable": true,
450
464
  "sortable": true,
@@ -457,7 +471,7 @@
457
471
  "label": "Potential Impact",
458
472
  "source": {
459
473
  "contentType": "snapshots",
460
- "path": "data.potentialImpact.level"
474
+ "path": "insights.potentialImpact.level"
461
475
  },
462
476
  "humanReadable": true,
463
477
  "sortable": true,
@@ -470,7 +484,7 @@
470
484
  "label": "Impact Confidence",
471
485
  "source": {
472
486
  "contentType": "snapshots",
473
- "path": "data.potentialImpact.confidence"
487
+ "path": "insights.potentialImpact.confidence"
474
488
  },
475
489
  "humanReadable": true,
476
490
  "sortable": true,
@@ -483,7 +497,7 @@
483
497
  "label": "Potential Impact Story",
484
498
  "source": {
485
499
  "contentType": "snapshots",
486
- "path": "data.potentialImpact.story"
500
+ "path": "insights.potentialImpact.story"
487
501
  },
488
502
  "humanReadable": false,
489
503
  "sortable": false,
@@ -496,7 +510,7 @@
496
510
  "label": "Paths Count",
497
511
  "source": {
498
512
  "contentType": "snapshots",
499
- "path": "data.pathsCount"
513
+ "path": "analytics.paths.total"
500
514
  },
501
515
  "humanReadable": true,
502
516
  "sortable": true,
@@ -509,7 +523,7 @@
509
523
  "label": "Raw XDR",
510
524
  "source": {
511
525
  "contentType": "snapshots",
512
- "path": "data.xdr"
526
+ "path": "sourceFacts.values.xdrRaw.rawValue"
513
527
  },
514
528
  "humanReadable": false,
515
529
  "sortable": false,
@@ -520,8 +534,27 @@
520
534
  }
521
535
  },
522
536
  "relations": {
537
+ "assetSubnet": {
538
+ "type": "manyToOne",
539
+ "source": {
540
+ "contentType": "snapshots",
541
+ "path": "data.subnetId"
542
+ },
543
+ "target": {
544
+ "contentType": "snapshots",
545
+ "path": "data.subnetId"
546
+ },
547
+ "defaultMode": "record",
548
+ "targetFields": [
549
+ "subnetId",
550
+ "subnetIp",
551
+ "cidr",
552
+ "zone",
553
+ "vr"
554
+ ],
555
+ "targetObjectType": "topology-subnets"
556
+ },
523
557
  "assetVulnerabilities": {
524
- "targetEntity": "vulnerabilities",
525
558
  "type": "oneToMany",
526
559
  "source": {
527
560
  "contentType": "snapshots",
@@ -536,13 +569,156 @@
536
569
  "targetFields": [
537
570
  "vulnerabilityId",
538
571
  "pluginName",
539
- "severityLevel",
572
+ "severity",
540
573
  "riskLevel",
541
574
  "priorityScore",
542
- "cveIds"
543
- ]
575
+ "cveId"
576
+ ],
577
+ "targetObjectType": "vulnerabilities"
544
578
  }
545
- }
579
+ },
580
+ "schemaVersion": "memorix.objectTypeDescriptor.v2",
581
+ "objectType": "assets"
582
+ }
583
+ },
584
+ {
585
+ "catalogId": "memorix-object-type-descriptors",
586
+ "scope": {
587
+ "domains": [
588
+ "network",
589
+ "vulnerabilities"
590
+ ],
591
+ "agents": [
592
+ "neo"
593
+ ]
594
+ },
595
+ "data": {
596
+ "id": "topology-subnets",
597
+ "target": "entity",
598
+ "defaultListDescriptorId": "topology-subnets-main-list",
599
+ "defaultItemDescriptorId": "topology-subnet-detail-item",
600
+ "collectionPrefix": "topology-subnets",
601
+ "identity": {
602
+ "allowedIdFields": [
603
+ "entityId",
604
+ "recordId",
605
+ "_id"
606
+ ],
607
+ "requiredExactlyOne": false,
608
+ "defaultIdField": "entityId"
609
+ },
610
+ "defaults": {
611
+ "canonicalContentType": "snapshots",
612
+ "dataRoot": "data",
613
+ "effectiveDatePath": "capturedAt",
614
+ "fallbackEffectiveDatePaths": [
615
+ "modifiedAt",
616
+ "createdAt"
617
+ ]
618
+ },
619
+ "contentTypes": {
620
+ "snapshots": {
621
+ "postfix": "snapshots",
622
+ "collection": "topology-subnets-snapshots",
623
+ "isCanonical": true
624
+ }
625
+ },
626
+ "properties": {
627
+ "recordId": {
628
+ "label": "Record ID",
629
+ "source": {
630
+ "contentType": "snapshots",
631
+ "path": "recordId"
632
+ },
633
+ "humanReadable": true,
634
+ "sortable": true,
635
+ "filterable": true,
636
+ "list": true,
637
+ "item": true,
638
+ "valueType": "string"
639
+ },
640
+ "subnetIp": {
641
+ "label": "Subnet",
642
+ "source": {
643
+ "contentType": "snapshots",
644
+ "path": "data.subnetIp"
645
+ },
646
+ "humanReadable": true,
647
+ "sortable": true,
648
+ "filterable": true,
649
+ "list": true,
650
+ "item": true,
651
+ "valueType": "string"
652
+ },
653
+ "subnetId": {
654
+ "label": "Subnet ID",
655
+ "source": {
656
+ "contentType": "snapshots",
657
+ "path": "data.subnetId"
658
+ },
659
+ "humanReadable": true,
660
+ "sortable": true,
661
+ "filterable": true,
662
+ "list": true,
663
+ "item": true,
664
+ "valueType": "string"
665
+ },
666
+ "cidr": {
667
+ "label": "Subnet CIDR",
668
+ "source": {
669
+ "contentType": "snapshots",
670
+ "path": "data.cidr"
671
+ },
672
+ "humanReadable": true,
673
+ "sortable": true,
674
+ "filterable": true,
675
+ "list": true,
676
+ "item": true,
677
+ "valueType": "string"
678
+ },
679
+ "zone": {
680
+ "label": "Zone",
681
+ "source": {
682
+ "contentType": "snapshots",
683
+ "path": "data.zone"
684
+ },
685
+ "humanReadable": true,
686
+ "sortable": true,
687
+ "filterable": true,
688
+ "list": true,
689
+ "item": true,
690
+ "valueType": "string"
691
+ },
692
+ "zoneClass": {
693
+ "label": "Zone Class",
694
+ "source": {
695
+ "contentType": "snapshots",
696
+ "path": "data.zoneClass"
697
+ },
698
+ "humanReadable": true,
699
+ "sortable": true,
700
+ "filterable": true,
701
+ "list": false,
702
+ "item": true,
703
+ "valueType": "string"
704
+ },
705
+ "vr": {
706
+ "label": "VR",
707
+ "source": {
708
+ "contentType": "snapshots",
709
+ "path": "data.vr"
710
+ },
711
+ "humanReadable": true,
712
+ "sortable": true,
713
+ "filterable": true,
714
+ "list": true,
715
+ "item": true,
716
+ "valueType": "string"
717
+ }
718
+ },
719
+ "relations": {},
720
+ "schemaVersion": "memorix.objectTypeDescriptor.v2",
721
+ "objectType": "topology-subnets"
546
722
  }
547
723
  },
548
724
  {
@@ -558,24 +734,24 @@
558
734
  },
559
735
  "data": {
560
736
  "id": "variabilities-groups",
561
- "entityName": "variabilities-groups",
562
737
  "defaultListDescriptorId": "variabilities-groups-main-list",
563
738
  "defaultItemDescriptorId": "variabilities-group-detail-item",
564
739
  "target": "entity",
565
740
  "collectionPrefix": "variabilities-groups",
566
741
  "identity": {
567
742
  "allowedIdFields": [
568
- "entityId",
569
- "eventId"
743
+ "identity.recordId",
744
+ "identity.targetId"
570
745
  ],
571
746
  "requiredExactlyOne": true,
572
- "defaultIdField": "entityId"
747
+ "defaultIdField": "identity.recordId"
573
748
  },
574
749
  "defaults": {
575
750
  "canonicalContentType": "snapshots",
576
751
  "dataRoot": "data",
577
- "effectiveDatePath": "capturedAt",
752
+ "effectiveDatePath": "lifecycle.capturedAt",
578
753
  "fallbackEffectiveDatePaths": [
754
+ "capturedAt",
579
755
  "snapshot.capturedAt",
580
756
  "data.enrichedAt",
581
757
  "data.enrichment.enrichedAt"
@@ -587,8 +763,9 @@
587
763
  "collection": "variabilities-groups-snapshots",
588
764
  "dataRoot": "data",
589
765
  "isCanonical": true,
590
- "effectiveDatePath": "capturedAt",
766
+ "effectiveDatePath": "lifecycle.capturedAt",
591
767
  "fallbackEffectiveDatePaths": [
768
+ "capturedAt",
592
769
  "snapshot.capturedAt",
593
770
  "data.enrichedAt",
594
771
  "data.enrichment.enrichedAt"
@@ -600,7 +777,7 @@
600
777
  "label": "Group ID",
601
778
  "source": {
602
779
  "contentType": "snapshots",
603
- "path": "data.id"
780
+ "path": "sourceFacts.values.id.rawValue"
604
781
  },
605
782
  "humanReadable": true,
606
783
  "sortable": true,
@@ -613,7 +790,7 @@
613
790
  "label": "Type",
614
791
  "source": {
615
792
  "contentType": "snapshots",
616
- "path": "data.type"
793
+ "path": "sourceFacts.values.type.rawValue"
617
794
  },
618
795
  "humanReadable": true,
619
796
  "sortable": true,
@@ -626,7 +803,7 @@
626
803
  "label": "Plugin ID",
627
804
  "source": {
628
805
  "contentType": "snapshots",
629
- "path": "data.plugin_id"
806
+ "path": "sourceFacts.values.plugin_id.rawValue"
630
807
  },
631
808
  "humanReadable": true,
632
809
  "sortable": true,
@@ -639,7 +816,7 @@
639
816
  "label": "Plugin Name",
640
817
  "source": {
641
818
  "contentType": "snapshots",
642
- "path": "data.plugin_name"
819
+ "path": "data.name"
643
820
  },
644
821
  "humanReadable": true,
645
822
  "sortable": true,
@@ -652,7 +829,7 @@
652
829
  "label": "Plugin Family",
653
830
  "source": {
654
831
  "contentType": "snapshots",
655
- "path": "data.plugin_family"
832
+ "path": "data.vulnerability_family"
656
833
  },
657
834
  "humanReadable": true,
658
835
  "sortable": true,
@@ -674,24 +851,11 @@
674
851
  "item": true,
675
852
  "valueType": "string"
676
853
  },
677
- "severityLevel": {
678
- "label": "Severity Level",
679
- "source": {
680
- "contentType": "snapshots",
681
- "path": "data.severity_level"
682
- },
683
- "humanReadable": true,
684
- "sortable": true,
685
- "filterable": true,
686
- "list": true,
687
- "item": true,
688
- "valueType": "number"
689
- },
690
854
  "affectedEntities": {
691
855
  "label": "Affected Entities",
692
856
  "source": {
693
857
  "contentType": "snapshots",
694
- "path": "data.affected_entities"
858
+ "path": "associatedData.affectedAssets"
695
859
  },
696
860
  "humanReadable": true,
697
861
  "sortable": false,
@@ -704,7 +868,7 @@
704
868
  "label": "Affected Entities Count",
705
869
  "source": {
706
870
  "contentType": "snapshots",
707
- "path": "data.affected_entities"
871
+ "path": "associatedData.affectedAssets"
708
872
  },
709
873
  "humanReadable": true,
710
874
  "sortable": false,
@@ -727,18 +891,18 @@
727
891
  "item": true,
728
892
  "valueType": "string"
729
893
  },
730
- "cveIds": {
731
- "label": "CVEs",
894
+ "cveId": {
895
+ "label": "CVE",
732
896
  "source": {
733
897
  "contentType": "snapshots",
734
- "path": "data.cveIds"
898
+ "path": "data.cveId"
735
899
  },
736
900
  "humanReadable": true,
737
- "sortable": false,
901
+ "sortable": true,
738
902
  "filterable": true,
739
903
  "list": true,
740
904
  "item": true,
741
- "valueType": "array"
905
+ "valueType": "string"
742
906
  },
743
907
  "riskLevel": {
744
908
  "label": "Risk Level",
@@ -847,15 +1011,14 @@
847
1011
  },
848
1012
  "relations": {
849
1013
  "groupVulnerabilities": {
850
- "targetEntity": "vulnerabilities",
851
1014
  "type": "oneToMany",
852
1015
  "source": {
853
1016
  "contentType": "snapshots",
854
- "path": "data.plugin_id"
1017
+ "path": "sourceFacts.values.plugin_id.rawValue"
855
1018
  },
856
1019
  "target": {
857
1020
  "contentType": "snapshots",
858
- "path": "data.pluginId"
1021
+ "path": "sourceFacts.values.pluginId.rawValue"
859
1022
  },
860
1023
  "defaultMode": "array",
861
1024
  "defaultArrayProperty": "vulnerabilities",
@@ -863,12 +1026,15 @@
863
1026
  "vulnerabilityId",
864
1027
  "assetIp",
865
1028
  "pluginName",
866
- "severityLevel",
1029
+ "severity",
867
1030
  "riskLevel",
868
1031
  "priorityScore"
869
- ]
1032
+ ],
1033
+ "targetObjectType": "vulnerabilities"
870
1034
  }
871
- }
1035
+ },
1036
+ "schemaVersion": "memorix.objectTypeDescriptor.v2",
1037
+ "objectType": "variabilities-groups"
872
1038
  }
873
1039
  },
874
1040
  {
@@ -884,24 +1050,24 @@
884
1050
  },
885
1051
  "data": {
886
1052
  "id": "vulnerabilities",
887
- "entityName": "vulnerabilities",
888
1053
  "defaultListDescriptorId": "vulnerabilities-main-list",
889
1054
  "defaultItemDescriptorId": "vulnerability-detail-item",
890
1055
  "target": "event",
891
1056
  "collectionPrefix": "vulnerabilities",
892
1057
  "identity": {
893
1058
  "allowedIdFields": [
894
- "entityId",
895
- "eventId"
1059
+ "identity.recordId",
1060
+ "identity.targetId"
896
1061
  ],
897
1062
  "requiredExactlyOne": true,
898
- "defaultIdField": "entityId"
1063
+ "defaultIdField": "identity.recordId"
899
1064
  },
900
1065
  "defaults": {
901
1066
  "canonicalContentType": "snapshots",
902
1067
  "dataRoot": "data",
903
- "effectiveDatePath": "capturedAt",
1068
+ "effectiveDatePath": "lifecycle.capturedAt",
904
1069
  "fallbackEffectiveDatePaths": [
1070
+ "capturedAt",
905
1071
  "snapshot.capturedAt",
906
1072
  "data.enrichment.enrichedAt"
907
1073
  ]
@@ -912,8 +1078,9 @@
912
1078
  "collection": "vulnerabilities-snapshots",
913
1079
  "dataRoot": "data",
914
1080
  "isCanonical": true,
915
- "effectiveDatePath": "capturedAt",
1081
+ "effectiveDatePath": "lifecycle.capturedAt",
916
1082
  "fallbackEffectiveDatePaths": [
1083
+ "capturedAt",
917
1084
  "snapshot.capturedAt",
918
1085
  "data.enrichment.enrichedAt"
919
1086
  ]
@@ -924,7 +1091,7 @@
924
1091
  "label": "Vulnerability ID",
925
1092
  "source": {
926
1093
  "contentType": "snapshots",
927
- "path": "data.vulnerabilityId"
1094
+ "path": "sourceFacts.values.vulnerabilityId.rawValue"
928
1095
  },
929
1096
  "humanReadable": true,
930
1097
  "sortable": true,
@@ -989,7 +1156,7 @@
989
1156
  "label": "Plugin ID",
990
1157
  "source": {
991
1158
  "contentType": "snapshots",
992
- "path": "data.pluginId"
1159
+ "path": "sourceFacts.values.pluginId.rawValue"
993
1160
  },
994
1161
  "humanReadable": true,
995
1162
  "sortable": true,
@@ -1002,7 +1169,7 @@
1002
1169
  "label": "Plugin Name",
1003
1170
  "source": {
1004
1171
  "contentType": "snapshots",
1005
- "path": "data.pluginName"
1172
+ "path": "data.vulnerabilityName"
1006
1173
  },
1007
1174
  "humanReadable": true,
1008
1175
  "sortable": true,
@@ -1015,7 +1182,7 @@
1015
1182
  "label": "Plugin Family",
1016
1183
  "source": {
1017
1184
  "contentType": "snapshots",
1018
- "path": "data.pluginFamily"
1185
+ "path": "data.vulnerabilityFamily"
1019
1186
  },
1020
1187
  "humanReadable": true,
1021
1188
  "sortable": true,
@@ -1037,31 +1204,18 @@
1037
1204
  "item": true,
1038
1205
  "valueType": "string"
1039
1206
  },
1040
- "severityLevel": {
1041
- "label": "Severity Level",
1207
+ "cveId": {
1208
+ "label": "CVE",
1042
1209
  "source": {
1043
1210
  "contentType": "snapshots",
1044
- "path": "data.severityLevel"
1211
+ "path": "data.cveId"
1045
1212
  },
1046
1213
  "humanReadable": true,
1047
1214
  "sortable": true,
1048
1215
  "filterable": true,
1049
1216
  "list": true,
1050
1217
  "item": true,
1051
- "valueType": "number"
1052
- },
1053
- "cveIds": {
1054
- "label": "CVEs",
1055
- "source": {
1056
- "contentType": "snapshots",
1057
- "path": "data.cveIds"
1058
- },
1059
- "humanReadable": true,
1060
- "sortable": false,
1061
- "filterable": true,
1062
- "list": true,
1063
- "item": true,
1064
- "valueType": "array"
1218
+ "valueType": "string"
1065
1219
  },
1066
1220
  "riskLevel": {
1067
1221
  "label": "Risk Level",
@@ -1261,7 +1415,6 @@
1261
1415
  },
1262
1416
  "relations": {
1263
1417
  "affectedAsset": {
1264
- "targetEntity": "assets",
1265
1418
  "type": "manyToOne",
1266
1419
  "source": {
1267
1420
  "contentType": "snapshots",
@@ -1269,7 +1422,7 @@
1269
1422
  },
1270
1423
  "target": {
1271
1424
  "contentType": "snapshots",
1272
- "path": "data.ip_address"
1425
+ "path": "data.assetIp"
1273
1426
  },
1274
1427
  "defaultMode": "extendFields",
1275
1428
  "targetFields": [
@@ -1278,30 +1431,33 @@
1278
1431
  "xdrOperationalStatus",
1279
1432
  "xdrAgentStatus",
1280
1433
  "potentialImpactLevel"
1281
- ]
1434
+ ],
1435
+ "targetObjectType": "assets"
1282
1436
  },
1283
1437
  "vulnerabilityGroup": {
1284
- "targetEntity": "variabilities-groups",
1285
1438
  "type": "manyToOne",
1286
1439
  "source": {
1287
1440
  "contentType": "snapshots",
1288
- "path": "data.pluginId"
1441
+ "path": "sourceFacts.values.pluginId.rawValue"
1289
1442
  },
1290
1443
  "target": {
1291
1444
  "contentType": "snapshots",
1292
- "path": "data.plugin_id"
1445
+ "path": "sourceFacts.values.plugin_id.rawValue"
1293
1446
  },
1294
1447
  "defaultMode": "extendFields",
1295
1448
  "targetFields": [
1296
1449
  "groupId",
1297
1450
  "pluginName",
1298
- "severityLevel",
1451
+ "severity",
1299
1452
  "affectedEntitiesCount",
1300
1453
  "riskLevel",
1301
1454
  "priorityScore"
1302
- ]
1455
+ ],
1456
+ "targetObjectType": "variabilities-groups"
1303
1457
  }
1304
- }
1458
+ },
1459
+ "schemaVersion": "memorix.objectTypeDescriptor.v2",
1460
+ "objectType": "vulnerabilities"
1305
1461
  }
1306
1462
  },
1307
1463
  {
@@ -1317,7 +1473,6 @@
1317
1473
  },
1318
1474
  "data": {
1319
1475
  "id": "knowledge-playbooks",
1320
- "entityName": "knowledge-playbooks",
1321
1476
  "defaultListDescriptorId": "knowledge-playbooks-main-list",
1322
1477
  "defaultItemDescriptorId": "knowledge-playbook-detail-item",
1323
1478
  "target": "knowledge",
@@ -1370,7 +1525,9 @@
1370
1525
  "item": true,
1371
1526
  "valueType": "string"
1372
1527
  }
1373
- }
1528
+ },
1529
+ "schemaVersion": "memorix.objectTypeDescriptor.v2",
1530
+ "objectType": "knowledge-playbooks"
1374
1531
  }
1375
1532
  },
1376
1533
  {
@@ -1386,7 +1543,6 @@
1386
1543
  },
1387
1544
  "data": {
1388
1545
  "id": "content-documents",
1389
- "entityName": "content-documents",
1390
1546
  "defaultListDescriptorId": "content-documents-main-list",
1391
1547
  "defaultItemDescriptorId": "content-document-detail-item",
1392
1548
  "target": "knowledge",
@@ -1506,7 +1662,9 @@
1506
1662
  "item": false,
1507
1663
  "valueType": "string"
1508
1664
  }
1509
- }
1665
+ },
1666
+ "schemaVersion": "memorix.objectTypeDescriptor.v2",
1667
+ "objectType": "content-documents"
1510
1668
  }
1511
1669
  },
1512
1670
  {
@@ -1533,6 +1691,8 @@
1533
1691
  "filters": [],
1534
1692
  "fields": [
1535
1693
  "ipAddress",
1694
+ "subnetId",
1695
+ "subnetIp",
1536
1696
  "hostName",
1537
1697
  "source",
1538
1698
  "agentType",
@@ -1548,6 +1708,8 @@
1548
1708
  "includeRelations": [],
1549
1709
  "allowedSorts": [
1550
1710
  "ipAddress",
1711
+ "subnetId",
1712
+ "subnetIp",
1551
1713
  "hostName",
1552
1714
  "source",
1553
1715
  "agentType",
@@ -1567,6 +1729,41 @@
1567
1729
  "allowSortDrivenLeadingOverride": false
1568
1730
  }
1569
1731
  },
1732
+ {
1733
+ "catalogId": "memorix-list-descriptors",
1734
+ "scope": {
1735
+ "domains": [
1736
+ "network",
1737
+ "vulnerabilities"
1738
+ ],
1739
+ "agents": [
1740
+ "neo"
1741
+ ]
1742
+ },
1743
+ "data": {
1744
+ "id": "topology-subnets-main-list",
1745
+ "entity": "topology-subnets",
1746
+ "title": "Topology Subnets",
1747
+ "leadingContentType": "snapshots",
1748
+ "fields": [
1749
+ "subnetId",
1750
+ "subnetIp",
1751
+ "cidr",
1752
+ "zone",
1753
+ "vr",
1754
+ "recordId"
1755
+ ],
1756
+ "defaultSort": {
1757
+ "property": "subnetId",
1758
+ "direction": "asc"
1759
+ },
1760
+ "pagination": {
1761
+ "enabled": true,
1762
+ "defaultLimit": 50,
1763
+ "maxLimit": 200
1764
+ }
1765
+ }
1766
+ },
1570
1767
  {
1571
1768
  "catalogId": "memorix-list-descriptors",
1572
1769
  "scope": {
@@ -1594,8 +1791,8 @@
1594
1791
  "assetIp",
1595
1792
  "pluginName",
1596
1793
  "pluginFamily",
1597
- "severityLevel",
1598
- "cveIds",
1794
+ "severity",
1795
+ "cveId",
1599
1796
  "riskLevel",
1600
1797
  "priorityScore",
1601
1798
  "epss",
@@ -1610,7 +1807,7 @@
1610
1807
  "assetIp",
1611
1808
  "pluginName",
1612
1809
  "pluginFamily",
1613
- "severityLevel",
1810
+ "severity",
1614
1811
  "riskLevel",
1615
1812
  "priorityScore",
1616
1813
  "epss",
@@ -1649,16 +1846,16 @@
1649
1846
  },
1650
1847
  "filters": [
1651
1848
  {
1652
- "property": "severityLevel",
1653
- "operator": "gte",
1654
- "value": 4
1849
+ "property": "severity",
1850
+ "operator": "eq",
1851
+ "value": "critical"
1655
1852
  }
1656
1853
  ],
1657
1854
  "fields": [
1658
1855
  "vulnerabilityId",
1659
1856
  "assetIp",
1660
1857
  "pluginName",
1661
- "severityLevel",
1858
+ "severity",
1662
1859
  "riskLevel",
1663
1860
  "priorityScore",
1664
1861
  "epss",
@@ -1668,7 +1865,7 @@
1668
1865
  "extensions": [],
1669
1866
  "includeRelations": [],
1670
1867
  "allowedSorts": [
1671
- "severityLevel",
1868
+ "severity",
1672
1869
  "riskLevel",
1673
1870
  "priorityScore",
1674
1871
  "epss",
@@ -1714,7 +1911,7 @@
1714
1911
  }
1715
1912
  ],
1716
1913
  "fields": [
1717
- "recordId"
1914
+ "identity.recordId"
1718
1915
  ],
1719
1916
  "title": "Critical vulnerabilities",
1720
1917
  "contentType": "snapshots",
@@ -1750,9 +1947,9 @@
1750
1947
  "groupId",
1751
1948
  "pluginName",
1752
1949
  "pluginFamily",
1753
- "severityLevel",
1950
+ "severity",
1754
1951
  "affectedEntitiesCount",
1755
- "cveIds",
1952
+ "cveId",
1756
1953
  "riskLevel",
1757
1954
  "priorityScore",
1758
1955
  "epss",
@@ -1765,7 +1962,7 @@
1765
1962
  "pluginId",
1766
1963
  "pluginName",
1767
1964
  "pluginFamily",
1768
- "severityLevel",
1965
+ "severity",
1769
1966
  "riskLevel",
1770
1967
  "priorityScore",
1771
1968
  "epss",
@@ -1906,7 +2103,7 @@
1906
2103
  "entity": "assets",
1907
2104
  "title": "Asset Detail",
1908
2105
  "identity": {
1909
- "idField": "entityId"
2106
+ "idField": "identity.recordId"
1910
2107
  },
1911
2108
  "contentTypes": [
1912
2109
  {
@@ -1914,10 +2111,11 @@
1914
2111
  "required": true,
1915
2112
  "multiMatch": {
1916
2113
  "strategy": "last",
1917
- "effectiveDatePath": "capturedAt",
2114
+ "effectiveDatePath": "lifecycle.capturedAt",
1918
2115
  "fallbackEffectiveDatePaths": [
2116
+ "capturedAt",
1919
2117
  "snapshot.capturedAt",
1920
- "data.xdr.last_seen"
2118
+ "data.lastSeen"
1921
2119
  ]
1922
2120
  }
1923
2121
  }
@@ -1928,6 +2126,8 @@
1928
2126
  "title": "Summary",
1929
2127
  "fields": [
1930
2128
  "ipAddress",
2129
+ "subnetId",
2130
+ "subnetIp",
1931
2131
  "hostName",
1932
2132
  "source",
1933
2133
  "agentType",
@@ -1961,12 +2161,23 @@
1961
2161
  "id": "xdr",
1962
2162
  "title": "XDR",
1963
2163
  "fields": [
1964
- "users",
1965
2164
  "rawXdr"
1966
2165
  ]
1967
2166
  }
1968
2167
  ],
1969
2168
  "includeRelations": [
2169
+ {
2170
+ "relation": "assetSubnet",
2171
+ "mode": "record",
2172
+ "limit": 1,
2173
+ "fields": [
2174
+ "subnetId",
2175
+ "subnetIp",
2176
+ "cidr",
2177
+ "zone",
2178
+ "vr"
2179
+ ]
2180
+ },
1970
2181
  {
1971
2182
  "relation": "assetVulnerabilities",
1972
2183
  "mode": "array",
@@ -1975,13 +2186,66 @@
1975
2186
  "fields": [
1976
2187
  "vulnerabilityId",
1977
2188
  "pluginName",
1978
- "severityLevel",
2189
+ "severity",
1979
2190
  "riskLevel",
1980
2191
  "priorityScore",
1981
- "cveIds"
2192
+ "cveId"
2193
+ ]
2194
+ }
2195
+ ],
2196
+ "content": {
2197
+ "allowed": false
2198
+ }
2199
+ }
2200
+ },
2201
+ {
2202
+ "catalogId": "memorix-item-descriptors",
2203
+ "scope": {
2204
+ "domains": [
2205
+ "network",
2206
+ "vulnerabilities"
2207
+ ],
2208
+ "agents": [
2209
+ "neo"
2210
+ ]
2211
+ },
2212
+ "data": {
2213
+ "id": "topology-subnet-detail-item",
2214
+ "entity": "topology-subnets",
2215
+ "title": "Topology Subnet Detail",
2216
+ "identity": {
2217
+ "idField": "identity.recordId"
2218
+ },
2219
+ "contentTypes": [
2220
+ {
2221
+ "contentType": "snapshots",
2222
+ "required": true,
2223
+ "multiMatch": {
2224
+ "strategy": "last",
2225
+ "effectiveDatePath": "lifecycle.capturedAt",
2226
+ "fallbackEffectiveDatePaths": [
2227
+ "capturedAt",
2228
+ "snapshot.capturedAt"
2229
+ ]
2230
+ }
2231
+ }
2232
+ ],
2233
+ "sections": [
2234
+ {
2235
+ "id": "summary",
2236
+ "title": "Summary",
2237
+ "fields": [
2238
+ "subnetId",
2239
+ "subnetIp",
2240
+ "cidr",
2241
+ "zone",
2242
+ "zoneClass",
2243
+ "vr",
2244
+ "recordId"
1982
2245
  ]
1983
2246
  }
1984
2247
  ],
2248
+ "includeRelations": [],
1985
2249
  "content": {
1986
2250
  "allowed": false
1987
2251
  }
@@ -2003,7 +2267,7 @@
2003
2267
  "entity": "vulnerabilities",
2004
2268
  "title": "Vulnerability Detail",
2005
2269
  "identity": {
2006
- "idField": "entityId"
2270
+ "idField": "identity.recordId"
2007
2271
  },
2008
2272
  "contentTypes": [
2009
2273
  {
@@ -2011,8 +2275,9 @@
2011
2275
  "required": true,
2012
2276
  "multiMatch": {
2013
2277
  "strategy": "last",
2014
- "effectiveDatePath": "capturedAt",
2278
+ "effectiveDatePath": "lifecycle.capturedAt",
2015
2279
  "fallbackEffectiveDatePaths": [
2280
+ "capturedAt",
2016
2281
  "snapshot.capturedAt",
2017
2282
  "data.enrichment.enrichedAt"
2018
2283
  ]
@@ -2028,8 +2293,7 @@
2028
2293
  "pluginName",
2029
2294
  "pluginFamily",
2030
2295
  "severity",
2031
- "severityLevel",
2032
- "cveIds"
2296
+ "cveId"
2033
2297
  ]
2034
2298
  },
2035
2299
  {
@@ -2093,7 +2357,7 @@
2093
2357
  "fields": [
2094
2358
  "groupId",
2095
2359
  "pluginName",
2096
- "severityLevel",
2360
+ "severity",
2097
2361
  "affectedEntitiesCount",
2098
2362
  "riskLevel",
2099
2363
  "priorityScore"
@@ -2121,7 +2385,7 @@
2121
2385
  "entity": "variabilities-groups",
2122
2386
  "title": "Vulnerability Group Detail",
2123
2387
  "identity": {
2124
- "idField": "entityId"
2388
+ "idField": "identity.recordId"
2125
2389
  },
2126
2390
  "contentTypes": [
2127
2391
  {
@@ -2129,8 +2393,9 @@
2129
2393
  "required": true,
2130
2394
  "multiMatch": {
2131
2395
  "strategy": "last",
2132
- "effectiveDatePath": "capturedAt",
2396
+ "effectiveDatePath": "lifecycle.capturedAt",
2133
2397
  "fallbackEffectiveDatePaths": [
2398
+ "capturedAt",
2134
2399
  "snapshot.capturedAt",
2135
2400
  "data.enrichedAt",
2136
2401
  "data.enrichment.enrichedAt"
@@ -2149,8 +2414,7 @@
2149
2414
  "pluginName",
2150
2415
  "pluginFamily",
2151
2416
  "severity",
2152
- "severityLevel",
2153
- "cveIds",
2417
+ "cveId",
2154
2418
  "source"
2155
2419
  ]
2156
2420
  },
@@ -2193,7 +2457,7 @@
2193
2457
  "vulnerabilityId",
2194
2458
  "assetIp",
2195
2459
  "pluginName",
2196
- "severityLevel",
2460
+ "severity",
2197
2461
  "riskLevel",
2198
2462
  "priorityScore"
2199
2463
  ]