github.com/noqcks/syft@v0.0.0-20230920222752-a9e2c4e288e5/schema/json/schema-2.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 "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 "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/JavaMetadata" 612 }, 613 { 614 "$ref": "#/definitions/NpmPackageJSONMetadata" 615 }, 616 { 617 "$ref": "#/definitions/PythonPackageMetadata" 618 }, 619 { 620 "$ref": "#/definitions/RpmdbMetadata" 621 } 622 ] 623 } 624 }, 625 "additionalProperties": true, 626 "type": "object" 627 }, 628 "PomParent": { 629 "required": [ 630 "groupId", 631 "artifactId", 632 "version" 633 ], 634 "properties": { 635 "groupId": { 636 "type": "string" 637 }, 638 "artifactId": { 639 "type": "string" 640 }, 641 "version": { 642 "type": "string" 643 } 644 }, 645 "additionalProperties": true, 646 "type": "object" 647 }, 648 "PomProject": { 649 "required": [ 650 "path", 651 "groupId", 652 "artifactId", 653 "version", 654 "name" 655 ], 656 "properties": { 657 "path": { 658 "type": "string" 659 }, 660 "parent": { 661 "$schema": "http://json-schema.org/draft-04/schema#", 662 "$ref": "#/definitions/PomParent" 663 }, 664 "groupId": { 665 "type": "string" 666 }, 667 "artifactId": { 668 "type": "string" 669 }, 670 "version": { 671 "type": "string" 672 }, 673 "name": { 674 "type": "string" 675 }, 676 "description": { 677 "type": "string" 678 }, 679 "url": { 680 "type": "string" 681 } 682 }, 683 "additionalProperties": true, 684 "type": "object" 685 }, 686 "PomProperties": { 687 "required": [ 688 "path", 689 "name", 690 "groupId", 691 "artifactId", 692 "version", 693 "extraFields" 694 ], 695 "properties": { 696 "path": { 697 "type": "string" 698 }, 699 "name": { 700 "type": "string" 701 }, 702 "groupId": { 703 "type": "string" 704 }, 705 "artifactId": { 706 "type": "string" 707 }, 708 "version": { 709 "type": "string" 710 }, 711 "extraFields": { 712 "patternProperties": { 713 ".*": { 714 "type": "string" 715 } 716 }, 717 "type": "object" 718 } 719 }, 720 "additionalProperties": true, 721 "type": "object" 722 }, 723 "PythonFileDigest": { 724 "required": [ 725 "algorithm", 726 "value" 727 ], 728 "properties": { 729 "algorithm": { 730 "type": "string" 731 }, 732 "value": { 733 "type": "string" 734 } 735 }, 736 "additionalProperties": true, 737 "type": "object" 738 }, 739 "PythonFileRecord": { 740 "required": [ 741 "path" 742 ], 743 "properties": { 744 "path": { 745 "type": "string" 746 }, 747 "digest": { 748 "$schema": "http://json-schema.org/draft-04/schema#", 749 "$ref": "#/definitions/PythonFileDigest" 750 }, 751 "size": { 752 "type": "string" 753 } 754 }, 755 "additionalProperties": true, 756 "type": "object" 757 }, 758 "PythonPackageMetadata": { 759 "required": [ 760 "name", 761 "version", 762 "license", 763 "author", 764 "authorEmail", 765 "platform", 766 "sitePackagesRootPath" 767 ], 768 "properties": { 769 "name": { 770 "type": "string" 771 }, 772 "version": { 773 "type": "string" 774 }, 775 "license": { 776 "type": "string" 777 }, 778 "author": { 779 "type": "string" 780 }, 781 "authorEmail": { 782 "type": "string" 783 }, 784 "platform": { 785 "type": "string" 786 }, 787 "files": { 788 "items": { 789 "$schema": "http://json-schema.org/draft-04/schema#", 790 "$ref": "#/definitions/PythonFileRecord" 791 }, 792 "type": "array" 793 }, 794 "sitePackagesRootPath": { 795 "type": "string" 796 }, 797 "topLevelPackages": { 798 "items": { 799 "type": "string" 800 }, 801 "type": "array" 802 } 803 }, 804 "additionalProperties": true, 805 "type": "object" 806 }, 807 "Relationship": { 808 "required": [ 809 "parent", 810 "child", 811 "type" 812 ], 813 "properties": { 814 "parent": { 815 "type": "string" 816 }, 817 "child": { 818 "type": "string" 819 }, 820 "type": { 821 "type": "string" 822 }, 823 "metadata": { 824 "additionalProperties": true 825 } 826 }, 827 "additionalProperties": true, 828 "type": "object" 829 }, 830 "RpmdbFileRecord": { 831 "required": [ 832 "path", 833 "mode", 834 "size", 835 "digest", 836 "userName", 837 "groupName", 838 "flags" 839 ], 840 "properties": { 841 "path": { 842 "type": "string" 843 }, 844 "mode": { 845 "type": "integer" 846 }, 847 "size": { 848 "type": "integer" 849 }, 850 "digest": { 851 "$ref": "#/definitions/Digest" 852 }, 853 "userName": { 854 "type": "string" 855 }, 856 "groupName": { 857 "type": "string" 858 }, 859 "flags": { 860 "type": "string" 861 } 862 }, 863 "additionalProperties": true, 864 "type": "object" 865 }, 866 "RpmdbMetadata": { 867 "required": [ 868 "name", 869 "version", 870 "epoch", 871 "architecture", 872 "release", 873 "sourceRpm", 874 "size", 875 "license", 876 "vendor", 877 "files" 878 ], 879 "properties": { 880 "name": { 881 "type": "string" 882 }, 883 "version": { 884 "type": "string" 885 }, 886 "epoch": { 887 "type": "integer" 888 }, 889 "architecture": { 890 "type": "string" 891 }, 892 "release": { 893 "type": "string" 894 }, 895 "sourceRpm": { 896 "type": "string" 897 }, 898 "size": { 899 "type": "integer" 900 }, 901 "license": { 902 "type": "string" 903 }, 904 "vendor": { 905 "type": "string" 906 }, 907 "files": { 908 "items": { 909 "$schema": "http://json-schema.org/draft-04/schema#", 910 "$ref": "#/definitions/RpmdbFileRecord" 911 }, 912 "type": "array" 913 } 914 }, 915 "additionalProperties": true, 916 "type": "object" 917 }, 918 "Schema": { 919 "required": [ 920 "version", 921 "url" 922 ], 923 "properties": { 924 "version": { 925 "type": "string" 926 }, 927 "url": { 928 "type": "string" 929 } 930 }, 931 "additionalProperties": true, 932 "type": "object" 933 }, 934 "SearchResult": { 935 "required": [ 936 "classification", 937 "lineNumber", 938 "lineOffset", 939 "seekPosition", 940 "length" 941 ], 942 "properties": { 943 "classification": { 944 "type": "string" 945 }, 946 "lineNumber": { 947 "type": "integer" 948 }, 949 "lineOffset": { 950 "type": "integer" 951 }, 952 "seekPosition": { 953 "type": "integer" 954 }, 955 "length": { 956 "type": "integer" 957 }, 958 "value": { 959 "type": "string" 960 } 961 }, 962 "additionalProperties": true, 963 "type": "object" 964 }, 965 "Secrets": { 966 "required": [ 967 "location", 968 "secrets" 969 ], 970 "properties": { 971 "location": { 972 "$ref": "#/definitions/Coordinates" 973 }, 974 "secrets": { 975 "items": { 976 "$schema": "http://json-schema.org/draft-04/schema#", 977 "$ref": "#/definitions/SearchResult" 978 }, 979 "type": "array" 980 } 981 }, 982 "additionalProperties": true, 983 "type": "object" 984 }, 985 "Source": { 986 "required": [ 987 "type", 988 "target" 989 ], 990 "properties": { 991 "type": { 992 "type": "string" 993 }, 994 "target": { 995 "additionalProperties": true 996 } 997 }, 998 "additionalProperties": true, 999 "type": "object" 1000 } 1001 } 1002 }