github.com/noqcks/syft@v0.0.0-20230920222752-a9e2c4e288e5/schema/json/schema-2.0.1.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 "PythonFileDigest": { 747 "required": [ 748 "algorithm", 749 "value" 750 ], 751 "properties": { 752 "algorithm": { 753 "type": "string" 754 }, 755 "value": { 756 "type": "string" 757 } 758 }, 759 "additionalProperties": true, 760 "type": "object" 761 }, 762 "PythonFileRecord": { 763 "required": [ 764 "path" 765 ], 766 "properties": { 767 "path": { 768 "type": "string" 769 }, 770 "digest": { 771 "$schema": "http://json-schema.org/draft-04/schema#", 772 "$ref": "#/definitions/PythonFileDigest" 773 }, 774 "size": { 775 "type": "string" 776 } 777 }, 778 "additionalProperties": true, 779 "type": "object" 780 }, 781 "PythonPackageMetadata": { 782 "required": [ 783 "name", 784 "version", 785 "license", 786 "author", 787 "authorEmail", 788 "platform", 789 "sitePackagesRootPath" 790 ], 791 "properties": { 792 "name": { 793 "type": "string" 794 }, 795 "version": { 796 "type": "string" 797 }, 798 "license": { 799 "type": "string" 800 }, 801 "author": { 802 "type": "string" 803 }, 804 "authorEmail": { 805 "type": "string" 806 }, 807 "platform": { 808 "type": "string" 809 }, 810 "files": { 811 "items": { 812 "$schema": "http://json-schema.org/draft-04/schema#", 813 "$ref": "#/definitions/PythonFileRecord" 814 }, 815 "type": "array" 816 }, 817 "sitePackagesRootPath": { 818 "type": "string" 819 }, 820 "topLevelPackages": { 821 "items": { 822 "type": "string" 823 }, 824 "type": "array" 825 } 826 }, 827 "additionalProperties": true, 828 "type": "object" 829 }, 830 "Relationship": { 831 "required": [ 832 "parent", 833 "child", 834 "type" 835 ], 836 "properties": { 837 "parent": { 838 "type": "string" 839 }, 840 "child": { 841 "type": "string" 842 }, 843 "type": { 844 "type": "string" 845 }, 846 "metadata": { 847 "additionalProperties": true 848 } 849 }, 850 "additionalProperties": true, 851 "type": "object" 852 }, 853 "RpmdbFileRecord": { 854 "required": [ 855 "path", 856 "mode", 857 "size", 858 "digest", 859 "userName", 860 "groupName", 861 "flags" 862 ], 863 "properties": { 864 "path": { 865 "type": "string" 866 }, 867 "mode": { 868 "type": "integer" 869 }, 870 "size": { 871 "type": "integer" 872 }, 873 "digest": { 874 "$ref": "#/definitions/Digest" 875 }, 876 "userName": { 877 "type": "string" 878 }, 879 "groupName": { 880 "type": "string" 881 }, 882 "flags": { 883 "type": "string" 884 } 885 }, 886 "additionalProperties": true, 887 "type": "object" 888 }, 889 "RpmdbMetadata": { 890 "required": [ 891 "name", 892 "version", 893 "epoch", 894 "architecture", 895 "release", 896 "sourceRpm", 897 "size", 898 "license", 899 "vendor", 900 "files" 901 ], 902 "properties": { 903 "name": { 904 "type": "string" 905 }, 906 "version": { 907 "type": "string" 908 }, 909 "epoch": { 910 "type": "integer" 911 }, 912 "architecture": { 913 "type": "string" 914 }, 915 "release": { 916 "type": "string" 917 }, 918 "sourceRpm": { 919 "type": "string" 920 }, 921 "size": { 922 "type": "integer" 923 }, 924 "license": { 925 "type": "string" 926 }, 927 "vendor": { 928 "type": "string" 929 }, 930 "files": { 931 "items": { 932 "$schema": "http://json-schema.org/draft-04/schema#", 933 "$ref": "#/definitions/RpmdbFileRecord" 934 }, 935 "type": "array" 936 } 937 }, 938 "additionalProperties": true, 939 "type": "object" 940 }, 941 "Schema": { 942 "required": [ 943 "version", 944 "url" 945 ], 946 "properties": { 947 "version": { 948 "type": "string" 949 }, 950 "url": { 951 "type": "string" 952 } 953 }, 954 "additionalProperties": true, 955 "type": "object" 956 }, 957 "SearchResult": { 958 "required": [ 959 "classification", 960 "lineNumber", 961 "lineOffset", 962 "seekPosition", 963 "length" 964 ], 965 "properties": { 966 "classification": { 967 "type": "string" 968 }, 969 "lineNumber": { 970 "type": "integer" 971 }, 972 "lineOffset": { 973 "type": "integer" 974 }, 975 "seekPosition": { 976 "type": "integer" 977 }, 978 "length": { 979 "type": "integer" 980 }, 981 "value": { 982 "type": "string" 983 } 984 }, 985 "additionalProperties": true, 986 "type": "object" 987 }, 988 "Secrets": { 989 "required": [ 990 "location", 991 "secrets" 992 ], 993 "properties": { 994 "location": { 995 "$ref": "#/definitions/Coordinates" 996 }, 997 "secrets": { 998 "items": { 999 "$schema": "http://json-schema.org/draft-04/schema#", 1000 "$ref": "#/definitions/SearchResult" 1001 }, 1002 "type": "array" 1003 } 1004 }, 1005 "additionalProperties": true, 1006 "type": "object" 1007 }, 1008 "Source": { 1009 "required": [ 1010 "type", 1011 "target" 1012 ], 1013 "properties": { 1014 "type": { 1015 "type": "string" 1016 }, 1017 "target": { 1018 "additionalProperties": true 1019 } 1020 }, 1021 "additionalProperties": true, 1022 "type": "object" 1023 } 1024 } 1025 }