@cdxgen/cdxgen 13.3.0 → 13.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -9
- package/bin/cdxgen-secure.js +15 -0
- package/bin/cdxgen.js +115 -31
- package/bin/evinse.js +23 -1
- package/bin/hbom.js +15 -7
- package/bin/repl.js +115 -0
- package/bin/sign.js +45 -15
- package/bin/tracebom.js +5 -1
- package/bin/validate.js +84 -18
- package/bin/verify.js +155 -86
- package/data/cbomosdb-queries.json +13 -1
- package/data/component-tags.json +8 -0
- package/data/helpers/init.gradle +46 -21
- package/data/queries-darwin.json +25 -1
- package/data/queries-win.json +19 -1
- package/data/queries.json +41 -0
- package/data/remediations.json +344 -1
- package/data/rules/cbom-security.yaml +235 -4
- package/data/rules/dependency-sources.yaml +67 -0
- package/data/rules/go-binaries.yaml +46 -0
- package/data/rules/golem-go.yaml +80 -0
- package/data/rules/hbom-compliance.yaml +40 -22
- package/data/rules/hbom-performance.yaml +7 -1
- package/data/rules/host-topology.yaml +1 -1
- package/data/rules/obom-runtime.yaml +31 -2
- package/data/rules/php-runtime.yaml +143 -0
- package/data/rules/scala-evidence.yaml +115 -0
- package/lib/audit/index.js +52 -6
- package/lib/cli/bomAssembly.js +28 -3
- package/lib/cli/cliOptions.js +110 -3
- package/lib/cli/index.js +186 -58
- package/lib/cli/jsBom.js +50 -29
- package/lib/cli/jvmBom.js +779 -146
- package/lib/cli/managedBom.js +1021 -261
- package/lib/cli/nativeBom.js +364 -58
- package/lib/core/activity.js +12 -0
- package/lib/core/env.js +47 -17
- package/lib/core/fs.js +31 -21
- package/lib/core/httpClient.js +233 -69
- package/lib/core/pluginRun.js +184 -0
- package/lib/core/processTree.js +100 -0
- package/lib/core/projectConfig.js +1 -0
- package/lib/core/projectTooling.js +97 -0
- package/lib/core/propertySanitizer.js +72 -0
- package/lib/core/runState.js +39 -0
- package/lib/core/toml.js +72 -0
- package/lib/ecosystems/asarutils.js +4 -2
- package/lib/ecosystems/bunutils.js +5 -7
- package/lib/ecosystems/cargoCache.js +231 -8
- package/lib/ecosystems/cmakeResolver.js +10 -21
- package/lib/ecosystems/cppBuildContext.js +631 -0
- package/lib/ecosystems/cppEvidence.js +337 -22
- package/lib/ecosystems/cppIncludeResolver.js +294 -0
- package/lib/ecosystems/denoutils.js +93 -66
- package/lib/ecosystems/ecosystems.js +1967 -788
- package/lib/ecosystems/golem.js +578 -18
- package/lib/ecosystems/gradleutils.js +340 -46
- package/lib/ecosystems/jsEvidence.js +85 -24
- package/lib/ecosystems/kosi.js +21 -4
- package/lib/ecosystems/npmutils.js +64 -0
- package/lib/ecosystems/parsers-dotnet.js +668 -153
- package/lib/ecosystems/parsers-elm.js +46 -28
- package/lib/ecosystems/parsers-gleam.js +3 -4
- package/lib/ecosystems/parsers-go.js +1283 -297
- package/lib/ecosystems/parsers-js.js +92 -26
- package/lib/ecosystems/parsers-julia.js +2 -3
- package/lib/ecosystems/parsers-jvm.js +463 -29
- package/lib/ecosystems/parsers-misc.js +405 -93
- package/lib/ecosystems/parsers-python.js +152 -20
- package/lib/ecosystems/parsers-rust.js +4 -4
- package/lib/ecosystems/parsers-terraform.js +1573 -19
- package/lib/ecosystems/pythonutils.js +102 -6
- package/lib/ecosystems/remote/huggingface.js +3 -0
- package/lib/ecosystems/rubyutils.js +73 -20
- package/lib/ecosystems/rusi.js +32 -9
- package/lib/ecosystems/sbtutils.js +243 -187
- package/lib/ecosystems/scalacliutils.js +343 -0
- package/lib/ecosystems/scalasem.js +2620 -0
- package/lib/ecosystems/terraformRegistry.js +288 -0
- package/lib/ecosystems/utils.js +2 -0
- package/lib/ecosystems/vendoredCode.js +156 -0
- package/lib/evinser/evinser.js +695 -78
- package/lib/evinser/swiftsem.js +68 -5
- package/lib/helpers/agenticToolutils.js +2 -2
- package/lib/helpers/bomSigner.js +576 -128
- package/lib/inventory/agentSkillSpec.js +17 -0
- package/lib/inventory/aiCollector.js +4 -1
- package/lib/inventory/analyzer.js +110 -127
- package/lib/inventory/apkInstalledDb.js +243 -0
- package/lib/inventory/atomUtils.js +204 -48
- package/lib/inventory/auditCategories.js +10 -3
- package/lib/inventory/buildToolRateLimit.js +144 -0
- package/lib/inventory/cacheCommands.js +2 -1
- package/lib/inventory/cacheDir.js +52 -9
- package/lib/inventory/certificates.js +2371 -0
- package/lib/inventory/cmakeBuildDirs.js +254 -0
- package/lib/inventory/communityAiConfigParser.js +4 -9
- package/lib/inventory/deps.js +507 -128
- package/lib/inventory/display.js +200 -3
- package/lib/inventory/dosai.js +747 -101
- package/lib/inventory/dosaiParsers.js +310 -15
- package/lib/inventory/dynamic.js +96 -8
- package/lib/inventory/envcontext.js +168 -5
- package/lib/inventory/evidenceUtils.js +590 -132
- package/lib/inventory/fetchBatch.js +574 -38
- package/lib/inventory/fetchDiskCache.js +597 -0
- package/lib/inventory/forgeEnricher.js +14 -5
- package/lib/inventory/formulationParsers.js +3 -2
- package/lib/inventory/goBuildInfo.js +140 -0
- package/lib/inventory/hbom.js +67 -7
- package/lib/inventory/hbomAnalysis.js +16 -0
- package/lib/inventory/hostTopology.js +21 -0
- package/lib/inventory/jvmLocalRepos.js +917 -0
- package/lib/inventory/mcpConfigParser.js +2 -3
- package/lib/inventory/osPackagePurl.js +244 -0
- package/lib/inventory/osPackageResolver.js +89 -87
- package/lib/inventory/osinfo.js +79 -31
- package/lib/inventory/osqueryTransform.js +114 -5
- package/lib/inventory/parentSelection.js +146 -0
- package/lib/inventory/phpBuildInfo.js +487 -0
- package/lib/inventory/phpHostProbe.js +641 -0
- package/lib/inventory/rootfsCerts.js +426 -0
- package/lib/inventory/rustFormulationParser.js +3 -4
- package/lib/inventory/scalaCoords.js +153 -0
- package/lib/inventory/source.js +215 -11
- package/lib/inventory/spdx.js +245 -0
- package/lib/inventory/traceRunner.js +93 -8
- package/lib/inventory/tracedCrypto.js +423 -0
- package/lib/managers/binary.js +529 -183
- package/lib/managers/docker.js +199 -44
- package/lib/managers/oci.js +24 -2
- package/lib/parsers/cmakeCache.js +69 -0
- package/lib/parsers/cmakeLists.js +16 -2
- package/lib/parsers/cmakePresets.js +400 -0
- package/lib/parsers/compileCommands.js +557 -0
- package/lib/parsers/email.js +277 -0
- package/lib/parsers/largeJson.js +34 -2
- package/lib/parsers/strictJson.js +322 -0
- package/lib/parsers/terraformConfig.js +1073 -0
- package/lib/parsers/terraformSource.js +652 -0
- package/lib/server/server.js +209 -1
- package/lib/stages/postgen/annotator.js +17 -1
- package/lib/stages/postgen/introspection/markers.js +1 -1
- package/lib/stages/postgen/introspection/reflect.js +4 -1
- package/lib/stages/postgen/postgen.js +20 -6
- package/lib/stages/postgen/ruleEngine.js +58 -1
- package/lib/stages/postgen/specVersionCompat.js +62 -0
- package/lib/stages/pregen/pregen.js +117 -5
- package/lib/validator/bomValidator.js +26 -5
- package/lib/validator/generated/runtime.mjs +13 -0
- package/lib/validator/generated/validate-1.6.mjs +26 -7
- package/lib/validator/generated/validate-1.7.mjs +31 -12
- package/lib/validator/generated/validate-2.0.mjs +30 -11
- package/lib/validator/index.js +25 -10
- package/lib/validator/reporters/json.js +1 -0
- package/package.json +23 -23
- package/types/bin/cdxgen-secure.d.ts +3 -0
- package/types/bin/cdxgen-secure.d.ts.map +1 -0
- package/types/bin/repl.d.ts.map +1 -1
- package/types/lib/audit/index.d.ts.map +1 -1
- package/types/lib/cli/bomAssembly.d.ts +9 -2
- package/types/lib/cli/bomAssembly.d.ts.map +1 -1
- package/types/lib/cli/cliOptions.d.ts +43 -0
- package/types/lib/cli/cliOptions.d.ts.map +1 -1
- package/types/lib/cli/index.d.ts.map +1 -1
- package/types/lib/cli/jsBom.d.ts.map +1 -1
- package/types/lib/cli/jvmBom.d.ts +44 -1
- package/types/lib/cli/jvmBom.d.ts.map +1 -1
- package/types/lib/cli/managedBom.d.ts +7 -4
- package/types/lib/cli/managedBom.d.ts.map +1 -1
- package/types/lib/cli/nativeBom.d.ts +3 -1
- package/types/lib/cli/nativeBom.d.ts.map +1 -1
- package/types/lib/core/activity.d.ts.map +1 -1
- package/types/lib/core/env.d.ts +27 -2
- package/types/lib/core/env.d.ts.map +1 -1
- package/types/lib/core/fs.d.ts.map +1 -1
- package/types/lib/core/httpClient.d.ts +13 -8
- package/types/lib/core/httpClient.d.ts.map +1 -1
- package/types/lib/core/pluginRun.d.ts +97 -0
- package/types/lib/core/pluginRun.d.ts.map +1 -0
- package/types/lib/core/processTree.d.ts +36 -0
- package/types/lib/core/processTree.d.ts.map +1 -0
- package/types/lib/core/projectConfig.d.ts.map +1 -1
- package/types/lib/core/projectTooling.d.ts +41 -0
- package/types/lib/core/projectTooling.d.ts.map +1 -0
- package/types/lib/core/propertySanitizer.d.ts +26 -0
- package/types/lib/core/propertySanitizer.d.ts.map +1 -1
- package/types/lib/core/runState.d.ts +29 -0
- package/types/lib/core/runState.d.ts.map +1 -0
- package/types/lib/core/toml.d.ts +20 -0
- package/types/lib/core/toml.d.ts.map +1 -0
- package/types/lib/ecosystems/asarutils.d.ts.map +1 -1
- package/types/lib/ecosystems/bunutils.d.ts.map +1 -1
- package/types/lib/ecosystems/cargoCache.d.ts +12 -0
- package/types/lib/ecosystems/cargoCache.d.ts.map +1 -1
- package/types/lib/ecosystems/cmakeResolver.d.ts +5 -3
- package/types/lib/ecosystems/cmakeResolver.d.ts.map +1 -1
- package/types/lib/ecosystems/cppBuildContext.d.ts +55 -0
- package/types/lib/ecosystems/cppBuildContext.d.ts.map +1 -0
- package/types/lib/ecosystems/cppEvidence.d.ts +19 -3
- package/types/lib/ecosystems/cppEvidence.d.ts.map +1 -1
- package/types/lib/ecosystems/cppIncludeResolver.d.ts +92 -0
- package/types/lib/ecosystems/cppIncludeResolver.d.ts.map +1 -0
- package/types/lib/ecosystems/denoutils.d.ts +9 -3
- package/types/lib/ecosystems/denoutils.d.ts.map +1 -1
- package/types/lib/ecosystems/ecosystems.d.ts +62 -13
- package/types/lib/ecosystems/ecosystems.d.ts.map +1 -1
- package/types/lib/ecosystems/golem.d.ts +81 -1
- package/types/lib/ecosystems/golem.d.ts.map +1 -1
- package/types/lib/ecosystems/gradleutils.d.ts +59 -7
- package/types/lib/ecosystems/gradleutils.d.ts.map +1 -1
- package/types/lib/ecosystems/jsEvidence.d.ts.map +1 -1
- package/types/lib/ecosystems/kosi.d.ts.map +1 -1
- package/types/lib/ecosystems/npmutils.d.ts +15 -0
- package/types/lib/ecosystems/npmutils.d.ts.map +1 -1
- package/types/lib/ecosystems/parsers-dotnet.d.ts +155 -5
- package/types/lib/ecosystems/parsers-dotnet.d.ts.map +1 -1
- package/types/lib/ecosystems/parsers-elm.d.ts.map +1 -1
- package/types/lib/ecosystems/parsers-gleam.d.ts.map +1 -1
- package/types/lib/ecosystems/parsers-go.d.ts +119 -5
- package/types/lib/ecosystems/parsers-go.d.ts.map +1 -1
- package/types/lib/ecosystems/parsers-js.d.ts +6 -1
- package/types/lib/ecosystems/parsers-js.d.ts.map +1 -1
- package/types/lib/ecosystems/parsers-julia.d.ts.map +1 -1
- package/types/lib/ecosystems/parsers-jvm.d.ts +74 -3
- package/types/lib/ecosystems/parsers-jvm.d.ts.map +1 -1
- package/types/lib/ecosystems/parsers-misc.d.ts +21 -59
- package/types/lib/ecosystems/parsers-misc.d.ts.map +1 -1
- package/types/lib/ecosystems/parsers-python.d.ts +57 -6
- package/types/lib/ecosystems/parsers-python.d.ts.map +1 -1
- package/types/lib/ecosystems/parsers-terraform.d.ts +38 -21
- package/types/lib/ecosystems/parsers-terraform.d.ts.map +1 -1
- package/types/lib/ecosystems/pythonutils.d.ts +26 -1
- package/types/lib/ecosystems/pythonutils.d.ts.map +1 -1
- package/types/lib/ecosystems/remote/huggingface.d.ts.map +1 -1
- package/types/lib/ecosystems/rubyutils.d.ts +21 -1
- package/types/lib/ecosystems/rubyutils.d.ts.map +1 -1
- package/types/lib/ecosystems/rusi.d.ts.map +1 -1
- package/types/lib/ecosystems/sbtutils.d.ts +88 -2
- package/types/lib/ecosystems/sbtutils.d.ts.map +1 -1
- package/types/lib/ecosystems/scalacliutils.d.ts +56 -0
- package/types/lib/ecosystems/scalacliutils.d.ts.map +1 -0
- package/types/lib/ecosystems/scalasem.d.ts +311 -0
- package/types/lib/ecosystems/scalasem.d.ts.map +1 -0
- package/types/lib/ecosystems/terraformRegistry.d.ts +9 -0
- package/types/lib/ecosystems/terraformRegistry.d.ts.map +1 -0
- package/types/lib/ecosystems/utils.d.ts +2 -2
- package/types/lib/ecosystems/utils.d.ts.map +1 -1
- package/types/lib/ecosystems/vendoredCode.d.ts +32 -0
- package/types/lib/ecosystems/vendoredCode.d.ts.map +1 -0
- package/types/lib/evinser/evinser.d.ts +100 -8
- package/types/lib/evinser/evinser.d.ts.map +1 -1
- package/types/lib/evinser/swiftsem.d.ts +10 -0
- package/types/lib/evinser/swiftsem.d.ts.map +1 -1
- package/types/lib/helpers/bomSigner.d.ts +80 -4
- package/types/lib/helpers/bomSigner.d.ts.map +1 -1
- package/types/lib/inventory/agentSkillSpec.d.ts +13 -0
- package/types/lib/inventory/agentSkillSpec.d.ts.map +1 -0
- package/types/lib/inventory/aiCollector.d.ts.map +1 -1
- package/types/lib/inventory/analyzer.d.ts.map +1 -1
- package/types/lib/inventory/apkInstalledDb.d.ts +42 -0
- package/types/lib/inventory/apkInstalledDb.d.ts.map +1 -0
- package/types/lib/inventory/atomUtils.d.ts +96 -10
- package/types/lib/inventory/atomUtils.d.ts.map +1 -1
- package/types/lib/inventory/auditCategories.d.ts +3 -0
- package/types/lib/inventory/auditCategories.d.ts.map +1 -1
- package/types/lib/inventory/buildToolRateLimit.d.ts +38 -0
- package/types/lib/inventory/buildToolRateLimit.d.ts.map +1 -0
- package/types/lib/inventory/cacheCommands.d.ts +2 -1
- package/types/lib/inventory/cacheCommands.d.ts.map +1 -1
- package/types/lib/inventory/cacheDir.d.ts +12 -4
- package/types/lib/inventory/cacheDir.d.ts.map +1 -1
- package/types/lib/inventory/certificates.d.ts +205 -0
- package/types/lib/inventory/certificates.d.ts.map +1 -0
- package/types/lib/inventory/cmakeBuildDirs.d.ts +58 -0
- package/types/lib/inventory/cmakeBuildDirs.d.ts.map +1 -0
- package/types/lib/inventory/communityAiConfigParser.d.ts.map +1 -1
- package/types/lib/inventory/deps.d.ts +61 -2
- package/types/lib/inventory/deps.d.ts.map +1 -1
- package/types/lib/inventory/display.d.ts +18 -0
- package/types/lib/inventory/display.d.ts.map +1 -1
- package/types/lib/inventory/dosai.d.ts +202 -14
- package/types/lib/inventory/dosai.d.ts.map +1 -1
- package/types/lib/inventory/dosaiParsers.d.ts +53 -7
- package/types/lib/inventory/dosaiParsers.d.ts.map +1 -1
- package/types/lib/inventory/dynamic.d.ts +16 -1
- package/types/lib/inventory/dynamic.d.ts.map +1 -1
- package/types/lib/inventory/envcontext.d.ts +40 -2
- package/types/lib/inventory/envcontext.d.ts.map +1 -1
- package/types/lib/inventory/evidenceUtils.d.ts +48 -14
- package/types/lib/inventory/evidenceUtils.d.ts.map +1 -1
- package/types/lib/inventory/fetchBatch.d.ts +83 -14
- package/types/lib/inventory/fetchBatch.d.ts.map +1 -1
- package/types/lib/inventory/fetchDiskCache.d.ts +169 -0
- package/types/lib/inventory/fetchDiskCache.d.ts.map +1 -0
- package/types/lib/inventory/forgeEnricher.d.ts.map +1 -1
- package/types/lib/inventory/formulationParsers.d.ts.map +1 -1
- package/types/lib/inventory/goBuildInfo.d.ts +10 -0
- package/types/lib/inventory/goBuildInfo.d.ts.map +1 -0
- package/types/lib/inventory/hbom.d.ts.map +1 -1
- package/types/lib/inventory/hbomAnalysis.d.ts +10 -0
- package/types/lib/inventory/hbomAnalysis.d.ts.map +1 -1
- package/types/lib/inventory/hostTopology.d.ts.map +1 -1
- package/types/lib/inventory/jvmLocalRepos.d.ts +178 -0
- package/types/lib/inventory/jvmLocalRepos.d.ts.map +1 -0
- package/types/lib/inventory/mcpConfigParser.d.ts.map +1 -1
- package/types/lib/inventory/osPackagePurl.d.ts +99 -0
- package/types/lib/inventory/osPackagePurl.d.ts.map +1 -0
- package/types/lib/inventory/osPackageResolver.d.ts +6 -2
- package/types/lib/inventory/osPackageResolver.d.ts.map +1 -1
- package/types/lib/inventory/osinfo.d.ts +31 -6
- package/types/lib/inventory/osinfo.d.ts.map +1 -1
- package/types/lib/inventory/osqueryTransform.d.ts +51 -0
- package/types/lib/inventory/osqueryTransform.d.ts.map +1 -1
- package/types/lib/inventory/parentSelection.d.ts +34 -0
- package/types/lib/inventory/parentSelection.d.ts.map +1 -0
- package/types/lib/inventory/phpBuildInfo.d.ts +142 -0
- package/types/lib/inventory/phpBuildInfo.d.ts.map +1 -0
- package/types/lib/inventory/phpHostProbe.d.ts +35 -0
- package/types/lib/inventory/phpHostProbe.d.ts.map +1 -0
- package/types/lib/inventory/rootfsCerts.d.ts +27 -0
- package/types/lib/inventory/rootfsCerts.d.ts.map +1 -0
- package/types/lib/inventory/rustFormulationParser.d.ts.map +1 -1
- package/types/lib/inventory/scalaCoords.d.ts +80 -0
- package/types/lib/inventory/scalaCoords.d.ts.map +1 -0
- package/types/lib/inventory/source.d.ts +28 -0
- package/types/lib/inventory/source.d.ts.map +1 -1
- package/types/lib/inventory/spdx.d.ts +24 -0
- package/types/lib/inventory/spdx.d.ts.map +1 -1
- package/types/lib/inventory/traceRunner.d.ts +16 -1
- package/types/lib/inventory/traceRunner.d.ts.map +1 -1
- package/types/lib/inventory/tracedCrypto.d.ts +64 -0
- package/types/lib/inventory/tracedCrypto.d.ts.map +1 -0
- package/types/lib/managers/binary.d.ts +10 -0
- package/types/lib/managers/binary.d.ts.map +1 -1
- package/types/lib/managers/docker.d.ts +12 -0
- package/types/lib/managers/docker.d.ts.map +1 -1
- package/types/lib/managers/oci.d.ts +3 -1
- package/types/lib/managers/oci.d.ts.map +1 -1
- package/types/lib/parsers/cmakeCache.d.ts +16 -0
- package/types/lib/parsers/cmakeCache.d.ts.map +1 -1
- package/types/lib/parsers/cmakeLists.d.ts +2 -1
- package/types/lib/parsers/cmakeLists.d.ts.map +1 -1
- package/types/lib/parsers/cmakePresets.d.ts +78 -0
- package/types/lib/parsers/cmakePresets.d.ts.map +1 -0
- package/types/lib/parsers/compileCommands.d.ts +115 -0
- package/types/lib/parsers/compileCommands.d.ts.map +1 -0
- package/types/lib/parsers/email.d.ts +19 -0
- package/types/lib/parsers/email.d.ts.map +1 -0
- package/types/lib/parsers/largeJson.d.ts +13 -0
- package/types/lib/parsers/largeJson.d.ts.map +1 -1
- package/types/lib/parsers/strictJson.d.ts +46 -0
- package/types/lib/parsers/strictJson.d.ts.map +1 -0
- package/types/lib/parsers/terraformConfig.d.ts +70 -0
- package/types/lib/parsers/terraformConfig.d.ts.map +1 -0
- package/types/lib/parsers/terraformSource.d.ts +66 -0
- package/types/lib/parsers/terraformSource.d.ts.map +1 -0
- package/types/lib/server/server.d.ts +8 -0
- package/types/lib/server/server.d.ts.map +1 -1
- package/types/lib/stages/postgen/annotator.d.ts.map +1 -1
- package/types/lib/stages/postgen/introspection/reflect.d.ts.map +1 -1
- package/types/lib/stages/postgen/postgen.d.ts.map +1 -1
- package/types/lib/stages/postgen/ruleEngine.d.ts +7 -4
- package/types/lib/stages/postgen/ruleEngine.d.ts.map +1 -1
- package/types/lib/stages/postgen/specVersionCompat.d.ts.map +1 -1
- package/types/lib/stages/pregen/pregen.d.ts +14 -1
- package/types/lib/stages/pregen/pregen.d.ts.map +1 -1
- package/types/lib/validator/bomValidator.d.ts.map +1 -1
- package/types/lib/validator/index.d.ts +8 -0
- package/types/lib/validator/index.d.ts.map +1 -1
- package/types/lib/validator/reporters/json.d.ts.map +1 -1
- package/lib/third-party/arborist/snapshots/calc-dep-flags.test.cjs +0 -462
|
@@ -17,6 +17,12 @@
|
|
|
17
17
|
"purlType": "rpm",
|
|
18
18
|
"componentType": "library"
|
|
19
19
|
},
|
|
20
|
+
"pacman_packages": {
|
|
21
|
+
"query": "select * from pacman_packages where name like '%ssl%' OR name like '%crypto%';",
|
|
22
|
+
"description": "Retrieves the crypto and TLS libraries pacman installed on Arch Linux and the distros built on it.",
|
|
23
|
+
"purlType": "alpm",
|
|
24
|
+
"componentType": "library"
|
|
25
|
+
},
|
|
20
26
|
"python_packages": {
|
|
21
27
|
"query": "select * from python_packages where name like '%ssl%' OR name like '%crypto%';",
|
|
22
28
|
"description": "Python packages installed on system.",
|
|
@@ -32,7 +38,13 @@
|
|
|
32
38
|
"homebrew_packages": {
|
|
33
39
|
"query": "SELECT * FROM homebrew_packages where name like '%ssl%' OR name like '%crypto%';",
|
|
34
40
|
"description": "List all homebrew_packages.",
|
|
35
|
-
"purlType": "
|
|
41
|
+
"purlType": "brew",
|
|
42
|
+
"componentType": "library"
|
|
43
|
+
},
|
|
44
|
+
"macports_packages": {
|
|
45
|
+
"query": "select * from macports_packages where name like '%ssl%' OR name like '%crypto%';",
|
|
46
|
+
"description": "Retrieves the crypto and TLS libraries among the active MacPorts ports.",
|
|
47
|
+
"purlType": "macports",
|
|
36
48
|
"componentType": "library"
|
|
37
49
|
},
|
|
38
50
|
"authorized_keys": {
|
package/data/component-tags.json
CHANGED
|
@@ -164,6 +164,7 @@
|
|
|
164
164
|
"windows_programs",
|
|
165
165
|
"processor",
|
|
166
166
|
"services_snapshot",
|
|
167
|
+
"apk_packages",
|
|
167
168
|
"apt_sources",
|
|
168
169
|
"apt_ppa_sources",
|
|
169
170
|
"behavioral_reverse_shell",
|
|
@@ -180,6 +181,13 @@
|
|
|
180
181
|
"gatekeeper",
|
|
181
182
|
"vscode_extensions",
|
|
182
183
|
"homebrew_packages",
|
|
184
|
+
"macports_packages",
|
|
185
|
+
"pacman_packages",
|
|
186
|
+
"snap_packages",
|
|
187
|
+
"flatpak_packages",
|
|
188
|
+
"ai_agent_skills",
|
|
189
|
+
"gpu_info",
|
|
190
|
+
"chrome_search_engines",
|
|
183
191
|
"installed_applications",
|
|
184
192
|
"interface_addresses",
|
|
185
193
|
"kernel_info",
|
package/data/helpers/init.gradle
CHANGED
|
@@ -17,14 +17,51 @@ allprojects {
|
|
|
17
17
|
// attached to the matching component instead of guessing the first repository.
|
|
18
18
|
if (project.hasProperty('cdxgenResolveDistribution') &&
|
|
19
19
|
project.property('cdxgenResolveDistribution').toString() == 'true') {
|
|
20
|
-
|
|
20
|
+
// Shared by every project in the build, so a dependency declared in
|
|
21
|
+
// many subprojects is probed once, and a repository host that
|
|
22
|
+
// answers 429 is left alone for the rest of the build.
|
|
23
|
+
if (!gradle.ext.has('cdxgenResolvedKeys')) {
|
|
24
|
+
gradle.ext.cdxgenResolvedKeys = java.util.concurrent.ConcurrentHashMap.newKeySet()
|
|
25
|
+
gradle.ext.cdxgenPausedHosts = java.util.concurrent.ConcurrentHashMap.newKeySet()
|
|
26
|
+
}
|
|
27
|
+
def resolvedKeys = gradle.ext.cdxgenResolvedKeys
|
|
28
|
+
def pausedHosts = gradle.ext.cdxgenPausedHosts
|
|
29
|
+
// A HEAD request answers whether the repository serves the file
|
|
30
|
+
// without downloading it. Other URL schemes, such as file:, are
|
|
31
|
+
// opened and closed.
|
|
32
|
+
def artifactExists = { String artifactUrl ->
|
|
33
|
+
try {
|
|
34
|
+
def url = new URL(artifactUrl)
|
|
35
|
+
if (url.protocol == 'http' || url.protocol == 'https') {
|
|
36
|
+
if (pausedHosts.contains(url.host)) {
|
|
37
|
+
return false
|
|
38
|
+
}
|
|
39
|
+
def connection = (HttpURLConnection) url.openConnection()
|
|
40
|
+
connection.requestMethod = 'HEAD'
|
|
41
|
+
connection.instanceFollowRedirects = true
|
|
42
|
+
connection.connectTimeout = 10000
|
|
43
|
+
connection.readTimeout = 10000
|
|
44
|
+
def code = connection.responseCode
|
|
45
|
+
connection.disconnect()
|
|
46
|
+
if (code == 429) {
|
|
47
|
+
pausedHosts.add(url.host)
|
|
48
|
+
}
|
|
49
|
+
return code >= 200 && code < 300
|
|
50
|
+
}
|
|
51
|
+
def stream = url.openStream()
|
|
52
|
+
stream.close()
|
|
53
|
+
return true
|
|
54
|
+
} catch (Exception ignored) {
|
|
55
|
+
return false
|
|
56
|
+
}
|
|
57
|
+
}
|
|
21
58
|
project.configurations.each { configuration ->
|
|
22
59
|
configuration.dependencies.each { dependency ->
|
|
23
60
|
if (dependency.group == null || dependency.version == null) {
|
|
24
61
|
return
|
|
25
62
|
}
|
|
26
63
|
def depKey = String.format("%s:%s:%s", dependency.group, dependency.name, dependency.version)
|
|
27
|
-
if (resolvedKeys.
|
|
64
|
+
if (!resolvedKeys.add(depKey)) {
|
|
28
65
|
return
|
|
29
66
|
}
|
|
30
67
|
def groupPath = dependency.group.replace('.', '/')
|
|
@@ -40,28 +77,16 @@ allprojects {
|
|
|
40
77
|
def jarUrl = String.format("%s%s/%s/%s/%s-%s.jar", urlString,
|
|
41
78
|
groupPath, dependency.name, dependency.version,
|
|
42
79
|
dependency.name, dependency.version)
|
|
80
|
+
if (artifactExists(jarUrl)) {
|
|
81
|
+
println "<CDXGEN:distribution>:" + depKey + " -> " + jarUrl
|
|
82
|
+
break
|
|
83
|
+
}
|
|
43
84
|
def aarUrl = String.format("%s%s/%s/%s/%s-%s.aar", urlString,
|
|
44
85
|
groupPath, dependency.name, dependency.version,
|
|
45
86
|
dependency.name, dependency.version)
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
inStreamJar.close()
|
|
50
|
-
println "<CDXGEN:distribution>:" + depKey + " -> " + jarUrl
|
|
51
|
-
resolvedKeys.add(depKey)
|
|
52
|
-
break
|
|
53
|
-
}
|
|
54
|
-
} catch (Exception ignored) {
|
|
55
|
-
}
|
|
56
|
-
try {
|
|
57
|
-
def inStreamAar = new URL(aarUrl).openStream()
|
|
58
|
-
if (inStreamAar != null) {
|
|
59
|
-
inStreamAar.close()
|
|
60
|
-
println "<CDXGEN:distribution>:" + depKey + " -> " + aarUrl
|
|
61
|
-
resolvedKeys.add(depKey)
|
|
62
|
-
break
|
|
63
|
-
}
|
|
64
|
-
} catch (Exception ignored) {
|
|
87
|
+
if (artifactExists(aarUrl)) {
|
|
88
|
+
println "<CDXGEN:distribution>:" + depKey + " -> " + aarUrl
|
|
89
|
+
break
|
|
65
90
|
}
|
|
66
91
|
}
|
|
67
92
|
}
|
package/data/queries-darwin.json
CHANGED
|
@@ -29,6 +29,18 @@
|
|
|
29
29
|
"purlType": "vscode-extension",
|
|
30
30
|
"componentType": "application"
|
|
31
31
|
},
|
|
32
|
+
"chrome_search_engines": {
|
|
33
|
+
"query": "SELECT chrome_search_engines.*, chrome_search_engines.browser_type || '/' || chrome_search_engines.uid || '/' || chrome_search_engines.profile AS label FROM users JOIN chrome_search_engines USING (uid);",
|
|
34
|
+
"description": "The default search engine of every Chromium-based browser profile, for each user.",
|
|
35
|
+
"purlType": "swid",
|
|
36
|
+
"componentType": "data"
|
|
37
|
+
},
|
|
38
|
+
"ai_agent_skills": {
|
|
39
|
+
"query": "SELECT ai_agent_skills.*, hash.sha256 FROM users JOIN ai_agent_skills USING (uid) LEFT JOIN hash ON hash.path = ai_agent_skills.path UNION ALL SELECT ai_agent_skills.*, hash.sha256 FROM ai_agent_skills LEFT JOIN hash ON hash.path = ai_agent_skills.path WHERE ai_agent_skills.scope = 'system';",
|
|
40
|
+
"description": "AI agent skills (SKILL.md packages) installed for each user, through Claude Code plugins and system-wide, with the SHA-256 of each SKILL.md. Skills have no package identity, so they get no purl.",
|
|
41
|
+
"purlType": "generic",
|
|
42
|
+
"componentType": "file"
|
|
43
|
+
},
|
|
32
44
|
"apps": {
|
|
33
45
|
"query": "select * from apps;",
|
|
34
46
|
"description": "macOS applications installed in known search paths (e.g., /Applications).",
|
|
@@ -47,6 +59,12 @@
|
|
|
47
59
|
"purlType": "swid",
|
|
48
60
|
"componentType": "application"
|
|
49
61
|
},
|
|
62
|
+
"gpu_info": {
|
|
63
|
+
"query": "SELECT *, driver_version AS version, vendor AS publisher FROM gpu_info;",
|
|
64
|
+
"description": "GPU inventory with the vendor, model and installed driver version.",
|
|
65
|
+
"purlType": "swid",
|
|
66
|
+
"componentType": "device"
|
|
67
|
+
},
|
|
50
68
|
"certificates": {
|
|
51
69
|
"query": "SELECT * FROM certificates WHERE path != 'Other People';",
|
|
52
70
|
"description": "List all certificates in the trust store.",
|
|
@@ -74,7 +92,13 @@
|
|
|
74
92
|
"homebrew_packages": {
|
|
75
93
|
"query": "SELECT * FROM homebrew_packages;",
|
|
76
94
|
"description": "Homebrew formula and cask inventory including auto-update behavior.",
|
|
77
|
-
"purlType": "
|
|
95
|
+
"purlType": "brew",
|
|
96
|
+
"componentType": "application"
|
|
97
|
+
},
|
|
98
|
+
"macports_packages": {
|
|
99
|
+
"query": "select * from macports_packages;",
|
|
100
|
+
"description": "Retrieves the active ports of the MacPorts registry.",
|
|
101
|
+
"purlType": "macports",
|
|
78
102
|
"componentType": "application"
|
|
79
103
|
},
|
|
80
104
|
"npm_packages": {
|
package/data/queries-win.json
CHANGED
|
@@ -30,6 +30,18 @@
|
|
|
30
30
|
"purlType": "vscode-extension",
|
|
31
31
|
"componentType": "application"
|
|
32
32
|
},
|
|
33
|
+
"chrome_search_engines": {
|
|
34
|
+
"query": "SELECT chrome_search_engines.*, chrome_search_engines.browser_type || '/' || chrome_search_engines.uid || '/' || chrome_search_engines.profile AS label FROM users JOIN chrome_search_engines USING (uid);",
|
|
35
|
+
"description": "The default search engine of every Chromium-based browser profile, for each user.",
|
|
36
|
+
"purlType": "swid",
|
|
37
|
+
"componentType": "data"
|
|
38
|
+
},
|
|
39
|
+
"ai_agent_skills": {
|
|
40
|
+
"query": "SELECT ai_agent_skills.*, hash.sha256 FROM users JOIN ai_agent_skills USING (uid) LEFT JOIN hash ON hash.path = ai_agent_skills.path UNION ALL SELECT ai_agent_skills.*, hash.sha256 FROM ai_agent_skills LEFT JOIN hash ON hash.path = ai_agent_skills.path WHERE ai_agent_skills.scope = 'system';",
|
|
41
|
+
"description": "AI agent skills (SKILL.md packages) installed for each user, through Claude Code plugins and system-wide, with the SHA-256 of each SKILL.md. Skills have no package identity, so they get no purl.",
|
|
42
|
+
"purlType": "generic",
|
|
43
|
+
"componentType": "file"
|
|
44
|
+
},
|
|
33
45
|
"browser_plugins": {
|
|
34
46
|
"query": "select browser_plugins.* from users join browser_plugins using (uid);",
|
|
35
47
|
"description": "Retrieves the list of C/NPAPI browser plugin in the target system.",
|
|
@@ -88,6 +100,12 @@
|
|
|
88
100
|
"purlType": "swid",
|
|
89
101
|
"componentType": "data"
|
|
90
102
|
},
|
|
103
|
+
"gpu_info": {
|
|
104
|
+
"query": "SELECT *, driver_version AS version, vendor AS publisher FROM gpu_info;",
|
|
105
|
+
"description": "GPU inventory with the vendor, model and installed driver version.",
|
|
106
|
+
"purlType": "swid",
|
|
107
|
+
"componentType": "device"
|
|
108
|
+
},
|
|
91
109
|
"users_snapshot": {
|
|
92
110
|
"query": "SELECT username as name, uuid as version, description, directory, uid, type, gid FROM users;",
|
|
93
111
|
"description": "Local and domain-backed user account inventory on Windows endpoints.",
|
|
@@ -167,7 +185,7 @@
|
|
|
167
185
|
"componentType": "data"
|
|
168
186
|
},
|
|
169
187
|
"windows_bitlocker_info": {
|
|
170
|
-
"query": "SELECT device_id as name, drive_letter as version, encryption_method as description, persistent_volume_id, conversion_status, protection_status, percentage_encrypted, lock_status FROM bitlocker_info;",
|
|
188
|
+
"query": "SELECT device_id as name, drive_letter as version, encryption_method as description, persistent_volume_id, conversion_status, protection_status, percentage_encrypted, lock_status, protector_types FROM bitlocker_info;",
|
|
171
189
|
"description": "BitLocker protection and encryption state for local drives.",
|
|
172
190
|
"purlType": "swid",
|
|
173
191
|
"componentType": "data"
|
package/data/queries.json
CHANGED
|
@@ -30,6 +30,18 @@
|
|
|
30
30
|
"purlType": "vscode-extension",
|
|
31
31
|
"componentType": "application"
|
|
32
32
|
},
|
|
33
|
+
"chrome_search_engines": {
|
|
34
|
+
"query": "SELECT chrome_search_engines.*, chrome_search_engines.browser_type || '/' || chrome_search_engines.uid || '/' || chrome_search_engines.profile AS label FROM users JOIN chrome_search_engines USING (uid);",
|
|
35
|
+
"description": "The default search engine of every Chromium-based browser profile, for each user.",
|
|
36
|
+
"purlType": "swid",
|
|
37
|
+
"componentType": "data"
|
|
38
|
+
},
|
|
39
|
+
"ai_agent_skills": {
|
|
40
|
+
"query": "SELECT ai_agent_skills.*, hash.sha256 FROM users JOIN ai_agent_skills USING (uid) LEFT JOIN hash ON hash.path = ai_agent_skills.path UNION ALL SELECT ai_agent_skills.*, hash.sha256 FROM ai_agent_skills LEFT JOIN hash ON hash.path = ai_agent_skills.path WHERE ai_agent_skills.scope = 'system';",
|
|
41
|
+
"description": "AI agent skills (SKILL.md packages) installed for each user, through Claude Code plugins and system-wide, with the SHA-256 of each SKILL.md. Skills have no package identity, so they get no purl.",
|
|
42
|
+
"purlType": "generic",
|
|
43
|
+
"componentType": "file"
|
|
44
|
+
},
|
|
33
45
|
"deb_packages": {
|
|
34
46
|
"query": "select * from deb_packages;",
|
|
35
47
|
"description": "Retrieves all the installed DEB packages in the target Linux system.",
|
|
@@ -69,6 +81,29 @@
|
|
|
69
81
|
"description": "Retrieves all the installed RPM packages in the target Linux system.",
|
|
70
82
|
"purlType": "rpm"
|
|
71
83
|
},
|
|
84
|
+
"pacman_packages": {
|
|
85
|
+
"query": "select * from pacman_packages;",
|
|
86
|
+
"description": "Retrieves all the packages pacman installed on Arch Linux and the distros built on it.",
|
|
87
|
+
"purlType": "alpm"
|
|
88
|
+
},
|
|
89
|
+
"snap_packages": {
|
|
90
|
+
"query": "select * from snap_packages;",
|
|
91
|
+
"description": "Retrieves the installed snap packages at their current revision.",
|
|
92
|
+
"purlType": "snap",
|
|
93
|
+
"componentType": "application"
|
|
94
|
+
},
|
|
95
|
+
"flatpak_packages": {
|
|
96
|
+
"query": "select app_id as name, name as display_name, version, arch, branch, commit_hash, origin, runtime, type, installation, summary, description, license, homepage, developer_name from flatpak_packages;",
|
|
97
|
+
"description": "Retrieves the Flatpak applications and runtimes installed system-wide and for each user.",
|
|
98
|
+
"purlType": "flatpak",
|
|
99
|
+
"componentType": "application"
|
|
100
|
+
},
|
|
101
|
+
"homebrew_packages": {
|
|
102
|
+
"query": "SELECT * FROM homebrew_packages;",
|
|
103
|
+
"description": "Homebrew formula and cask inventory including auto-update behavior.",
|
|
104
|
+
"purlType": "brew",
|
|
105
|
+
"componentType": "application"
|
|
106
|
+
},
|
|
72
107
|
"python_packages": {
|
|
73
108
|
"query": "select * from python_packages;",
|
|
74
109
|
"description": "Python packages installed on system.",
|
|
@@ -85,6 +120,12 @@
|
|
|
85
120
|
"purlType": "swid",
|
|
86
121
|
"componentType": "data"
|
|
87
122
|
},
|
|
123
|
+
"gpu_info": {
|
|
124
|
+
"query": "SELECT *, driver_version AS version, vendor AS publisher FROM gpu_info;",
|
|
125
|
+
"description": "GPU inventory with the vendor, model and installed driver version.",
|
|
126
|
+
"purlType": "swid",
|
|
127
|
+
"componentType": "device"
|
|
128
|
+
},
|
|
88
129
|
"users_snapshot": {
|
|
89
130
|
"query": "SELECT username as name, uuid as version, description, directory, shell, uid, gid FROM users;",
|
|
90
131
|
"description": "Local user inventory for account and shell posture analysis.",
|