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