github.com/noqcks/syft@v0.0.0-20230920222752-a9e2c4e288e5/schema/json/schema-2.0.2.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 "Distro": { 201 "required": [ 202 "name", 203 "version", 204 "idLike" 205 ], 206 "properties": { 207 "name": { 208 "type": "string" 209 }, 210 "version": { 211 "type": "string" 212 }, 213 "idLike": { 214 "type": "string" 215 } 216 }, 217 "additionalProperties": true, 218 "type": "object" 219 }, 220 "Document": { 221 "required": [ 222 "artifacts", 223 "artifactRelationships", 224 "source", 225 "distro", 226 "descriptor", 227 "schema" 228 ], 229 "properties": { 230 "artifacts": { 231 "items": { 232 "$schema": "http://json-schema.org/draft-04/schema#", 233 "$ref": "#/definitions/Package" 234 }, 235 "type": "array" 236 }, 237 "artifactRelationships": { 238 "items": { 239 "$schema": "http://json-schema.org/draft-04/schema#", 240 "$ref": "#/definitions/Relationship" 241 }, 242 "type": "array" 243 }, 244 "files": { 245 "items": { 246 "$schema": "http://json-schema.org/draft-04/schema#", 247 "$ref": "#/definitions/File" 248 }, 249 "type": "array" 250 }, 251 "secrets": { 252 "items": { 253 "$schema": "http://json-schema.org/draft-04/schema#", 254 "$ref": "#/definitions/Secrets" 255 }, 256 "type": "array" 257 }, 258 "source": { 259 "$schema": "http://json-schema.org/draft-04/schema#", 260 "$ref": "#/definitions/Source" 261 }, 262 "distro": { 263 "$schema": "http://json-schema.org/draft-04/schema#", 264 "$ref": "#/definitions/Distro" 265 }, 266 "descriptor": { 267 "$schema": "http://json-schema.org/draft-04/schema#", 268 "$ref": "#/definitions/Descriptor" 269 }, 270 "schema": { 271 "$schema": "http://json-schema.org/draft-04/schema#", 272 "$ref": "#/definitions/Schema" 273 } 274 }, 275 "additionalProperties": true, 276 "type": "object" 277 }, 278 "DpkgFileRecord": { 279 "required": [ 280 "path", 281 "isConfigFile" 282 ], 283 "properties": { 284 "path": { 285 "type": "string" 286 }, 287 "digest": { 288 "$ref": "#/definitions/Digest" 289 }, 290 "isConfigFile": { 291 "type": "boolean" 292 } 293 }, 294 "additionalProperties": true, 295 "type": "object" 296 }, 297 "DpkgMetadata": { 298 "required": [ 299 "package", 300 "source", 301 "version", 302 "sourceVersion", 303 "architecture", 304 "maintainer", 305 "installedSize", 306 "files" 307 ], 308 "properties": { 309 "package": { 310 "type": "string" 311 }, 312 "source": { 313 "type": "string" 314 }, 315 "version": { 316 "type": "string" 317 }, 318 "sourceVersion": { 319 "type": "string" 320 }, 321 "architecture": { 322 "type": "string" 323 }, 324 "maintainer": { 325 "type": "string" 326 }, 327 "installedSize": { 328 "type": "integer" 329 }, 330 "files": { 331 "items": { 332 "$schema": "http://json-schema.org/draft-04/schema#", 333 "$ref": "#/definitions/DpkgFileRecord" 334 }, 335 "type": "array" 336 } 337 }, 338 "additionalProperties": true, 339 "type": "object" 340 }, 341 "File": { 342 "required": [ 343 "id", 344 "location" 345 ], 346 "properties": { 347 "id": { 348 "type": "string" 349 }, 350 "location": { 351 "$ref": "#/definitions/Coordinates" 352 }, 353 "metadata": { 354 "$schema": "http://json-schema.org/draft-04/schema#", 355 "$ref": "#/definitions/FileMetadataEntry" 356 }, 357 "contents": { 358 "type": "string" 359 }, 360 "digests": { 361 "items": { 362 "$schema": "http://json-schema.org/draft-04/schema#", 363 "$ref": "#/definitions/Digest" 364 }, 365 "type": "array" 366 }, 367 "classifications": { 368 "items": { 369 "$schema": "http://json-schema.org/draft-04/schema#", 370 "$ref": "#/definitions/Classification" 371 }, 372 "type": "array" 373 } 374 }, 375 "additionalProperties": true, 376 "type": "object" 377 }, 378 "FileMetadataEntry": { 379 "required": [ 380 "mode", 381 "type", 382 "userID", 383 "groupID", 384 "mimeType" 385 ], 386 "properties": { 387 "mode": { 388 "type": "integer" 389 }, 390 "type": { 391 "type": "string" 392 }, 393 "linkDestination": { 394 "type": "string" 395 }, 396 "userID": { 397 "type": "integer" 398 }, 399 "groupID": { 400 "type": "integer" 401 }, 402 "mimeType": { 403 "type": "string" 404 } 405 }, 406 "additionalProperties": true, 407 "type": "object" 408 }, 409 "GemMetadata": { 410 "required": [ 411 "name", 412 "version" 413 ], 414 "properties": { 415 "name": { 416 "type": "string" 417 }, 418 "version": { 419 "type": "string" 420 }, 421 "files": { 422 "items": { 423 "type": "string" 424 }, 425 "type": "array" 426 }, 427 "authors": { 428 "items": { 429 "type": "string" 430 }, 431 "type": "array" 432 }, 433 "licenses": { 434 "items": { 435 "type": "string" 436 }, 437 "type": "array" 438 }, 439 "homepage": { 440 "type": "string" 441 } 442 }, 443 "additionalProperties": true, 444 "type": "object" 445 }, 446 "GolangBinMetadata": { 447 "required": [ 448 "goCompiledVersion", 449 "architecture", 450 "h1Digest" 451 ], 452 "properties": { 453 "goCompiledVersion": { 454 "type": "string" 455 }, 456 "architecture": { 457 "type": "string" 458 }, 459 "h1Digest": { 460 "type": "string" 461 } 462 }, 463 "additionalProperties": true, 464 "type": "object" 465 }, 466 "JavaManifest": { 467 "properties": { 468 "main": { 469 "patternProperties": { 470 ".*": { 471 "type": "string" 472 } 473 }, 474 "type": "object" 475 }, 476 "namedSections": { 477 "patternProperties": { 478 ".*": { 479 "patternProperties": { 480 ".*": { 481 "type": "string" 482 } 483 }, 484 "type": "object" 485 } 486 }, 487 "type": "object" 488 } 489 }, 490 "additionalProperties": true, 491 "type": "object" 492 }, 493 "JavaMetadata": { 494 "required": [ 495 "virtualPath" 496 ], 497 "properties": { 498 "virtualPath": { 499 "type": "string" 500 }, 501 "manifest": { 502 "$schema": "http://json-schema.org/draft-04/schema#", 503 "$ref": "#/definitions/JavaManifest" 504 }, 505 "pomProperties": { 506 "$schema": "http://json-schema.org/draft-04/schema#", 507 "$ref": "#/definitions/PomProperties" 508 }, 509 "pomProject": { 510 "$schema": "http://json-schema.org/draft-04/schema#", 511 "$ref": "#/definitions/PomProject" 512 } 513 }, 514 "additionalProperties": true, 515 "type": "object" 516 }, 517 "NpmPackageJSONMetadata": { 518 "required": [ 519 "author", 520 "licenses", 521 "homepage", 522 "description", 523 "url" 524 ], 525 "properties": { 526 "files": { 527 "items": { 528 "type": "string" 529 }, 530 "type": "array" 531 }, 532 "author": { 533 "type": "string" 534 }, 535 "licenses": { 536 "items": { 537 "type": "string" 538 }, 539 "type": "array" 540 }, 541 "homepage": { 542 "type": "string" 543 }, 544 "description": { 545 "type": "string" 546 }, 547 "url": { 548 "type": "string" 549 } 550 }, 551 "additionalProperties": true, 552 "type": "object" 553 }, 554 "Package": { 555 "required": [ 556 "id", 557 "name", 558 "version", 559 "type", 560 "foundBy", 561 "locations", 562 "licenses", 563 "language", 564 "cpes", 565 "purl", 566 "metadataType", 567 "metadata" 568 ], 569 "properties": { 570 "id": { 571 "type": "string" 572 }, 573 "name": { 574 "type": "string" 575 }, 576 "version": { 577 "type": "string" 578 }, 579 "type": { 580 "type": "string" 581 }, 582 "foundBy": { 583 "type": "string" 584 }, 585 "locations": { 586 "items": { 587 "$schema": "http://json-schema.org/draft-04/schema#", 588 "$ref": "#/definitions/Coordinates" 589 }, 590 "type": "array" 591 }, 592 "licenses": { 593 "items": { 594 "type": "string" 595 }, 596 "type": "array" 597 }, 598 "language": { 599 "type": "string" 600 }, 601 "cpes": { 602 "items": { 603 "type": "string" 604 }, 605 "type": "array" 606 }, 607 "purl": { 608 "type": "string" 609 }, 610 "metadataType": { 611 "type": "string" 612 }, 613 "metadata": { 614 "anyOf": [ 615 { 616 "type": "null" 617 }, 618 { 619 "$ref": "#/definitions/ApkMetadata" 620 }, 621 { 622 "$ref": "#/definitions/CargoPackageMetadata" 623 }, 624 { 625 "$ref": "#/definitions/DpkgMetadata" 626 }, 627 { 628 "$ref": "#/definitions/GemMetadata" 629 }, 630 { 631 "$ref": "#/definitions/GolangBinMetadata" 632 }, 633 { 634 "$ref": "#/definitions/JavaMetadata" 635 }, 636 { 637 "$ref": "#/definitions/NpmPackageJSONMetadata" 638 }, 639 { 640 "$ref": "#/definitions/PythonPackageMetadata" 641 }, 642 { 643 "$ref": "#/definitions/RpmdbMetadata" 644 } 645 ] 646 } 647 }, 648 "additionalProperties": true, 649 "type": "object" 650 }, 651 "PomParent": { 652 "required": [ 653 "groupId", 654 "artifactId", 655 "version" 656 ], 657 "properties": { 658 "groupId": { 659 "type": "string" 660 }, 661 "artifactId": { 662 "type": "string" 663 }, 664 "version": { 665 "type": "string" 666 } 667 }, 668 "additionalProperties": true, 669 "type": "object" 670 }, 671 "PomProject": { 672 "required": [ 673 "path", 674 "groupId", 675 "artifactId", 676 "version", 677 "name" 678 ], 679 "properties": { 680 "path": { 681 "type": "string" 682 }, 683 "parent": { 684 "$schema": "http://json-schema.org/draft-04/schema#", 685 "$ref": "#/definitions/PomParent" 686 }, 687 "groupId": { 688 "type": "string" 689 }, 690 "artifactId": { 691 "type": "string" 692 }, 693 "version": { 694 "type": "string" 695 }, 696 "name": { 697 "type": "string" 698 }, 699 "description": { 700 "type": "string" 701 }, 702 "url": { 703 "type": "string" 704 } 705 }, 706 "additionalProperties": true, 707 "type": "object" 708 }, 709 "PomProperties": { 710 "required": [ 711 "path", 712 "name", 713 "groupId", 714 "artifactId", 715 "version", 716 "extraFields" 717 ], 718 "properties": { 719 "path": { 720 "type": "string" 721 }, 722 "name": { 723 "type": "string" 724 }, 725 "groupId": { 726 "type": "string" 727 }, 728 "artifactId": { 729 "type": "string" 730 }, 731 "version": { 732 "type": "string" 733 }, 734 "extraFields": { 735 "patternProperties": { 736 ".*": { 737 "type": "string" 738 } 739 }, 740 "type": "object" 741 } 742 }, 743 "additionalProperties": true, 744 "type": "object" 745 }, 746 "PythonDirectURLOriginInfo": { 747 "required": [ 748 "url" 749 ], 750 "properties": { 751 "url": { 752 "type": "string" 753 }, 754 "commitId": { 755 "type": "string" 756 }, 757 "vcs": { 758 "type": "string" 759 } 760 }, 761 "additionalProperties": true, 762 "type": "object" 763 }, 764 "PythonFileDigest": { 765 "required": [ 766 "algorithm", 767 "value" 768 ], 769 "properties": { 770 "algorithm": { 771 "type": "string" 772 }, 773 "value": { 774 "type": "string" 775 } 776 }, 777 "additionalProperties": true, 778 "type": "object" 779 }, 780 "PythonFileRecord": { 781 "required": [ 782 "path" 783 ], 784 "properties": { 785 "path": { 786 "type": "string" 787 }, 788 "digest": { 789 "$schema": "http://json-schema.org/draft-04/schema#", 790 "$ref": "#/definitions/PythonFileDigest" 791 }, 792 "size": { 793 "type": "string" 794 } 795 }, 796 "additionalProperties": true, 797 "type": "object" 798 }, 799 "PythonPackageMetadata": { 800 "required": [ 801 "name", 802 "version", 803 "license", 804 "author", 805 "authorEmail", 806 "platform", 807 "sitePackagesRootPath" 808 ], 809 "properties": { 810 "name": { 811 "type": "string" 812 }, 813 "version": { 814 "type": "string" 815 }, 816 "license": { 817 "type": "string" 818 }, 819 "author": { 820 "type": "string" 821 }, 822 "authorEmail": { 823 "type": "string" 824 }, 825 "platform": { 826 "type": "string" 827 }, 828 "files": { 829 "items": { 830 "$schema": "http://json-schema.org/draft-04/schema#", 831 "$ref": "#/definitions/PythonFileRecord" 832 }, 833 "type": "array" 834 }, 835 "sitePackagesRootPath": { 836 "type": "string" 837 }, 838 "topLevelPackages": { 839 "items": { 840 "type": "string" 841 }, 842 "type": "array" 843 }, 844 "directUrlOrigin": { 845 "$schema": "http://json-schema.org/draft-04/schema#", 846 "$ref": "#/definitions/PythonDirectURLOriginInfo" 847 } 848 }, 849 "additionalProperties": true, 850 "type": "object" 851 }, 852 "Relationship": { 853 "required": [ 854 "parent", 855 "child", 856 "type" 857 ], 858 "properties": { 859 "parent": { 860 "type": "string" 861 }, 862 "child": { 863 "type": "string" 864 }, 865 "type": { 866 "type": "string" 867 }, 868 "metadata": { 869 "additionalProperties": true 870 } 871 }, 872 "additionalProperties": true, 873 "type": "object" 874 }, 875 "RpmdbFileRecord": { 876 "required": [ 877 "path", 878 "mode", 879 "size", 880 "digest", 881 "userName", 882 "groupName", 883 "flags" 884 ], 885 "properties": { 886 "path": { 887 "type": "string" 888 }, 889 "mode": { 890 "type": "integer" 891 }, 892 "size": { 893 "type": "integer" 894 }, 895 "digest": { 896 "$ref": "#/definitions/Digest" 897 }, 898 "userName": { 899 "type": "string" 900 }, 901 "groupName": { 902 "type": "string" 903 }, 904 "flags": { 905 "type": "string" 906 } 907 }, 908 "additionalProperties": true, 909 "type": "object" 910 }, 911 "RpmdbMetadata": { 912 "required": [ 913 "name", 914 "version", 915 "epoch", 916 "architecture", 917 "release", 918 "sourceRpm", 919 "size", 920 "license", 921 "vendor", 922 "files" 923 ], 924 "properties": { 925 "name": { 926 "type": "string" 927 }, 928 "version": { 929 "type": "string" 930 }, 931 "epoch": { 932 "type": "integer" 933 }, 934 "architecture": { 935 "type": "string" 936 }, 937 "release": { 938 "type": "string" 939 }, 940 "sourceRpm": { 941 "type": "string" 942 }, 943 "size": { 944 "type": "integer" 945 }, 946 "license": { 947 "type": "string" 948 }, 949 "vendor": { 950 "type": "string" 951 }, 952 "files": { 953 "items": { 954 "$schema": "http://json-schema.org/draft-04/schema#", 955 "$ref": "#/definitions/RpmdbFileRecord" 956 }, 957 "type": "array" 958 } 959 }, 960 "additionalProperties": true, 961 "type": "object" 962 }, 963 "Schema": { 964 "required": [ 965 "version", 966 "url" 967 ], 968 "properties": { 969 "version": { 970 "type": "string" 971 }, 972 "url": { 973 "type": "string" 974 } 975 }, 976 "additionalProperties": true, 977 "type": "object" 978 }, 979 "SearchResult": { 980 "required": [ 981 "classification", 982 "lineNumber", 983 "lineOffset", 984 "seekPosition", 985 "length" 986 ], 987 "properties": { 988 "classification": { 989 "type": "string" 990 }, 991 "lineNumber": { 992 "type": "integer" 993 }, 994 "lineOffset": { 995 "type": "integer" 996 }, 997 "seekPosition": { 998 "type": "integer" 999 }, 1000 "length": { 1001 "type": "integer" 1002 }, 1003 "value": { 1004 "type": "string" 1005 } 1006 }, 1007 "additionalProperties": true, 1008 "type": "object" 1009 }, 1010 "Secrets": { 1011 "required": [ 1012 "location", 1013 "secrets" 1014 ], 1015 "properties": { 1016 "location": { 1017 "$ref": "#/definitions/Coordinates" 1018 }, 1019 "secrets": { 1020 "items": { 1021 "$schema": "http://json-schema.org/draft-04/schema#", 1022 "$ref": "#/definitions/SearchResult" 1023 }, 1024 "type": "array" 1025 } 1026 }, 1027 "additionalProperties": true, 1028 "type": "object" 1029 }, 1030 "Source": { 1031 "required": [ 1032 "type", 1033 "target" 1034 ], 1035 "properties": { 1036 "type": { 1037 "type": "string" 1038 }, 1039 "target": { 1040 "additionalProperties": true 1041 } 1042 }, 1043 "additionalProperties": true, 1044 "type": "object" 1045 } 1046 } 1047 }