added macOS .app cataloger (#4490)

* added macOS .app cataloger, fixed #4010

Signed-off-by: Rez Moss <hi@rezmoss.com>
Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com>

* added macOS .app cataloger, fixed #4010

Signed-off-by: Rez Moss <hi@rezmoss.com>
Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com>

* added macOS .app cataloger, fixed #4010

Signed-off-by: Rez Moss <hi@rezmoss.com>
Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com>

* address review comments

Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com>

* bump schema to 16.1.7

Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com>

* address static analysis failures

Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com>

* migrate to testdata

Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com>

* expand fields and improve test coverage

Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com>

---------

Signed-off-by: Rez Moss <hi@rezmoss.com>
Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com>
Co-authored-by: Alex Goodman <wagoodman@users.noreply.github.com>
This commit is contained in:
Rez Moss
2026-06-30 10:32:57 -04:00
committed by GitHub
co-authored by Alex Goodman
parent deee79411a
commit 148fe572bc
28 changed files with 5008 additions and 4 deletions
File diff suppressed because it is too large Load Diff
+65 -1
View File
@@ -1,6 +1,6 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "anchore.io/schema/syft/json/16.1.6/document",
"$id": "anchore.io/schema/syft/json/16.1.7/document",
"$ref": "#/$defs/Document",
"$defs": {
"AlpmDbEntry": {
@@ -249,6 +249,67 @@
],
"description": "ApkFileRecord represents a single file listing and metadata from a APK DB entry (which may have many of these file records)."
},
"AppleAppBundleEntry": {
"properties": {
"bundleIdentifier": {
"type": "string",
"description": "BundleIdentifier is the unique identifier for the bundle (e.g. \"com.apple.Safari\")"
},
"name": {
"type": "string",
"description": "Name is the short name of the bundle"
},
"displayName": {
"type": "string",
"description": "DisplayName is the user-facing name of the bundle"
},
"executable": {
"type": "string",
"description": "Executable is the name of the executable within the bundle"
},
"shortVersion": {
"type": "string",
"description": "ShortVersion is the release (marketing) version of the bundle"
},
"version": {
"type": "string",
"description": "Version is the build version of the bundle, which often differs from the short version"
},
"packageType": {
"type": "string",
"description": "PackageType is the four-letter type code (e.g. \"APPL\" for apps, \"FMWK\" for frameworks, \"BNDL\" for bundles)"
},
"supportedPlatforms": {
"items": {
"type": "string"
},
"type": "array",
"description": "SupportedPlatforms lists the platforms the bundle targets (e.g. \"MacOSX\", \"iPhoneOS\")"
},
"minimumSystemVersion": {
"type": "string",
"description": "MinimumSystemVersion is the minimum macOS version required to run the bundle"
},
"minimumOSVersion": {
"type": "string",
"description": "MinimumOSVersion is the minimum OS version required for non-macOS platforms (e.g. iOS)"
},
"copyright": {
"type": "string",
"description": "Copyright is the human-readable copyright notice for the bundle"
},
"platformName": {
"type": "string",
"description": "PlatformName is the platform name of the SDK used to build the bundle (e.g. \"macosx\")"
},
"sdkName": {
"type": "string",
"description": "SDKName is the name of the SDK used to build the bundle (e.g. \"macosx14.0\")"
}
},
"type": "object",
"description": "AppleAppBundleEntry represents metadata about an Apple application bundle (CFBundle) extracted from Info.plist files."
},
"BinarySignature": {
"properties": {
"matches": {
@@ -2674,6 +2735,9 @@
{
"$ref": "#/$defs/ApkDbEntry"
},
{
"$ref": "#/$defs/AppleAppBundleEntry"
},
{
"$ref": "#/$defs/BinarySignature"
},