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