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