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