github.com/lineaje-labs/syft@v0.98.1-0.20231227153149-9e393f60ff1b/schema/json/schema-1.0.4.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 "artifacts": { 201 "items": { 202 "$schema": "http://json-schema.org/draft-04/schema#", 203 "$ref": "#/definitions/Package" 204 }, 205 "type": "array" 206 }, 207 "artifactRelationships": { 208 "items": { 209 "$schema": "http://json-schema.org/draft-04/schema#", 210 "$ref": "#/definitions/Relationship" 211 }, 212 "type": "array" 213 }, 214 "source": { 215 "$schema": "http://json-schema.org/draft-04/schema#", 216 "$ref": "#/definitions/Source" 217 }, 218 "distro": { 219 "$schema": "http://json-schema.org/draft-04/schema#", 220 "$ref": "#/definitions/Distribution" 221 }, 222 "descriptor": { 223 "$schema": "http://json-schema.org/draft-04/schema#", 224 "$ref": "#/definitions/Descriptor" 225 }, 226 "schema": { 227 "$schema": "http://json-schema.org/draft-04/schema#", 228 "$ref": "#/definitions/Schema" 229 }, 230 "artifacts.metadata": { 231 "anyOf": [ 232 { 233 "type": "null" 234 }, 235 { 236 "$ref": "#/definitions/ApkMetadata" 237 }, 238 { 239 "$ref": "#/definitions/CargoPackageMetadata" 240 }, 241 { 242 "$ref": "#/definitions/DpkgMetadata" 243 }, 244 { 245 "$ref": "#/definitions/GemMetadata" 246 }, 247 { 248 "$ref": "#/definitions/JavaMetadata" 249 }, 250 { 251 "$ref": "#/definitions/NpmPackageJSONMetadata" 252 }, 253 { 254 "$ref": "#/definitions/PythonPackageMetadata" 255 }, 256 { 257 "$ref": "#/definitions/RpmdbMetadata" 258 } 259 ] 260 } 261 }, 262 "additionalProperties": true, 263 "type": "object" 264 }, 265 "DpkgFileRecord": { 266 "required": [ 267 "path", 268 "md5" 269 ], 270 "properties": { 271 "path": { 272 "type": "string" 273 }, 274 "md5": { 275 "type": "string" 276 } 277 }, 278 "additionalProperties": true, 279 "type": "object" 280 }, 281 "DpkgMetadata": { 282 "required": [ 283 "package", 284 "source", 285 "version", 286 "sourceVersion", 287 "architecture", 288 "maintainer", 289 "installedSize", 290 "files" 291 ], 292 "properties": { 293 "package": { 294 "type": "string" 295 }, 296 "source": { 297 "type": "string" 298 }, 299 "version": { 300 "type": "string" 301 }, 302 "sourceVersion": { 303 "type": "string" 304 }, 305 "architecture": { 306 "type": "string" 307 }, 308 "maintainer": { 309 "type": "string" 310 }, 311 "installedSize": { 312 "type": "integer" 313 }, 314 "files": { 315 "items": { 316 "$schema": "http://json-schema.org/draft-04/schema#", 317 "$ref": "#/definitions/DpkgFileRecord" 318 }, 319 "type": "array" 320 } 321 }, 322 "additionalProperties": true, 323 "type": "object" 324 }, 325 "FileMetadata": { 326 "required": [ 327 "location", 328 "metadata" 329 ], 330 "properties": { 331 "location": { 332 "$schema": "http://json-schema.org/draft-04/schema#", 333 "$ref": "#/definitions/Location" 334 }, 335 "metadata": { 336 "$schema": "http://json-schema.org/draft-04/schema#", 337 "$ref": "#/definitions/FileMetadataEntry" 338 } 339 }, 340 "additionalProperties": true, 341 "type": "object" 342 }, 343 "FileMetadataEntry": { 344 "required": [ 345 "mode", 346 "type", 347 "userID", 348 "groupID" 349 ], 350 "properties": { 351 "mode": { 352 "type": "integer" 353 }, 354 "type": { 355 "type": "string" 356 }, 357 "linkDestination": { 358 "type": "string" 359 }, 360 "userID": { 361 "type": "integer" 362 }, 363 "groupID": { 364 "type": "integer" 365 }, 366 "digests": { 367 "items": { 368 "$schema": "http://json-schema.org/draft-04/schema#", 369 "$ref": "#/definitions/Digest" 370 }, 371 "type": "array" 372 } 373 }, 374 "additionalProperties": true, 375 "type": "object" 376 }, 377 "GemMetadata": { 378 "required": [ 379 "name", 380 "version" 381 ], 382 "properties": { 383 "name": { 384 "type": "string" 385 }, 386 "version": { 387 "type": "string" 388 }, 389 "files": { 390 "items": { 391 "type": "string" 392 }, 393 "type": "array" 394 }, 395 "authors": { 396 "items": { 397 "type": "string" 398 }, 399 "type": "array" 400 }, 401 "licenses": { 402 "items": { 403 "type": "string" 404 }, 405 "type": "array" 406 }, 407 "homepage": { 408 "type": "string" 409 } 410 }, 411 "additionalProperties": true, 412 "type": "object" 413 }, 414 "JavaManifest": { 415 "properties": { 416 "main": { 417 "patternProperties": { 418 ".*": { 419 "type": "string" 420 } 421 }, 422 "type": "object" 423 }, 424 "namedSections": { 425 "patternProperties": { 426 ".*": { 427 "patternProperties": { 428 ".*": { 429 "type": "string" 430 } 431 }, 432 "type": "object" 433 } 434 }, 435 "type": "object" 436 } 437 }, 438 "additionalProperties": true, 439 "type": "object" 440 }, 441 "JavaMetadata": { 442 "required": [ 443 "virtualPath" 444 ], 445 "properties": { 446 "virtualPath": { 447 "type": "string" 448 }, 449 "manifest": { 450 "$schema": "http://json-schema.org/draft-04/schema#", 451 "$ref": "#/definitions/JavaManifest" 452 }, 453 "pomProperties": { 454 "$schema": "http://json-schema.org/draft-04/schema#", 455 "$ref": "#/definitions/PomProperties" 456 } 457 }, 458 "additionalProperties": true, 459 "type": "object" 460 }, 461 "Location": { 462 "required": [ 463 "path" 464 ], 465 "properties": { 466 "path": { 467 "type": "string" 468 }, 469 "layerID": { 470 "type": "string" 471 } 472 }, 473 "additionalProperties": true, 474 "type": "object" 475 }, 476 "NpmPackageJSONMetadata": { 477 "required": [ 478 "author", 479 "licenses", 480 "homepage", 481 "description", 482 "url" 483 ], 484 "properties": { 485 "files": { 486 "items": { 487 "type": "string" 488 }, 489 "type": "array" 490 }, 491 "author": { 492 "type": "string" 493 }, 494 "licenses": { 495 "items": { 496 "type": "string" 497 }, 498 "type": "array" 499 }, 500 "homepage": { 501 "type": "string" 502 }, 503 "description": { 504 "type": "string" 505 }, 506 "url": { 507 "type": "string" 508 } 509 }, 510 "additionalProperties": true, 511 "type": "object" 512 }, 513 "Package": { 514 "required": [ 515 "id", 516 "name", 517 "version", 518 "type", 519 "foundBy", 520 "locations", 521 "licenses", 522 "language", 523 "cpes", 524 "purl", 525 "metadataType", 526 "metadata" 527 ], 528 "properties": { 529 "id": { 530 "type": "string" 531 }, 532 "name": { 533 "type": "string" 534 }, 535 "version": { 536 "type": "string" 537 }, 538 "type": { 539 "type": "string" 540 }, 541 "foundBy": { 542 "type": "string" 543 }, 544 "locations": { 545 "items": { 546 "$ref": "#/definitions/Location" 547 }, 548 "type": "array" 549 }, 550 "licenses": { 551 "items": { 552 "type": "string" 553 }, 554 "type": "array" 555 }, 556 "language": { 557 "type": "string" 558 }, 559 "cpes": { 560 "items": { 561 "type": "string" 562 }, 563 "type": "array" 564 }, 565 "purl": { 566 "type": "string" 567 }, 568 "metadataType": { 569 "type": "string" 570 }, 571 "metadata": { 572 "additionalProperties": true 573 } 574 }, 575 "additionalProperties": true, 576 "type": "object" 577 }, 578 "PomProperties": { 579 "required": [ 580 "path", 581 "name", 582 "groupId", 583 "artifactId", 584 "version", 585 "extraFields" 586 ], 587 "properties": { 588 "path": { 589 "type": "string" 590 }, 591 "name": { 592 "type": "string" 593 }, 594 "groupId": { 595 "type": "string" 596 }, 597 "artifactId": { 598 "type": "string" 599 }, 600 "version": { 601 "type": "string" 602 }, 603 "extraFields": { 604 "patternProperties": { 605 ".*": { 606 "type": "string" 607 } 608 }, 609 "type": "object" 610 } 611 }, 612 "additionalProperties": true, 613 "type": "object" 614 }, 615 "PythonFileDigest": { 616 "required": [ 617 "algorithm", 618 "value" 619 ], 620 "properties": { 621 "algorithm": { 622 "type": "string" 623 }, 624 "value": { 625 "type": "string" 626 } 627 }, 628 "additionalProperties": true, 629 "type": "object" 630 }, 631 "PythonFileRecord": { 632 "required": [ 633 "path" 634 ], 635 "properties": { 636 "path": { 637 "type": "string" 638 }, 639 "digest": { 640 "$schema": "http://json-schema.org/draft-04/schema#", 641 "$ref": "#/definitions/PythonFileDigest" 642 }, 643 "size": { 644 "type": "string" 645 } 646 }, 647 "additionalProperties": true, 648 "type": "object" 649 }, 650 "PythonPackageMetadata": { 651 "required": [ 652 "name", 653 "version", 654 "license", 655 "author", 656 "authorEmail", 657 "platform", 658 "sitePackagesRootPath" 659 ], 660 "properties": { 661 "name": { 662 "type": "string" 663 }, 664 "version": { 665 "type": "string" 666 }, 667 "license": { 668 "type": "string" 669 }, 670 "author": { 671 "type": "string" 672 }, 673 "authorEmail": { 674 "type": "string" 675 }, 676 "platform": { 677 "type": "string" 678 }, 679 "files": { 680 "items": { 681 "$schema": "http://json-schema.org/draft-04/schema#", 682 "$ref": "#/definitions/PythonFileRecord" 683 }, 684 "type": "array" 685 }, 686 "sitePackagesRootPath": { 687 "type": "string" 688 }, 689 "topLevelPackages": { 690 "items": { 691 "type": "string" 692 }, 693 "type": "array" 694 } 695 }, 696 "additionalProperties": true, 697 "type": "object" 698 }, 699 "Relationship": { 700 "required": [ 701 "parent", 702 "child", 703 "type", 704 "metadata" 705 ], 706 "properties": { 707 "parent": { 708 "type": "string" 709 }, 710 "child": { 711 "type": "string" 712 }, 713 "type": { 714 "type": "string" 715 }, 716 "metadata": { 717 "additionalProperties": true 718 } 719 }, 720 "additionalProperties": true, 721 "type": "object" 722 }, 723 "RpmdbFileRecord": { 724 "required": [ 725 "path", 726 "mode", 727 "size", 728 "sha256" 729 ], 730 "properties": { 731 "path": { 732 "type": "string" 733 }, 734 "mode": { 735 "type": "integer" 736 }, 737 "size": { 738 "type": "integer" 739 }, 740 "sha256": { 741 "type": "string" 742 } 743 }, 744 "additionalProperties": true, 745 "type": "object" 746 }, 747 "RpmdbMetadata": { 748 "required": [ 749 "name", 750 "version", 751 "epoch", 752 "architecture", 753 "release", 754 "sourceRpm", 755 "size", 756 "license", 757 "vendor", 758 "files" 759 ], 760 "properties": { 761 "name": { 762 "type": "string" 763 }, 764 "version": { 765 "type": "string" 766 }, 767 "epoch": { 768 "type": "integer" 769 }, 770 "architecture": { 771 "type": "string" 772 }, 773 "release": { 774 "type": "string" 775 }, 776 "sourceRpm": { 777 "type": "string" 778 }, 779 "size": { 780 "type": "integer" 781 }, 782 "license": { 783 "type": "string" 784 }, 785 "vendor": { 786 "type": "string" 787 }, 788 "files": { 789 "items": { 790 "$schema": "http://json-schema.org/draft-04/schema#", 791 "$ref": "#/definitions/RpmdbFileRecord" 792 }, 793 "type": "array" 794 } 795 }, 796 "additionalProperties": true, 797 "type": "object" 798 }, 799 "Schema": { 800 "required": [ 801 "version", 802 "url" 803 ], 804 "properties": { 805 "version": { 806 "type": "string" 807 }, 808 "url": { 809 "type": "string" 810 } 811 }, 812 "additionalProperties": true, 813 "type": "object" 814 }, 815 "Source": { 816 "required": [ 817 "type", 818 "target" 819 ], 820 "properties": { 821 "type": { 822 "type": "string" 823 }, 824 "target": { 825 "additionalProperties": true 826 } 827 }, 828 "additionalProperties": true, 829 "type": "object" 830 } 831 } 832 }