github.com/lineaje-labs/syft@v0.98.1-0.20231227153149-9e393f60ff1b/schema/json/schema-1.0.5.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 "checksum": { 23 "type": "string" 24 } 25 }, 26 "additionalProperties": true, 27 "type": "object" 28 }, 29 "ApkMetadata": { 30 "required": [ 31 "package", 32 "originPackage", 33 "maintainer", 34 "version", 35 "license", 36 "architecture", 37 "url", 38 "description", 39 "size", 40 "installedSize", 41 "pullDependencies", 42 "pullChecksum", 43 "gitCommitOfApkPort", 44 "files" 45 ], 46 "properties": { 47 "package": { 48 "type": "string" 49 }, 50 "originPackage": { 51 "type": "string" 52 }, 53 "maintainer": { 54 "type": "string" 55 }, 56 "version": { 57 "type": "string" 58 }, 59 "license": { 60 "type": "string" 61 }, 62 "architecture": { 63 "type": "string" 64 }, 65 "url": { 66 "type": "string" 67 }, 68 "description": { 69 "type": "string" 70 }, 71 "size": { 72 "type": "integer" 73 }, 74 "installedSize": { 75 "type": "integer" 76 }, 77 "pullDependencies": { 78 "type": "string" 79 }, 80 "pullChecksum": { 81 "type": "string" 82 }, 83 "gitCommitOfApkPort": { 84 "type": "string" 85 }, 86 "files": { 87 "items": { 88 "$schema": "http://json-schema.org/draft-04/schema#", 89 "$ref": "#/definitions/ApkFileRecord" 90 }, 91 "type": "array" 92 } 93 }, 94 "additionalProperties": true, 95 "type": "object" 96 }, 97 "CargoPackageMetadata": { 98 "required": [ 99 "name", 100 "version", 101 "source", 102 "checksum", 103 "dependencies" 104 ], 105 "properties": { 106 "name": { 107 "type": "string" 108 }, 109 "version": { 110 "type": "string" 111 }, 112 "source": { 113 "type": "string" 114 }, 115 "checksum": { 116 "type": "string" 117 }, 118 "dependencies": { 119 "items": { 120 "type": "string" 121 }, 122 "type": "array" 123 } 124 }, 125 "additionalProperties": true, 126 "type": "object" 127 }, 128 "Descriptor": { 129 "required": [ 130 "name", 131 "version" 132 ], 133 "properties": { 134 "name": { 135 "type": "string" 136 }, 137 "version": { 138 "type": "string" 139 }, 140 "configuration": { 141 "additionalProperties": true 142 } 143 }, 144 "additionalProperties": true, 145 "type": "object" 146 }, 147 "Digest": { 148 "required": [ 149 "algorithm", 150 "value" 151 ], 152 "properties": { 153 "algorithm": { 154 "type": "string" 155 }, 156 "value": { 157 "type": "string" 158 } 159 }, 160 "additionalProperties": true, 161 "type": "object" 162 }, 163 "Distribution": { 164 "required": [ 165 "name", 166 "version", 167 "idLike" 168 ], 169 "properties": { 170 "name": { 171 "type": "string" 172 }, 173 "version": { 174 "type": "string" 175 }, 176 "idLike": { 177 "type": "string" 178 } 179 }, 180 "additionalProperties": true, 181 "type": "object" 182 }, 183 "Document": { 184 "required": [ 185 "artifacts", 186 "artifactRelationships", 187 "source", 188 "distro", 189 "descriptor", 190 "schema" 191 ], 192 "properties": { 193 "fileMetadata": { 194 "items": { 195 "$schema": "http://json-schema.org/draft-04/schema#", 196 "$ref": "#/definitions/FileMetadata" 197 }, 198 "type": "array" 199 }, 200 "secrets": { 201 "items": { 202 "$schema": "http://json-schema.org/draft-04/schema#", 203 "$ref": "#/definitions/Secrets" 204 }, 205 "type": "array" 206 }, 207 "artifacts": { 208 "items": { 209 "$schema": "http://json-schema.org/draft-04/schema#", 210 "$ref": "#/definitions/Package" 211 }, 212 "type": "array" 213 }, 214 "artifactRelationships": { 215 "items": { 216 "$schema": "http://json-schema.org/draft-04/schema#", 217 "$ref": "#/definitions/Relationship" 218 }, 219 "type": "array" 220 }, 221 "source": { 222 "$schema": "http://json-schema.org/draft-04/schema#", 223 "$ref": "#/definitions/Source" 224 }, 225 "distro": { 226 "$schema": "http://json-schema.org/draft-04/schema#", 227 "$ref": "#/definitions/Distribution" 228 }, 229 "descriptor": { 230 "$schema": "http://json-schema.org/draft-04/schema#", 231 "$ref": "#/definitions/Descriptor" 232 }, 233 "schema": { 234 "$schema": "http://json-schema.org/draft-04/schema#", 235 "$ref": "#/definitions/Schema" 236 }, 237 "artifacts.metadata": { 238 "anyOf": [ 239 { 240 "type": "null" 241 }, 242 { 243 "$ref": "#/definitions/ApkMetadata" 244 }, 245 { 246 "$ref": "#/definitions/CargoPackageMetadata" 247 }, 248 { 249 "$ref": "#/definitions/DpkgMetadata" 250 }, 251 { 252 "$ref": "#/definitions/GemMetadata" 253 }, 254 { 255 "$ref": "#/definitions/JavaMetadata" 256 }, 257 { 258 "$ref": "#/definitions/NpmPackageJSONMetadata" 259 }, 260 { 261 "$ref": "#/definitions/PythonPackageMetadata" 262 }, 263 { 264 "$ref": "#/definitions/RpmdbMetadata" 265 } 266 ] 267 } 268 }, 269 "additionalProperties": true, 270 "type": "object" 271 }, 272 "DpkgFileRecord": { 273 "required": [ 274 "path", 275 "md5" 276 ], 277 "properties": { 278 "path": { 279 "type": "string" 280 }, 281 "md5": { 282 "type": "string" 283 } 284 }, 285 "additionalProperties": true, 286 "type": "object" 287 }, 288 "DpkgMetadata": { 289 "required": [ 290 "package", 291 "source", 292 "version", 293 "sourceVersion", 294 "architecture", 295 "maintainer", 296 "installedSize", 297 "files" 298 ], 299 "properties": { 300 "package": { 301 "type": "string" 302 }, 303 "source": { 304 "type": "string" 305 }, 306 "version": { 307 "type": "string" 308 }, 309 "sourceVersion": { 310 "type": "string" 311 }, 312 "architecture": { 313 "type": "string" 314 }, 315 "maintainer": { 316 "type": "string" 317 }, 318 "installedSize": { 319 "type": "integer" 320 }, 321 "files": { 322 "items": { 323 "$schema": "http://json-schema.org/draft-04/schema#", 324 "$ref": "#/definitions/DpkgFileRecord" 325 }, 326 "type": "array" 327 } 328 }, 329 "additionalProperties": true, 330 "type": "object" 331 }, 332 "FileMetadata": { 333 "required": [ 334 "location", 335 "metadata" 336 ], 337 "properties": { 338 "location": { 339 "$schema": "http://json-schema.org/draft-04/schema#", 340 "$ref": "#/definitions/Location" 341 }, 342 "metadata": { 343 "$schema": "http://json-schema.org/draft-04/schema#", 344 "$ref": "#/definitions/FileMetadataEntry" 345 } 346 }, 347 "additionalProperties": true, 348 "type": "object" 349 }, 350 "FileMetadataEntry": { 351 "required": [ 352 "mode", 353 "type", 354 "userID", 355 "groupID" 356 ], 357 "properties": { 358 "mode": { 359 "type": "integer" 360 }, 361 "type": { 362 "type": "string" 363 }, 364 "linkDestination": { 365 "type": "string" 366 }, 367 "userID": { 368 "type": "integer" 369 }, 370 "groupID": { 371 "type": "integer" 372 }, 373 "digests": { 374 "items": { 375 "$schema": "http://json-schema.org/draft-04/schema#", 376 "$ref": "#/definitions/Digest" 377 }, 378 "type": "array" 379 } 380 }, 381 "additionalProperties": true, 382 "type": "object" 383 }, 384 "GemMetadata": { 385 "required": [ 386 "name", 387 "version" 388 ], 389 "properties": { 390 "name": { 391 "type": "string" 392 }, 393 "version": { 394 "type": "string" 395 }, 396 "files": { 397 "items": { 398 "type": "string" 399 }, 400 "type": "array" 401 }, 402 "authors": { 403 "items": { 404 "type": "string" 405 }, 406 "type": "array" 407 }, 408 "licenses": { 409 "items": { 410 "type": "string" 411 }, 412 "type": "array" 413 }, 414 "homepage": { 415 "type": "string" 416 } 417 }, 418 "additionalProperties": true, 419 "type": "object" 420 }, 421 "JavaManifest": { 422 "properties": { 423 "main": { 424 "patternProperties": { 425 ".*": { 426 "type": "string" 427 } 428 }, 429 "type": "object" 430 }, 431 "namedSections": { 432 "patternProperties": { 433 ".*": { 434 "patternProperties": { 435 ".*": { 436 "type": "string" 437 } 438 }, 439 "type": "object" 440 } 441 }, 442 "type": "object" 443 } 444 }, 445 "additionalProperties": true, 446 "type": "object" 447 }, 448 "JavaMetadata": { 449 "required": [ 450 "virtualPath" 451 ], 452 "properties": { 453 "virtualPath": { 454 "type": "string" 455 }, 456 "manifest": { 457 "$schema": "http://json-schema.org/draft-04/schema#", 458 "$ref": "#/definitions/JavaManifest" 459 }, 460 "pomProperties": { 461 "$schema": "http://json-schema.org/draft-04/schema#", 462 "$ref": "#/definitions/PomProperties" 463 } 464 }, 465 "additionalProperties": true, 466 "type": "object" 467 }, 468 "Location": { 469 "required": [ 470 "path" 471 ], 472 "properties": { 473 "path": { 474 "type": "string" 475 }, 476 "layerID": { 477 "type": "string" 478 } 479 }, 480 "additionalProperties": true, 481 "type": "object" 482 }, 483 "NpmPackageJSONMetadata": { 484 "required": [ 485 "author", 486 "licenses", 487 "homepage", 488 "description", 489 "url" 490 ], 491 "properties": { 492 "files": { 493 "items": { 494 "type": "string" 495 }, 496 "type": "array" 497 }, 498 "author": { 499 "type": "string" 500 }, 501 "licenses": { 502 "items": { 503 "type": "string" 504 }, 505 "type": "array" 506 }, 507 "homepage": { 508 "type": "string" 509 }, 510 "description": { 511 "type": "string" 512 }, 513 "url": { 514 "type": "string" 515 } 516 }, 517 "additionalProperties": true, 518 "type": "object" 519 }, 520 "Package": { 521 "required": [ 522 "id", 523 "name", 524 "version", 525 "type", 526 "foundBy", 527 "locations", 528 "licenses", 529 "language", 530 "cpes", 531 "purl", 532 "metadataType", 533 "metadata" 534 ], 535 "properties": { 536 "id": { 537 "type": "string" 538 }, 539 "name": { 540 "type": "string" 541 }, 542 "version": { 543 "type": "string" 544 }, 545 "type": { 546 "type": "string" 547 }, 548 "foundBy": { 549 "type": "string" 550 }, 551 "locations": { 552 "items": { 553 "$ref": "#/definitions/Location" 554 }, 555 "type": "array" 556 }, 557 "licenses": { 558 "items": { 559 "type": "string" 560 }, 561 "type": "array" 562 }, 563 "language": { 564 "type": "string" 565 }, 566 "cpes": { 567 "items": { 568 "type": "string" 569 }, 570 "type": "array" 571 }, 572 "purl": { 573 "type": "string" 574 }, 575 "metadataType": { 576 "type": "string" 577 }, 578 "metadata": { 579 "additionalProperties": true 580 } 581 }, 582 "additionalProperties": true, 583 "type": "object" 584 }, 585 "PomProperties": { 586 "required": [ 587 "path", 588 "name", 589 "groupId", 590 "artifactId", 591 "version", 592 "extraFields" 593 ], 594 "properties": { 595 "path": { 596 "type": "string" 597 }, 598 "name": { 599 "type": "string" 600 }, 601 "groupId": { 602 "type": "string" 603 }, 604 "artifactId": { 605 "type": "string" 606 }, 607 "version": { 608 "type": "string" 609 }, 610 "extraFields": { 611 "patternProperties": { 612 ".*": { 613 "type": "string" 614 } 615 }, 616 "type": "object" 617 } 618 }, 619 "additionalProperties": true, 620 "type": "object" 621 }, 622 "PythonFileDigest": { 623 "required": [ 624 "algorithm", 625 "value" 626 ], 627 "properties": { 628 "algorithm": { 629 "type": "string" 630 }, 631 "value": { 632 "type": "string" 633 } 634 }, 635 "additionalProperties": true, 636 "type": "object" 637 }, 638 "PythonFileRecord": { 639 "required": [ 640 "path" 641 ], 642 "properties": { 643 "path": { 644 "type": "string" 645 }, 646 "digest": { 647 "$schema": "http://json-schema.org/draft-04/schema#", 648 "$ref": "#/definitions/PythonFileDigest" 649 }, 650 "size": { 651 "type": "string" 652 } 653 }, 654 "additionalProperties": true, 655 "type": "object" 656 }, 657 "PythonPackageMetadata": { 658 "required": [ 659 "name", 660 "version", 661 "license", 662 "author", 663 "authorEmail", 664 "platform", 665 "sitePackagesRootPath" 666 ], 667 "properties": { 668 "name": { 669 "type": "string" 670 }, 671 "version": { 672 "type": "string" 673 }, 674 "license": { 675 "type": "string" 676 }, 677 "author": { 678 "type": "string" 679 }, 680 "authorEmail": { 681 "type": "string" 682 }, 683 "platform": { 684 "type": "string" 685 }, 686 "files": { 687 "items": { 688 "$schema": "http://json-schema.org/draft-04/schema#", 689 "$ref": "#/definitions/PythonFileRecord" 690 }, 691 "type": "array" 692 }, 693 "sitePackagesRootPath": { 694 "type": "string" 695 }, 696 "topLevelPackages": { 697 "items": { 698 "type": "string" 699 }, 700 "type": "array" 701 } 702 }, 703 "additionalProperties": true, 704 "type": "object" 705 }, 706 "Relationship": { 707 "required": [ 708 "parent", 709 "child", 710 "type", 711 "metadata" 712 ], 713 "properties": { 714 "parent": { 715 "type": "string" 716 }, 717 "child": { 718 "type": "string" 719 }, 720 "type": { 721 "type": "string" 722 }, 723 "metadata": { 724 "additionalProperties": true 725 } 726 }, 727 "additionalProperties": true, 728 "type": "object" 729 }, 730 "RpmdbFileRecord": { 731 "required": [ 732 "path", 733 "mode", 734 "size", 735 "sha256" 736 ], 737 "properties": { 738 "path": { 739 "type": "string" 740 }, 741 "mode": { 742 "type": "integer" 743 }, 744 "size": { 745 "type": "integer" 746 }, 747 "sha256": { 748 "type": "string" 749 } 750 }, 751 "additionalProperties": true, 752 "type": "object" 753 }, 754 "RpmdbMetadata": { 755 "required": [ 756 "name", 757 "version", 758 "epoch", 759 "architecture", 760 "release", 761 "sourceRpm", 762 "size", 763 "license", 764 "vendor", 765 "files" 766 ], 767 "properties": { 768 "name": { 769 "type": "string" 770 }, 771 "version": { 772 "type": "string" 773 }, 774 "epoch": { 775 "type": "integer" 776 }, 777 "architecture": { 778 "type": "string" 779 }, 780 "release": { 781 "type": "string" 782 }, 783 "sourceRpm": { 784 "type": "string" 785 }, 786 "size": { 787 "type": "integer" 788 }, 789 "license": { 790 "type": "string" 791 }, 792 "vendor": { 793 "type": "string" 794 }, 795 "files": { 796 "items": { 797 "$schema": "http://json-schema.org/draft-04/schema#", 798 "$ref": "#/definitions/RpmdbFileRecord" 799 }, 800 "type": "array" 801 } 802 }, 803 "additionalProperties": true, 804 "type": "object" 805 }, 806 "Schema": { 807 "required": [ 808 "version", 809 "url" 810 ], 811 "properties": { 812 "version": { 813 "type": "string" 814 }, 815 "url": { 816 "type": "string" 817 } 818 }, 819 "additionalProperties": true, 820 "type": "object" 821 }, 822 "SearchResult": { 823 "required": [ 824 "classification", 825 "lineNumber", 826 "lineOffset", 827 "seekPosition", 828 "length" 829 ], 830 "properties": { 831 "classification": { 832 "type": "string" 833 }, 834 "lineNumber": { 835 "type": "integer" 836 }, 837 "lineOffset": { 838 "type": "integer" 839 }, 840 "seekPosition": { 841 "type": "integer" 842 }, 843 "length": { 844 "type": "integer" 845 }, 846 "value": { 847 "type": "string" 848 } 849 }, 850 "additionalProperties": true, 851 "type": "object" 852 }, 853 "Secrets": { 854 "required": [ 855 "location", 856 "secrets" 857 ], 858 "properties": { 859 "location": { 860 "$ref": "#/definitions/Location" 861 }, 862 "secrets": { 863 "items": { 864 "$schema": "http://json-schema.org/draft-04/schema#", 865 "$ref": "#/definitions/SearchResult" 866 }, 867 "type": "array" 868 } 869 }, 870 "additionalProperties": true, 871 "type": "object" 872 }, 873 "Source": { 874 "required": [ 875 "type", 876 "target" 877 ], 878 "properties": { 879 "type": { 880 "type": "string" 881 }, 882 "target": { 883 "additionalProperties": true 884 } 885 }, 886 "additionalProperties": true, 887 "type": "object" 888 } 889 } 890 }