github.com/lineaje-labs/syft@v0.98.1-0.20231227153149-9e393f60ff1b/schema/json/schema-3.0.0.json (about) 1 { 2 "$schema": "http://json-schema.org/draft-04/schema#", 3 "$ref": "#/definitions/Document", 4 "definitions": { 5 "ApkFileRecord": { 6 "required": [ 7 "path" 8 ], 9 "properties": { 10 "path": { 11 "type": "string" 12 }, 13 "ownerUid": { 14 "type": "string" 15 }, 16 "ownerGid": { 17 "type": "string" 18 }, 19 "permissions": { 20 "type": "string" 21 }, 22 "digest": { 23 "$schema": "http://json-schema.org/draft-04/schema#", 24 "$ref": "#/definitions/Digest" 25 } 26 }, 27 "additionalProperties": true, 28 "type": "object" 29 }, 30 "ApkMetadata": { 31 "required": [ 32 "package", 33 "originPackage", 34 "maintainer", 35 "version", 36 "license", 37 "architecture", 38 "url", 39 "description", 40 "size", 41 "installedSize", 42 "pullDependencies", 43 "pullChecksum", 44 "gitCommitOfApkPort", 45 "files" 46 ], 47 "properties": { 48 "package": { 49 "type": "string" 50 }, 51 "originPackage": { 52 "type": "string" 53 }, 54 "maintainer": { 55 "type": "string" 56 }, 57 "version": { 58 "type": "string" 59 }, 60 "license": { 61 "type": "string" 62 }, 63 "architecture": { 64 "type": "string" 65 }, 66 "url": { 67 "type": "string" 68 }, 69 "description": { 70 "type": "string" 71 }, 72 "size": { 73 "type": "integer" 74 }, 75 "installedSize": { 76 "type": "integer" 77 }, 78 "pullDependencies": { 79 "type": "string" 80 }, 81 "pullChecksum": { 82 "type": "string" 83 }, 84 "gitCommitOfApkPort": { 85 "type": "string" 86 }, 87 "files": { 88 "items": { 89 "$schema": "http://json-schema.org/draft-04/schema#", 90 "$ref": "#/definitions/ApkFileRecord" 91 }, 92 "type": "array" 93 } 94 }, 95 "additionalProperties": true, 96 "type": "object" 97 }, 98 "CargoPackageMetadata": { 99 "required": [ 100 "name", 101 "version", 102 "source", 103 "checksum", 104 "dependencies" 105 ], 106 "properties": { 107 "name": { 108 "type": "string" 109 }, 110 "version": { 111 "type": "string" 112 }, 113 "source": { 114 "type": "string" 115 }, 116 "checksum": { 117 "type": "string" 118 }, 119 "dependencies": { 120 "items": { 121 "type": "string" 122 }, 123 "type": "array" 124 } 125 }, 126 "additionalProperties": true, 127 "type": "object" 128 }, 129 "Classification": { 130 "required": [ 131 "class", 132 "metadata" 133 ], 134 "properties": { 135 "class": { 136 "type": "string" 137 }, 138 "metadata": { 139 "patternProperties": { 140 ".*": { 141 "type": "string" 142 } 143 }, 144 "type": "object" 145 } 146 }, 147 "additionalProperties": true, 148 "type": "object" 149 }, 150 "Coordinates": { 151 "required": [ 152 "path" 153 ], 154 "properties": { 155 "path": { 156 "type": "string" 157 }, 158 "layerID": { 159 "type": "string" 160 } 161 }, 162 "additionalProperties": true, 163 "type": "object" 164 }, 165 "Descriptor": { 166 "required": [ 167 "name", 168 "version" 169 ], 170 "properties": { 171 "name": { 172 "type": "string" 173 }, 174 "version": { 175 "type": "string" 176 }, 177 "configuration": { 178 "additionalProperties": true 179 } 180 }, 181 "additionalProperties": true, 182 "type": "object" 183 }, 184 "Digest": { 185 "required": [ 186 "algorithm", 187 "value" 188 ], 189 "properties": { 190 "algorithm": { 191 "type": "string" 192 }, 193 "value": { 194 "type": "string" 195 } 196 }, 197 "additionalProperties": true, 198 "type": "object" 199 }, 200 "Document": { 201 "required": [ 202 "artifacts", 203 "artifactRelationships", 204 "source", 205 "distro", 206 "descriptor", 207 "schema" 208 ], 209 "properties": { 210 "artifacts": { 211 "items": { 212 "$schema": "http://json-schema.org/draft-04/schema#", 213 "$ref": "#/definitions/Package" 214 }, 215 "type": "array" 216 }, 217 "artifactRelationships": { 218 "items": { 219 "$schema": "http://json-schema.org/draft-04/schema#", 220 "$ref": "#/definitions/Relationship" 221 }, 222 "type": "array" 223 }, 224 "files": { 225 "items": { 226 "$schema": "http://json-schema.org/draft-04/schema#", 227 "$ref": "#/definitions/File" 228 }, 229 "type": "array" 230 }, 231 "secrets": { 232 "items": { 233 "$schema": "http://json-schema.org/draft-04/schema#", 234 "$ref": "#/definitions/Secrets" 235 }, 236 "type": "array" 237 }, 238 "source": { 239 "$schema": "http://json-schema.org/draft-04/schema#", 240 "$ref": "#/definitions/Source" 241 }, 242 "distro": { 243 "$schema": "http://json-schema.org/draft-04/schema#", 244 "$ref": "#/definitions/Release" 245 }, 246 "descriptor": { 247 "$schema": "http://json-schema.org/draft-04/schema#", 248 "$ref": "#/definitions/Descriptor" 249 }, 250 "schema": { 251 "$schema": "http://json-schema.org/draft-04/schema#", 252 "$ref": "#/definitions/Schema" 253 } 254 }, 255 "additionalProperties": true, 256 "type": "object" 257 }, 258 "DpkgFileRecord": { 259 "required": [ 260 "path", 261 "isConfigFile" 262 ], 263 "properties": { 264 "path": { 265 "type": "string" 266 }, 267 "digest": { 268 "$ref": "#/definitions/Digest" 269 }, 270 "isConfigFile": { 271 "type": "boolean" 272 } 273 }, 274 "additionalProperties": true, 275 "type": "object" 276 }, 277 "DpkgMetadata": { 278 "required": [ 279 "package", 280 "source", 281 "version", 282 "sourceVersion", 283 "architecture", 284 "maintainer", 285 "installedSize", 286 "files" 287 ], 288 "properties": { 289 "package": { 290 "type": "string" 291 }, 292 "source": { 293 "type": "string" 294 }, 295 "version": { 296 "type": "string" 297 }, 298 "sourceVersion": { 299 "type": "string" 300 }, 301 "architecture": { 302 "type": "string" 303 }, 304 "maintainer": { 305 "type": "string" 306 }, 307 "installedSize": { 308 "type": "integer" 309 }, 310 "files": { 311 "items": { 312 "$schema": "http://json-schema.org/draft-04/schema#", 313 "$ref": "#/definitions/DpkgFileRecord" 314 }, 315 "type": "array" 316 } 317 }, 318 "additionalProperties": true, 319 "type": "object" 320 }, 321 "File": { 322 "required": [ 323 "id", 324 "location" 325 ], 326 "properties": { 327 "id": { 328 "type": "string" 329 }, 330 "location": { 331 "$ref": "#/definitions/Coordinates" 332 }, 333 "metadata": { 334 "$schema": "http://json-schema.org/draft-04/schema#", 335 "$ref": "#/definitions/FileMetadataEntry" 336 }, 337 "contents": { 338 "type": "string" 339 }, 340 "digests": { 341 "items": { 342 "$schema": "http://json-schema.org/draft-04/schema#", 343 "$ref": "#/definitions/Digest" 344 }, 345 "type": "array" 346 }, 347 "classifications": { 348 "items": { 349 "$schema": "http://json-schema.org/draft-04/schema#", 350 "$ref": "#/definitions/Classification" 351 }, 352 "type": "array" 353 } 354 }, 355 "additionalProperties": true, 356 "type": "object" 357 }, 358 "FileMetadataEntry": { 359 "required": [ 360 "mode", 361 "type", 362 "userID", 363 "groupID", 364 "mimeType" 365 ], 366 "properties": { 367 "mode": { 368 "type": "integer" 369 }, 370 "type": { 371 "type": "string" 372 }, 373 "linkDestination": { 374 "type": "string" 375 }, 376 "userID": { 377 "type": "integer" 378 }, 379 "groupID": { 380 "type": "integer" 381 }, 382 "mimeType": { 383 "type": "string" 384 } 385 }, 386 "additionalProperties": true, 387 "type": "object" 388 }, 389 "GemMetadata": { 390 "required": [ 391 "name", 392 "version" 393 ], 394 "properties": { 395 "name": { 396 "type": "string" 397 }, 398 "version": { 399 "type": "string" 400 }, 401 "files": { 402 "items": { 403 "type": "string" 404 }, 405 "type": "array" 406 }, 407 "authors": { 408 "items": { 409 "type": "string" 410 }, 411 "type": "array" 412 }, 413 "licenses": { 414 "items": { 415 "type": "string" 416 }, 417 "type": "array" 418 }, 419 "homepage": { 420 "type": "string" 421 } 422 }, 423 "additionalProperties": true, 424 "type": "object" 425 }, 426 "GolangBinMetadata": { 427 "required": [ 428 "goCompiledVersion", 429 "architecture", 430 "h1Digest" 431 ], 432 "properties": { 433 "goCompiledVersion": { 434 "type": "string" 435 }, 436 "architecture": { 437 "type": "string" 438 }, 439 "h1Digest": { 440 "type": "string" 441 } 442 }, 443 "additionalProperties": true, 444 "type": "object" 445 }, 446 "JavaManifest": { 447 "properties": { 448 "main": { 449 "patternProperties": { 450 ".*": { 451 "type": "string" 452 } 453 }, 454 "type": "object" 455 }, 456 "namedSections": { 457 "patternProperties": { 458 ".*": { 459 "patternProperties": { 460 ".*": { 461 "type": "string" 462 } 463 }, 464 "type": "object" 465 } 466 }, 467 "type": "object" 468 } 469 }, 470 "additionalProperties": true, 471 "type": "object" 472 }, 473 "JavaMetadata": { 474 "required": [ 475 "virtualPath" 476 ], 477 "properties": { 478 "virtualPath": { 479 "type": "string" 480 }, 481 "manifest": { 482 "$schema": "http://json-schema.org/draft-04/schema#", 483 "$ref": "#/definitions/JavaManifest" 484 }, 485 "pomProperties": { 486 "$schema": "http://json-schema.org/draft-04/schema#", 487 "$ref": "#/definitions/PomProperties" 488 }, 489 "pomProject": { 490 "$schema": "http://json-schema.org/draft-04/schema#", 491 "$ref": "#/definitions/PomProject" 492 } 493 }, 494 "additionalProperties": true, 495 "type": "object" 496 }, 497 "NpmPackageJSONMetadata": { 498 "required": [ 499 "author", 500 "licenses", 501 "homepage", 502 "description", 503 "url" 504 ], 505 "properties": { 506 "files": { 507 "items": { 508 "type": "string" 509 }, 510 "type": "array" 511 }, 512 "author": { 513 "type": "string" 514 }, 515 "licenses": { 516 "items": { 517 "type": "string" 518 }, 519 "type": "array" 520 }, 521 "homepage": { 522 "type": "string" 523 }, 524 "description": { 525 "type": "string" 526 }, 527 "url": { 528 "type": "string" 529 } 530 }, 531 "additionalProperties": true, 532 "type": "object" 533 }, 534 "Package": { 535 "required": [ 536 "id", 537 "name", 538 "version", 539 "type", 540 "foundBy", 541 "locations", 542 "licenses", 543 "language", 544 "cpes", 545 "purl", 546 "metadataType", 547 "metadata" 548 ], 549 "properties": { 550 "id": { 551 "type": "string" 552 }, 553 "name": { 554 "type": "string" 555 }, 556 "version": { 557 "type": "string" 558 }, 559 "type": { 560 "type": "string" 561 }, 562 "foundBy": { 563 "type": "string" 564 }, 565 "locations": { 566 "items": { 567 "$schema": "http://json-schema.org/draft-04/schema#", 568 "$ref": "#/definitions/Coordinates" 569 }, 570 "type": "array" 571 }, 572 "licenses": { 573 "items": { 574 "type": "string" 575 }, 576 "type": "array" 577 }, 578 "language": { 579 "type": "string" 580 }, 581 "cpes": { 582 "items": { 583 "type": "string" 584 }, 585 "type": "array" 586 }, 587 "purl": { 588 "type": "string" 589 }, 590 "metadataType": { 591 "type": "string" 592 }, 593 "metadata": { 594 "anyOf": [ 595 { 596 "type": "null" 597 }, 598 { 599 "$ref": "#/definitions/ApkMetadata" 600 }, 601 { 602 "$ref": "#/definitions/CargoPackageMetadata" 603 }, 604 { 605 "$ref": "#/definitions/DpkgMetadata" 606 }, 607 { 608 "$ref": "#/definitions/GemMetadata" 609 }, 610 { 611 "$ref": "#/definitions/GolangBinMetadata" 612 }, 613 { 614 "$ref": "#/definitions/JavaMetadata" 615 }, 616 { 617 "$ref": "#/definitions/NpmPackageJSONMetadata" 618 }, 619 { 620 "$ref": "#/definitions/PythonPackageMetadata" 621 }, 622 { 623 "$ref": "#/definitions/RpmdbMetadata" 624 } 625 ] 626 } 627 }, 628 "additionalProperties": true, 629 "type": "object" 630 }, 631 "PomParent": { 632 "required": [ 633 "groupId", 634 "artifactId", 635 "version" 636 ], 637 "properties": { 638 "groupId": { 639 "type": "string" 640 }, 641 "artifactId": { 642 "type": "string" 643 }, 644 "version": { 645 "type": "string" 646 } 647 }, 648 "additionalProperties": true, 649 "type": "object" 650 }, 651 "PomProject": { 652 "required": [ 653 "path", 654 "groupId", 655 "artifactId", 656 "version", 657 "name" 658 ], 659 "properties": { 660 "path": { 661 "type": "string" 662 }, 663 "parent": { 664 "$schema": "http://json-schema.org/draft-04/schema#", 665 "$ref": "#/definitions/PomParent" 666 }, 667 "groupId": { 668 "type": "string" 669 }, 670 "artifactId": { 671 "type": "string" 672 }, 673 "version": { 674 "type": "string" 675 }, 676 "name": { 677 "type": "string" 678 }, 679 "description": { 680 "type": "string" 681 }, 682 "url": { 683 "type": "string" 684 } 685 }, 686 "additionalProperties": true, 687 "type": "object" 688 }, 689 "PomProperties": { 690 "required": [ 691 "path", 692 "name", 693 "groupId", 694 "artifactId", 695 "version", 696 "extraFields" 697 ], 698 "properties": { 699 "path": { 700 "type": "string" 701 }, 702 "name": { 703 "type": "string" 704 }, 705 "groupId": { 706 "type": "string" 707 }, 708 "artifactId": { 709 "type": "string" 710 }, 711 "version": { 712 "type": "string" 713 }, 714 "extraFields": { 715 "patternProperties": { 716 ".*": { 717 "type": "string" 718 } 719 }, 720 "type": "object" 721 } 722 }, 723 "additionalProperties": true, 724 "type": "object" 725 }, 726 "PythonDirectURLOriginInfo": { 727 "required": [ 728 "url" 729 ], 730 "properties": { 731 "url": { 732 "type": "string" 733 }, 734 "commitId": { 735 "type": "string" 736 }, 737 "vcs": { 738 "type": "string" 739 } 740 }, 741 "additionalProperties": true, 742 "type": "object" 743 }, 744 "PythonFileDigest": { 745 "required": [ 746 "algorithm", 747 "value" 748 ], 749 "properties": { 750 "algorithm": { 751 "type": "string" 752 }, 753 "value": { 754 "type": "string" 755 } 756 }, 757 "additionalProperties": true, 758 "type": "object" 759 }, 760 "PythonFileRecord": { 761 "required": [ 762 "path" 763 ], 764 "properties": { 765 "path": { 766 "type": "string" 767 }, 768 "digest": { 769 "$schema": "http://json-schema.org/draft-04/schema#", 770 "$ref": "#/definitions/PythonFileDigest" 771 }, 772 "size": { 773 "type": "string" 774 } 775 }, 776 "additionalProperties": true, 777 "type": "object" 778 }, 779 "PythonPackageMetadata": { 780 "required": [ 781 "name", 782 "version", 783 "license", 784 "author", 785 "authorEmail", 786 "platform", 787 "sitePackagesRootPath" 788 ], 789 "properties": { 790 "name": { 791 "type": "string" 792 }, 793 "version": { 794 "type": "string" 795 }, 796 "license": { 797 "type": "string" 798 }, 799 "author": { 800 "type": "string" 801 }, 802 "authorEmail": { 803 "type": "string" 804 }, 805 "platform": { 806 "type": "string" 807 }, 808 "files": { 809 "items": { 810 "$schema": "http://json-schema.org/draft-04/schema#", 811 "$ref": "#/definitions/PythonFileRecord" 812 }, 813 "type": "array" 814 }, 815 "sitePackagesRootPath": { 816 "type": "string" 817 }, 818 "topLevelPackages": { 819 "items": { 820 "type": "string" 821 }, 822 "type": "array" 823 }, 824 "directUrlOrigin": { 825 "$schema": "http://json-schema.org/draft-04/schema#", 826 "$ref": "#/definitions/PythonDirectURLOriginInfo" 827 } 828 }, 829 "additionalProperties": true, 830 "type": "object" 831 }, 832 "Relationship": { 833 "required": [ 834 "parent", 835 "child", 836 "type" 837 ], 838 "properties": { 839 "parent": { 840 "type": "string" 841 }, 842 "child": { 843 "type": "string" 844 }, 845 "type": { 846 "type": "string" 847 }, 848 "metadata": { 849 "additionalProperties": true 850 } 851 }, 852 "additionalProperties": true, 853 "type": "object" 854 }, 855 "Release": { 856 "properties": { 857 "prettyName": { 858 "type": "string" 859 }, 860 "name": { 861 "type": "string" 862 }, 863 "id": { 864 "type": "string" 865 }, 866 "idLike": { 867 "items": { 868 "type": "string" 869 }, 870 "type": "array" 871 }, 872 "version": { 873 "type": "string" 874 }, 875 "versionID": { 876 "type": "string" 877 }, 878 "variant": { 879 "type": "string" 880 }, 881 "variantID": { 882 "type": "string" 883 }, 884 "homeURL": { 885 "type": "string" 886 }, 887 "supportURL": { 888 "type": "string" 889 }, 890 "bugReportURL": { 891 "type": "string" 892 }, 893 "privacyPolicyURL": { 894 "type": "string" 895 }, 896 "cpeName": { 897 "type": "string" 898 } 899 }, 900 "additionalProperties": true, 901 "type": "object" 902 }, 903 "RpmdbFileRecord": { 904 "required": [ 905 "path", 906 "mode", 907 "size", 908 "digest", 909 "userName", 910 "groupName", 911 "flags" 912 ], 913 "properties": { 914 "path": { 915 "type": "string" 916 }, 917 "mode": { 918 "type": "integer" 919 }, 920 "size": { 921 "type": "integer" 922 }, 923 "digest": { 924 "$ref": "#/definitions/Digest" 925 }, 926 "userName": { 927 "type": "string" 928 }, 929 "groupName": { 930 "type": "string" 931 }, 932 "flags": { 933 "type": "string" 934 } 935 }, 936 "additionalProperties": true, 937 "type": "object" 938 }, 939 "RpmdbMetadata": { 940 "required": [ 941 "name", 942 "version", 943 "epoch", 944 "architecture", 945 "release", 946 "sourceRpm", 947 "size", 948 "license", 949 "vendor", 950 "files" 951 ], 952 "properties": { 953 "name": { 954 "type": "string" 955 }, 956 "version": { 957 "type": "string" 958 }, 959 "epoch": { 960 "type": "integer" 961 }, 962 "architecture": { 963 "type": "string" 964 }, 965 "release": { 966 "type": "string" 967 }, 968 "sourceRpm": { 969 "type": "string" 970 }, 971 "size": { 972 "type": "integer" 973 }, 974 "license": { 975 "type": "string" 976 }, 977 "vendor": { 978 "type": "string" 979 }, 980 "files": { 981 "items": { 982 "$schema": "http://json-schema.org/draft-04/schema#", 983 "$ref": "#/definitions/RpmdbFileRecord" 984 }, 985 "type": "array" 986 } 987 }, 988 "additionalProperties": true, 989 "type": "object" 990 }, 991 "Schema": { 992 "required": [ 993 "version", 994 "url" 995 ], 996 "properties": { 997 "version": { 998 "type": "string" 999 }, 1000 "url": { 1001 "type": "string" 1002 } 1003 }, 1004 "additionalProperties": true, 1005 "type": "object" 1006 }, 1007 "SearchResult": { 1008 "required": [ 1009 "classification", 1010 "lineNumber", 1011 "lineOffset", 1012 "seekPosition", 1013 "length" 1014 ], 1015 "properties": { 1016 "classification": { 1017 "type": "string" 1018 }, 1019 "lineNumber": { 1020 "type": "integer" 1021 }, 1022 "lineOffset": { 1023 "type": "integer" 1024 }, 1025 "seekPosition": { 1026 "type": "integer" 1027 }, 1028 "length": { 1029 "type": "integer" 1030 }, 1031 "value": { 1032 "type": "string" 1033 } 1034 }, 1035 "additionalProperties": true, 1036 "type": "object" 1037 }, 1038 "Secrets": { 1039 "required": [ 1040 "location", 1041 "secrets" 1042 ], 1043 "properties": { 1044 "location": { 1045 "$ref": "#/definitions/Coordinates" 1046 }, 1047 "secrets": { 1048 "items": { 1049 "$schema": "http://json-schema.org/draft-04/schema#", 1050 "$ref": "#/definitions/SearchResult" 1051 }, 1052 "type": "array" 1053 } 1054 }, 1055 "additionalProperties": true, 1056 "type": "object" 1057 }, 1058 "Source": { 1059 "required": [ 1060 "type", 1061 "target" 1062 ], 1063 "properties": { 1064 "type": { 1065 "type": "string" 1066 }, 1067 "target": { 1068 "additionalProperties": true 1069 } 1070 }, 1071 "additionalProperties": true, 1072 "type": "object" 1073 } 1074 } 1075 }