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