@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
|
@@ -1,3 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The .NET runtime a framework-dependent dosai needs, read from the error the
|
|
3
|
+
* .NET host prints when it refuses to start dosai.
|
|
4
|
+
*
|
|
5
|
+
* When an older runtime is installed, the host names the exact framework
|
|
6
|
+
* version it looked for. When it finds no .NET at all, it names only its own
|
|
7
|
+
* version. The app host comes from the pack of the runtime the app targets, so
|
|
8
|
+
* its major version is still the .NET release to install.
|
|
9
|
+
*
|
|
10
|
+
* @param {Object|string} resultOrOutput spawnSync result, or the text it printed
|
|
11
|
+
* @returns {{version: (string|undefined), major: (string|undefined)}|undefined}
|
|
12
|
+
* The framework version, when the host named it, and the .NET major version;
|
|
13
|
+
* undefined when the output is not a .NET host launch failure
|
|
14
|
+
*/
|
|
15
|
+
export declare function dosaiDotnetRequirement(resultOrOutput: Object | string): {
|
|
16
|
+
version: (string | undefined);
|
|
17
|
+
major: (string | undefined);
|
|
18
|
+
} | undefined;
|
|
19
|
+
/**
|
|
20
|
+
* What stopped dosai from starting, for warnings and ledger details.
|
|
21
|
+
*
|
|
22
|
+
* @param {{version: (string|undefined), major: (string|undefined)}} [requirement] Result of dosaiDotnetRequirement
|
|
23
|
+
* @returns {string} A clause naming the missing .NET runtime when it is known
|
|
24
|
+
*/
|
|
25
|
+
export declare function dosaiDotnetRequirementDetail(requirement?: {
|
|
26
|
+
version: (string | undefined);
|
|
27
|
+
major: (string | undefined);
|
|
28
|
+
}): string;
|
|
29
|
+
/**
|
|
30
|
+
* How to get dosai running when the .NET host refused to start it.
|
|
31
|
+
*
|
|
32
|
+
* @param {{version: (string|undefined), major: (string|undefined)}} [requirement] Result of dosaiDotnetRequirement
|
|
33
|
+
* @returns {string} Install instructions, naming the .NET major version when it is known
|
|
34
|
+
*/
|
|
35
|
+
export declare function dosaiDotnetRequirementAdvice(requirement?: {
|
|
36
|
+
version: (string | undefined);
|
|
37
|
+
major: (string | undefined);
|
|
38
|
+
}): string;
|
|
1
39
|
/**
|
|
2
40
|
* Translate cdxgen --exclude globs into dosai --exclude globs.
|
|
3
41
|
*
|
|
@@ -41,6 +79,55 @@ export declare function isDosaiDotnetLanguage(language: string): boolean;
|
|
|
41
79
|
* @returns {Object|undefined} Parsed JSON content, or undefined when missing or invalid
|
|
42
80
|
*/
|
|
43
81
|
export declare function readDosaiJsonFile(jsonFile: string): Object | undefined;
|
|
82
|
+
/**
|
|
83
|
+
* The `--sections` value that writes exactly the sections cdxgen reads.
|
|
84
|
+
*
|
|
85
|
+
* Passed as `dosaiMethodsSections` by callers that know their run will not
|
|
86
|
+
* need the whole report (see {@link runsEvidenceAnalysis}); an older dosai
|
|
87
|
+
* that rejects `--sections` falls back to the full report on its own.
|
|
88
|
+
*
|
|
89
|
+
* @returns {string} Comma-separated section list for dosai `--sections`
|
|
90
|
+
*/
|
|
91
|
+
export declare function dosaiMethodsSectionsArgument(): string;
|
|
92
|
+
/**
|
|
93
|
+
* Whether this scan will run the evidence (evinse) analysis.
|
|
94
|
+
*
|
|
95
|
+
* One place answers for both the trim decision in `createCsharpBom` and the
|
|
96
|
+
* evinse gate in `bin/cdxgen.js`: `--evidence` alone runs it, and so does
|
|
97
|
+
* `--include-crypto` alone, after profiles are applied (`--profile research`
|
|
98
|
+
* turns on both). Testing `options.evidence` alone would trim a report that
|
|
99
|
+
* `--include-crypto` then needs full.
|
|
100
|
+
*
|
|
101
|
+
* @param {Object} options Scan options after profile expansion
|
|
102
|
+
* @returns {boolean} True when the scan will run evinse
|
|
103
|
+
*/
|
|
104
|
+
export declare function runsEvidenceAnalysis(options: Object): boolean;
|
|
105
|
+
/**
|
|
106
|
+
* The top-level sections a dosai methods report left out, empty for a full
|
|
107
|
+
* report. dosai v4 reports have no `OmittedSections`, so they count as full.
|
|
108
|
+
*
|
|
109
|
+
* @param {Object} [report] A dosai methods report as read by readDosaiMethodsReport
|
|
110
|
+
* @returns {string[]} The omitted section names
|
|
111
|
+
*/
|
|
112
|
+
export declare function dosaiOmittedSections(report?: Object): string[];
|
|
113
|
+
/**
|
|
114
|
+
* The top-level sections a dosai methods report file left out, read from its
|
|
115
|
+
* Metadata alone. dosai writes Metadata first, so this reads only the head of
|
|
116
|
+
* the file, however large the report is. A missing or unreadable file counts
|
|
117
|
+
* as full: the read that follows reports it.
|
|
118
|
+
*
|
|
119
|
+
* @param {string} reportFile Path to the dosai methods JSON
|
|
120
|
+
* @returns {string[]} The omitted section names
|
|
121
|
+
*/
|
|
122
|
+
export declare function dosaiReportFileOmittedSections(reportFile: string): string[];
|
|
123
|
+
/**
|
|
124
|
+
* The omitted sections of a dosai methods report that cdxgen reads, so the
|
|
125
|
+
* evidence built from the report lacks their input.
|
|
126
|
+
*
|
|
127
|
+
* @param {string[]} omittedSections Sections the report left out
|
|
128
|
+
* @returns {string[]} The ones cdxgen reads
|
|
129
|
+
*/
|
|
130
|
+
export declare function dosaiSectionsCdxgenReads(omittedSections: string[]): string[];
|
|
44
131
|
/**
|
|
45
132
|
* Read a dosai methods report of any size.
|
|
46
133
|
*
|
|
@@ -75,14 +162,67 @@ export declare function readDosaiMethodsReport(reportFile: string, options?: {
|
|
|
75
162
|
export declare function readDosaiDataFlowReport(reportFile: string, options?: {
|
|
76
163
|
maxTextBytes?: number;
|
|
77
164
|
}): Object | undefined;
|
|
165
|
+
/**
|
|
166
|
+
* Whether a dosai run ended because it ran out of time.
|
|
167
|
+
*
|
|
168
|
+
* dosai has no limit of its own: cdxgen's spawn timeout
|
|
169
|
+
* (CDXGEN_TIMEOUT_MS) stops the process, which reaches the caller only as an
|
|
170
|
+
* ETIMEDOUT error looking like any other failure (issue 4438).
|
|
171
|
+
*
|
|
172
|
+
* @param {Object} result spawnSync result
|
|
173
|
+
* @returns {boolean} true when the run was stopped by the spawn timeout
|
|
174
|
+
*/
|
|
175
|
+
export declare function dosaiRunTimedOut(result: Object): boolean;
|
|
176
|
+
/**
|
|
177
|
+
* How a dosai run was stopped before it could finish, if it was.
|
|
178
|
+
*
|
|
179
|
+
* Besides the spawn timeout, a run is stopped when its console output outgrows
|
|
180
|
+
* CDXGEN_MAX_BUFFER (ENOBUFS) or a signal ends it, such as the kernel's
|
|
181
|
+
* out-of-memory killer. A stopped run can leave its slice half written.
|
|
182
|
+
*
|
|
183
|
+
* @param {Object} result spawnSync result
|
|
184
|
+
* @returns {"timeout"|"buffer"|"signal"|undefined} Why the run was stopped, or undefined when it ended by itself
|
|
185
|
+
*/
|
|
186
|
+
export declare function dosaiRunStopReason(result: Object): "timeout" | "buffer" | "signal" | undefined;
|
|
187
|
+
/**
|
|
188
|
+
* Note that the .NET host's refusal to start a dosai executable has been
|
|
189
|
+
* reported, so dosai runs of the same executable do not repeat the warning.
|
|
190
|
+
*
|
|
191
|
+
* @param {string} executable dosai executable
|
|
192
|
+
*/
|
|
193
|
+
export declare function markDosaiLaunchFailureReported(executable: string): void;
|
|
194
|
+
/**
|
|
195
|
+
* Whether the dosai run that should have written a file was stopped (by the
|
|
196
|
+
* time limit, the output buffer limit, or a signal) and already reported so.
|
|
197
|
+
*
|
|
198
|
+
* @param {string} outputFile Output file passed to the dosai run
|
|
199
|
+
* @returns {boolean} true when the run was stopped
|
|
200
|
+
*/
|
|
201
|
+
export declare function dosaiRunWasStopped(outputFile: string): boolean;
|
|
202
|
+
/**
|
|
203
|
+
* Whether the dosai run that should have written a file failed in a way it has
|
|
204
|
+
* already reported: it was stopped (see dosaiRunWasStopped), or the .NET host
|
|
205
|
+
* refused to start dosai and the warning named the missing runtime.
|
|
206
|
+
*
|
|
207
|
+
* @param {string} outputFile Output file passed to the dosai run
|
|
208
|
+
* @returns {boolean} true when the failure has been reported
|
|
209
|
+
*/
|
|
210
|
+
export declare function dosaiFailureReported(outputFile: string): boolean;
|
|
78
211
|
/**
|
|
79
212
|
* Run a dosai subcommand ("methods", "dataflows", or "crypto") against a source
|
|
80
213
|
* tree and write its JSON output to the given file.
|
|
81
214
|
*
|
|
215
|
+
* Flags cdxgen adds for its own benefit that an older dosai may not know
|
|
216
|
+
* (--exclude, --sections, --crypto-dataflows) are optional: when dosai reports
|
|
217
|
+
* them as unknown, every rejected one is dropped in a single retry, later runs
|
|
218
|
+
* of the same executable skip them up front, and dropping is reported once
|
|
219
|
+
* (a warning for --exclude, whose loss changes results; a debug line for the
|
|
220
|
+
* size-only flags). A run that rejects anything else has simply failed.
|
|
221
|
+
*
|
|
82
222
|
* @param {string} command Dosai subcommand to execute
|
|
83
223
|
* @param {string} src Source directory to analyze
|
|
84
224
|
* @param {string} outputFile Path where the dosai JSON output is written
|
|
85
|
-
* @param {Object} [options] Options carrying dosaiCommand, dataFlowPatterns, patternPacks,
|
|
225
|
+
* @param {Object} [options] Options carrying dosaiCommand, dataFlowPatterns, patternPacks, exclude globs, or dosaiMethodsSections
|
|
86
226
|
* @returns {boolean} True when the command succeeded and produced the output file, false otherwise
|
|
87
227
|
*/
|
|
88
228
|
export declare function runDosaiCommand(command: string, src: string, outputFile: string, options?: Object): boolean;
|
|
@@ -91,7 +231,7 @@ export declare function runDosaiCommand(command: string, src: string, outputFile
|
|
|
91
231
|
*
|
|
92
232
|
* @param {string} src Source directory to analyze
|
|
93
233
|
* @param {string} outputFile Path where the methods slice JSON is written
|
|
94
|
-
* @param {Object} [options] Options forwarded to runDosaiCommand
|
|
234
|
+
* @param {Object} [options] Options forwarded to runDosaiCommand; `dosaiMethodsSections` names the top-level sections to write (see dosaiMethodsSectionsArgument), omitted for the full report
|
|
95
235
|
* @returns {boolean} True when the slice was produced successfully
|
|
96
236
|
*/
|
|
97
237
|
export declare function createDosaiMethodsSlice(src: string, outputFile: string, options?: Object): boolean;
|
|
@@ -121,6 +261,27 @@ export declare function createDosaiCryptoAnalysis(src: string, outputFile: strin
|
|
|
121
261
|
* @returns {Object|undefined} Parsed crypto analysis JSON, or undefined when the analysis fails
|
|
122
262
|
*/
|
|
123
263
|
export declare function analyzeDosaiCrypto(src: string, options?: Object): Object | undefined;
|
|
264
|
+
/**
|
|
265
|
+
* The tool component naming the dosai behind a methods report.
|
|
266
|
+
*
|
|
267
|
+
* A report that a dosai run of this process wrote names the executable that
|
|
268
|
+
* wrote it, with the version that executable reports. A report reused from an
|
|
269
|
+
* earlier run names the version recorded in its Metadata, or the configured
|
|
270
|
+
* dosai's own version when that is a build of the same release. No component
|
|
271
|
+
* is returned for a report that is missing or that no dosai wrote, such as
|
|
272
|
+
* when the .NET host refused to start dosai.
|
|
273
|
+
*
|
|
274
|
+
* The cdxgen-plugins-bin manifest component is returned as-is only for its
|
|
275
|
+
* own binary at its own version. Any other dosai gets a component built from
|
|
276
|
+
* the manifest's project fields (description, licenses, references), without
|
|
277
|
+
* the bundled binary's hashes or path.
|
|
278
|
+
*
|
|
279
|
+
* @param {string} reportFile Path of the dosai methods report
|
|
280
|
+
* @param {Object} [report] The report as read, for its Metadata
|
|
281
|
+
* @param {Object} [manifestComponent] dosai component of the cdxgen-plugins-bin manifest
|
|
282
|
+
* @returns {Object[]} The dosai tool component, or an empty array
|
|
283
|
+
*/
|
|
284
|
+
export declare function dosaiToolComponents(reportFile: string, report?: Object, manifestComponent?: Object): Object[];
|
|
124
285
|
/**
|
|
125
286
|
* Persist the combined native dosai report to options.semanticsSlicesFile.
|
|
126
287
|
*
|
|
@@ -128,27 +289,33 @@ export declare function analyzeDosaiCrypto(src: string, options?: Object): Objec
|
|
|
128
289
|
* analyzeGolemProject on branch feat/rusi-persist-report): when a semantics-
|
|
129
290
|
* slices path is provided, the FULL native report is written there and kept so
|
|
130
291
|
* downstream tools (depscan) can consume the complete methods + data-flow
|
|
131
|
-
* facts that cdxgen only projects a subset of into the SBOM evidence.
|
|
132
|
-
*
|
|
133
|
-
*
|
|
134
|
-
*
|
|
292
|
+
* facts that cdxgen only projects a subset of into the SBOM evidence. A
|
|
293
|
+
* methods report the user supplied with --usages-slices-file is written as
|
|
294
|
+
* given, with a recorded degradation when it was trimmed with --sections.
|
|
295
|
+
* dotnet does not otherwise use the semantics slice (atom is never run for
|
|
296
|
+
* dotnet), so the path is free to carry the combined dosai report. Returns the
|
|
297
|
+
* resolved durable path when something was persisted, otherwise undefined.
|
|
135
298
|
*/
|
|
136
299
|
export declare function persistDosaiSemanticsReport(options: any, methodsSlice: any, dataFlowSlice: any): any;
|
|
137
300
|
/**
|
|
138
301
|
* Build a purl alias map for a list of components.
|
|
139
302
|
*
|
|
140
303
|
* @param {Object[]} [components] Component objects with purl fields
|
|
141
|
-
* @
|
|
304
|
+
* @param {Object} [options] Options passed to {@link buildDosaiPurlAliasMap} (`srcPath`)
|
|
305
|
+
* @returns {Map<string, string>} Map of component purls, carrying the version-free identity index
|
|
142
306
|
*/
|
|
143
|
-
export declare function buildPurlAliasMap(components?: Object[]): Map<string, string>;
|
|
307
|
+
export declare function buildPurlAliasMap(components?: Object[], options?: Object): Map<string, string>;
|
|
144
308
|
/**
|
|
145
|
-
* Resolve a
|
|
309
|
+
* Resolve a dosai purl to the canonical component purl, by version, and for a
|
|
310
|
+
* package the BOM holds in several versions by the record's location.
|
|
146
311
|
*
|
|
147
312
|
* @param {string} purl Purl from a dosai report
|
|
148
313
|
* @param {Map<string, string>} purlAliasMap Alias map built by buildPurlAliasMap
|
|
149
|
-
* @
|
|
314
|
+
* @param {string} [location] Source location of the dosai record
|
|
315
|
+
* @returns {string|undefined} Canonical component purl, the input purl when the BOM has no such package,
|
|
316
|
+
* or undefined when empty or ambiguous
|
|
150
317
|
*/
|
|
151
|
-
export declare function resolveComponentPurl(purl: string, purlAliasMap: Map<string, string
|
|
318
|
+
export declare function resolveComponentPurl(purl: string, purlAliasMap: Map<string, string>, location?: string): string | undefined;
|
|
152
319
|
/**
|
|
153
320
|
* Copy one dosai PackageReachability fact onto a component as properties.
|
|
154
321
|
*
|
|
@@ -169,9 +336,14 @@ export declare function addDosaiReachabilityProperties(component: Object, reacha
|
|
|
169
336
|
*
|
|
170
337
|
* @param {Object} methodsSlice Parsed dosai methods slice JSON
|
|
171
338
|
* @param {Object[]} [components] BOM components used to resolve purl aliases and mutate
|
|
339
|
+
* @param {Object} [options] Options
|
|
340
|
+
* @param {string} [options.srcPath] Directory dosai analyzed; a package the BOM holds in several
|
|
341
|
+
* versions is matched by the project of the record's file
|
|
172
342
|
* @returns {number} Number of distinct components enriched
|
|
173
343
|
*/
|
|
174
|
-
export declare function applyDosaiReachabilityEvidence(methodsSlice: Object, components?: Object[]
|
|
344
|
+
export declare function applyDosaiReachabilityEvidence(methodsSlice: Object, components?: Object[], options?: {
|
|
345
|
+
srcPath?: string;
|
|
346
|
+
}): number;
|
|
175
347
|
/**
|
|
176
348
|
* Map a dosai methods slice to per-purl occurrence evidence.
|
|
177
349
|
*
|
|
@@ -180,9 +352,14 @@ export declare function applyDosaiReachabilityEvidence(methodsSlice: Object, com
|
|
|
180
352
|
*
|
|
181
353
|
* @param {Object} methodsSlice Parsed dosai methods slice JSON
|
|
182
354
|
* @param {Object[]} [components] BOM components used to resolve purl aliases
|
|
355
|
+
* @param {Object} [options] Options
|
|
356
|
+
* @param {string} [options.srcPath] Directory dosai analyzed; a package the BOM holds in several
|
|
357
|
+
* versions is matched by the project of the record's file
|
|
183
358
|
* @returns {Object} Object with purlLocationMap, purlModulesMap, and purlMethodsMap keyed by purl
|
|
184
359
|
*/
|
|
185
|
-
export declare function collectDosaiPurlEvidence(methodsSlice: Object, components?: Object[]
|
|
360
|
+
export declare function collectDosaiPurlEvidence(methodsSlice: Object, components?: Object[], options?: {
|
|
361
|
+
srcPath?: string;
|
|
362
|
+
}): Object;
|
|
186
363
|
/**
|
|
187
364
|
* Extract data-flow call frames per component purl from a dosai data-flow result.
|
|
188
365
|
*
|
|
@@ -191,9 +368,14 @@ export declare function collectDosaiPurlEvidence(methodsSlice: Object, component
|
|
|
191
368
|
*
|
|
192
369
|
* @param {Object} dataFlowResult Parsed dosai data-flow slice JSON
|
|
193
370
|
* @param {Object[]} [components] BOM components used to resolve purl aliases
|
|
371
|
+
* @param {Object} [options] Options
|
|
372
|
+
* @param {string} [options.srcPath] Directory dosai analyzed; a package the BOM holds in several
|
|
373
|
+
* versions is matched by the project of the record's file
|
|
194
374
|
* @returns {Object} Map of canonical purl to arrays of call-stack frame objects
|
|
195
375
|
*/
|
|
196
|
-
export declare function collectDosaiDataFlowFrames(dataFlowResult: Object, components?: Object[]
|
|
376
|
+
export declare function collectDosaiDataFlowFrames(dataFlowResult: Object, components?: Object[], options?: {
|
|
377
|
+
srcPath?: string;
|
|
378
|
+
}): Object;
|
|
197
379
|
/**
|
|
198
380
|
* Consume dosai's AiComponents[] inventory (schema 4.0.0): model identifiers,
|
|
199
381
|
* on-disk model artifacts with hashes, MCP tools, prompts (redacted), and agents
|
|
@@ -229,6 +411,12 @@ export declare function collectDosaiServicesFromMethods(methodsSlice: Object, se
|
|
|
229
411
|
/**
|
|
230
412
|
* Normalize a services map into a sorted array of CycloneDX service objects.
|
|
231
413
|
*
|
|
414
|
+
* This is where evinse's service maps — dosai, golem, kosi, scalasem, an
|
|
415
|
+
* OpenAPI document, and the atom usage and type detectors — become
|
|
416
|
+
* `services[]`, so it is also where every endpoint is percent-encoded into the
|
|
417
|
+
* iri-reference CycloneDX requires. The collectors keep the readable template
|
|
418
|
+
* (`/users/{id}`); the BOM gets `/users/%7Bid%7D`.
|
|
419
|
+
*
|
|
232
420
|
* @param {Object} [servicesMap] Map of service name to service definition with Set-backed endpoints
|
|
233
421
|
* @returns {Object[]} Array of service objects with sorted endpoint arrays and properties
|
|
234
422
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dosai.d.ts","sourceRoot":"","sources":["../../../lib/inventory/dosai.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dosai.d.ts","sourceRoot":"","sources":["../../../lib/inventory/dosai.js"],"names":[],"mappings":"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"}
|
|
@@ -24,6 +24,25 @@ export declare function addDosaiSetValue(map: Object, key: string, value: string
|
|
|
24
24
|
* @returns {string|undefined} Location string with a `#line` suffix when available, or undefined when no file is known
|
|
25
25
|
*/
|
|
26
26
|
export declare function dosaiLocation(item: Object): string | undefined;
|
|
27
|
+
/**
|
|
28
|
+
* Format the `file#line` location of a dosai MethodCalls row, relative to the
|
|
29
|
+
* scanned directory like dosai's source rows.
|
|
30
|
+
*
|
|
31
|
+
* A call site found in assembly IL names its file through the PDB. dosai 5
|
|
32
|
+
* writes it relative to the scan root and leaves Path out when the file has
|
|
33
|
+
* no place in the tree; dosai 4 writes the PDB path as it is: absolute for a
|
|
34
|
+
* local build, `/_/` for a deterministic one (owasp-dep-scan/dosai#79). An
|
|
35
|
+
* absolute path under the scanned directory is made relative to it, and any
|
|
36
|
+
* other build path, or a missing one, gives way to the file name, as for call
|
|
37
|
+
* graph edges, so both versions list a call site found in source and in IL
|
|
38
|
+
* once. Where no sequence point covers a call, the row names the assembly and
|
|
39
|
+
* its line is an IL offset, which is no source location.
|
|
40
|
+
*
|
|
41
|
+
* @param {Object} methodCall Dosai MethodCalls row
|
|
42
|
+
* @param {string} [srcPath] Directory dosai analyzed
|
|
43
|
+
* @returns {string|undefined} Location string, or undefined when the row names no source file
|
|
44
|
+
*/
|
|
45
|
+
export declare function dosaiCallSiteLocation(methodCall: Object, srcPath?: string): string | undefined;
|
|
27
46
|
/**
|
|
28
47
|
* Return a validated source location for .NET source extensions, from a call graph node.
|
|
29
48
|
*
|
|
@@ -41,19 +60,46 @@ export declare function dosaiSourceLocation(location: Object): string | undefine
|
|
|
41
60
|
/**
|
|
42
61
|
* Build a purl alias map from BOM components.
|
|
43
62
|
*
|
|
44
|
-
* Maps
|
|
45
|
-
*
|
|
63
|
+
* Maps each component purl to itself, and indexes the components by their
|
|
64
|
+
* version-free identity, so a dosai-reported purl can be reconciled by version
|
|
65
|
+
* (see {@link resolveDosaiComponentPurl}). Two versions of one package are two
|
|
66
|
+
* components, and nothing here picks one of them on a name alone.
|
|
46
67
|
*
|
|
47
68
|
* @param {Object[]} [components] Component objects with purl fields
|
|
48
|
-
* @
|
|
69
|
+
* @param {Object} [options] Options
|
|
70
|
+
* @param {string} [options.srcPath] Directory dosai analyzed, which its relative locations
|
|
71
|
+
* and the BOM's relative manifest paths are relative to
|
|
72
|
+
* @returns {Map<string, string>} Map of purl to canonical component purl, carrying the identity index
|
|
49
73
|
*/
|
|
50
|
-
export declare function buildDosaiPurlAliasMap(components?: Object[]
|
|
74
|
+
export declare function buildDosaiPurlAliasMap(components?: Object[], options?: {
|
|
75
|
+
srcPath?: string;
|
|
76
|
+
}): Map<string, string>;
|
|
51
77
|
/**
|
|
52
|
-
*
|
|
78
|
+
* Choose among the components that share a file name (two versions of a
|
|
79
|
+
* package ship the same DLLs): the only one, else the one whose project
|
|
80
|
+
* directory is nearest the record's location.
|
|
81
|
+
*
|
|
82
|
+
* @param {Iterable<string>} purls Candidate component purls
|
|
83
|
+
* @param {Map<string, string>} purlAliasMap Alias map built by buildDosaiPurlAliasMap
|
|
84
|
+
* @param {string} [location] Source location of the dosai record (`path` or `path#line`)
|
|
85
|
+
* @returns {string|undefined} The component purl, or undefined when it cannot be told
|
|
86
|
+
*/
|
|
87
|
+
export declare function pickDosaiComponentByLocation(purls: Iterable<string>, purlAliasMap: Map<string, string>, location?: string): string | undefined;
|
|
88
|
+
/**
|
|
89
|
+
* Resolve a dosai-reported purl to a BOM component purl.
|
|
90
|
+
*
|
|
91
|
+
* The exact purl wins, then the same package at the same version (ids compare
|
|
92
|
+
* case-insensitively). A versionless purl, or a version the BOM does not hold,
|
|
93
|
+
* maps to the package's only component when it has one. When the BOM holds
|
|
94
|
+
* several versions, the record's location picks the version of the project
|
|
95
|
+
* that file belongs to; without a location that settles it the purl maps to
|
|
96
|
+
* nothing rather than to an arbitrary version (issue dosai#72).
|
|
53
97
|
*
|
|
54
98
|
* @param {string} purl Purl reported by dosai
|
|
55
99
|
* @param {Map<string, string>} purlAliasMap Alias map built by buildDosaiPurlAliasMap
|
|
56
|
-
* @
|
|
100
|
+
* @param {string} [location] Source location of the dosai record (`path` or `path#line`)
|
|
101
|
+
* @returns {string|undefined} Canonical component purl, the input purl when the BOM has no
|
|
102
|
+
* component of that package, or undefined when empty or ambiguous
|
|
57
103
|
*/
|
|
58
|
-
export declare function resolveDosaiComponentPurl(purl: string, purlAliasMap: Map<string, string
|
|
104
|
+
export declare function resolveDosaiComponentPurl(purl: string, purlAliasMap: Map<string, string>, location?: string): string | undefined;
|
|
59
105
|
//# sourceMappingURL=dosaiParsers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dosaiParsers.d.ts","sourceRoot":"","sources":["../../../lib/inventory/dosaiParsers.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dosaiParsers.d.ts","sourceRoot":"","sources":["../../../lib/inventory/dosaiParsers.js"],"names":[],"mappings":"AAeA;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAH/B,MAG+B,GAF7B,MAAM,GAAC,SAAS,CAgB5B;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EALzB,MAKyB,EAAE,GAAG,EAJ9B,MAI8B,EAAE,KAAK,EAHrC,MAGqC,GAFnC,IAAI,CAQhB;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAHvB,MAGuB,GAFrB,MAAM,GAAC,SAAS,CAc5B;AAcD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAJrC,MAIqC,EAAE,OAAO,AAHtD,CACA,EADQ,MAG8C,GAF5C,MAAM,GAAC,SAAS,CAU5B;AA8BD;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAHrC,MAGqC,GAFnC,MAAM,GAAC,SAAS,CAa5B;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAHjC,MAGiC,GAF/B,MAAM,GAAC,SAAS,CAa5B;AAiHD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,AAN9C,CACA,EADQ,MAAM,EAMqC,EAAE,OAAO,AAL5D,CAGA,EAFA;IAAyB,OAAO,AAAhC,CAEA,EAFQ,MAAM,CAEd;CAEiE,GAFvD,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAqC/B;AAsCD;;;;;;;;;GASG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EALvC,QAAQ,CAAC,MAAM,CAKwB,EAAE,YAAY,EAJrD,GAAG,CAAC,MAAM,EAAE,MAAM,CAImC,EAAE,QAAQ,AAHvE,CACA,EADQ,MAG+D,GAF7D,MAAM,GAAC,SAAS,CAgB5B;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EANnC,MAMmC,EAAE,YAAY,EALjD,GAAG,CAAC,MAAM,EAAE,MAAM,CAK+B,EAAE,QAAQ,AAJnE,CACA,EADQ,MAI2D,GAHzD,MAAM,GAAC,SAAS,CA6B5B"}
|
|
@@ -1,3 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Converts a traced library path into a purl subpath. Windows paths
|
|
3
|
+
* ("C:\Windows\System32\bcrypt.dll", "\\server\share\x.dll") use forward
|
|
4
|
+
* slashes and drop the drive or UNC prefix, which a purl subpath cannot carry;
|
|
5
|
+
* the full path stays in the cdx:dynamic:filePath property.
|
|
6
|
+
*
|
|
7
|
+
* @param {string} libPath - Absolute path of the loaded library
|
|
8
|
+
* @returns {string|null} Subpath without leading separators, or null
|
|
9
|
+
*/
|
|
10
|
+
export declare function librarySubpath(libPath: string): string | null;
|
|
1
11
|
/**
|
|
2
12
|
* Builds a flat list of CycloneDX component objects and services by executing
|
|
3
13
|
* the given command and inspecting which shared libraries it loads at runtime
|
|
@@ -13,13 +23,18 @@
|
|
|
13
23
|
* Services are detected from HTTP request URLs collected during tracing and
|
|
14
24
|
* follow the CycloneDX service schema with endpoints.
|
|
15
25
|
*
|
|
26
|
+
* The certificate chains servers presented in TLS ≤ 1.2 handshakes become the
|
|
27
|
+
* shared certificate model, with `provides` edges from the TLS protocol
|
|
28
|
+
* components.
|
|
29
|
+
*
|
|
16
30
|
* @param {string} commandStr - Shell command to execute and trace (e.g. "node --version")
|
|
17
31
|
* @param {string} workingDir - Working directory for the traced process
|
|
18
32
|
* @param {Object} [traceOptions] - Additional sandbox options forwarded to executeAndTrace
|
|
19
|
-
* @returns {Promise<{components: Array<Object>, services: Array<Object>}>} Components and
|
|
33
|
+
* @returns {Promise<{components: Array<Object>, services: Array<Object>, dependencies: Array<Object>}>} Components, services and dependencies
|
|
20
34
|
*/
|
|
21
35
|
export declare function buildDynamicComponents(commandStr: string, workingDir: string, traceOptions?: Object): Promise<{
|
|
22
36
|
components: Array<Object>;
|
|
23
37
|
services: Array<Object>;
|
|
38
|
+
dependencies: Array<Object>;
|
|
24
39
|
}>;
|
|
25
40
|
//# sourceMappingURL=dynamic.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dynamic.d.ts","sourceRoot":"","sources":["../../../lib/inventory/dynamic.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dynamic.d.ts","sourceRoot":"","sources":["../../../lib/inventory/dynamic.js"],"names":[],"mappings":"AAaA;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAH3B,MAG2B,GAFzB,MAAM,GAAC,IAAI,CAevB;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,sBAAsB,CAC1C,UAAU,EAND,MAMC,EACV,UAAU,EAND,MAMC,EACV,YAAY,AANX,CACA,EADQ,MAMQ,GALN,OAAO,CAAC;IAAC,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAAC,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;CAAC,CAAC,CAmNtG"}
|
|
@@ -187,6 +187,41 @@ export declare function collectRubyInfo(dir: string): {
|
|
|
187
187
|
name: string;
|
|
188
188
|
version: string;
|
|
189
189
|
} | undefined;
|
|
190
|
+
/**
|
|
191
|
+
* Collect the PHP version of the PHP found on the PATH.
|
|
192
|
+
*
|
|
193
|
+
* `-n` stops PHP loading any php.ini, so a PHPRC or an auto_prepend_file cannot
|
|
194
|
+
* run code, and `-v` is used rather than `-r 'echo PHP_VERSION;'` because the
|
|
195
|
+
* shell on Windows does not quote arguments. The first line is
|
|
196
|
+
* `PHP 8.5.11 (cli) (built: Sep 22 2026 13:32:06) (NTS)`.
|
|
197
|
+
*
|
|
198
|
+
* The identity is `pkg:generic/php`: a probe of the PATH cannot tell which
|
|
199
|
+
* package manager, if any, installed this PHP. A banner with a distro revision,
|
|
200
|
+
* such as Ubuntu 22.04's `PHP 8.1.2-1ubuntu2.14`, is recorded as reported but
|
|
201
|
+
* without a CPE: the distro backports fixes under the old upstream number.
|
|
202
|
+
*
|
|
203
|
+
* @param {string} dir Working directory
|
|
204
|
+
* @returns Object containing the PHP details
|
|
205
|
+
*/
|
|
206
|
+
export declare function collectPhpInfo(dir: string): Object | undefined;
|
|
207
|
+
/**
|
|
208
|
+
* Collect the Composer version.
|
|
209
|
+
*
|
|
210
|
+
* `--no-plugins` and `--no-scripts` keep the plugins and scripts of the
|
|
211
|
+
* project in the working directory from running, which `composer --version`
|
|
212
|
+
* would otherwise let a plugin do. It needs no network. The banner is
|
|
213
|
+
* `Composer version 2.10.3 2026-08-27 13:34:23`, but an older Composer on a
|
|
214
|
+
* newer PHP prints deprecation notices above it, so the first line that starts
|
|
215
|
+
* with it is read; the line after it names the PHP Composer runs on, with its
|
|
216
|
+
* path, and is never read. The banner must start its line: an indented echo of
|
|
217
|
+
* the project's composer.json in an error block does not count. Only a stable
|
|
218
|
+
* release is recorded: a pre-release or a snapshot has no version a CPE can
|
|
219
|
+
* name.
|
|
220
|
+
*
|
|
221
|
+
* @param {string} dir Working directory
|
|
222
|
+
* @returns Object containing the Composer details
|
|
223
|
+
*/
|
|
224
|
+
export declare function collectComposerInfo(dir: string): Object | undefined;
|
|
190
225
|
/**
|
|
191
226
|
* Method to run a swift command
|
|
192
227
|
*
|
|
@@ -199,12 +234,15 @@ export declare function runSwiftCommand(dir: string, args: any[]): string | unde
|
|
|
199
234
|
* Collect toolchain information components for the current environment.
|
|
200
235
|
*
|
|
201
236
|
* Probes the working directory for java, dotnet, python, node, gcc, rust, go,
|
|
202
|
-
* and
|
|
237
|
+
* ruby, php and composer toolchains and returns one component per detected
|
|
238
|
+
* tool.
|
|
203
239
|
*
|
|
204
240
|
* @param {string} dir Working directory to inspect
|
|
241
|
+
* @param {Object} [options] CLI options, which decide whether the project's
|
|
242
|
+
* own toolchain files may choose the tools that run
|
|
205
243
|
* @returns {Object[]} Array of toolchain component objects; empty when nothing is detected
|
|
206
244
|
*/
|
|
207
|
-
export declare function collectEnvInfo(dir: string): Object[];
|
|
245
|
+
export declare function collectEnvInfo(dir: string, options?: Object): Object[];
|
|
208
246
|
/**
|
|
209
247
|
* Method to check if sdkman is available.
|
|
210
248
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"envcontext.d.ts","sourceRoot":"","sources":["../../../lib/inventory/envcontext.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"envcontext.d.ts","sourceRoot":"","sources":["../../../lib/inventory/envcontext.js"],"names":[],"mappings":"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"}
|
|
@@ -44,15 +44,30 @@ export declare function attachIdentityTools(subjects: Object | Object[], toolRef
|
|
|
44
44
|
* Enrich .NET package components with occurrence evidence and imported module/method
|
|
45
45
|
* information from a dosai dependency slices file.
|
|
46
46
|
*
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
47
|
+
* Each dosai record names its package by purl, resolved in the project of the
|
|
48
|
+
* record's file, and is attached to the component of that version (see
|
|
49
|
+
* {@link resolveDosaiComponentPurl}). The DLL files of each package
|
|
50
|
+
* (`internal:PackageFiles`) only fill in for a record whose purl names no
|
|
51
|
+
* component, and only when the DLL belongs to one component or the record's
|
|
52
|
+
* location says which: two versions of a package ship the same DLL names.
|
|
53
|
+
*
|
|
54
|
+
* The fallback is needed because dosai names a `System.*` assembly it cannot
|
|
55
|
+
* map to a package with a framework purl (`pkg:nuget/System.Runtime`), as it
|
|
56
|
+
* does whenever the tree has lock files but no restore output: the DLL of
|
|
57
|
+
* System.Data.SQLite.Core is still the package's. A DLL that only a package's
|
|
58
|
+
* build-time folders carry is not listed in `internal:PackageFiles`, so it
|
|
59
|
+
* credits no package with the project's framework calls (issue 4441).
|
|
50
60
|
*
|
|
51
61
|
* @param {Object[]} pkgList Array of .NET package component objects to enrich
|
|
52
62
|
* @param {string} slicesFile Path to the dosai dependency slices JSON file
|
|
63
|
+
* @param {Object} [options] Options
|
|
64
|
+
* @param {string} [options.srcPath] Directory dosai analyzed, which its relative locations
|
|
65
|
+
* and the components' relative manifest paths are relative to
|
|
53
66
|
* @returns {Object[]} The enriched package list (same array, mutated in place)
|
|
54
67
|
*/
|
|
55
|
-
export declare function addEvidenceForDotnet(pkgList: Object[], slicesFile: string
|
|
68
|
+
export declare function addEvidenceForDotnet(pkgList: Object[], slicesFile: string, options?: {
|
|
69
|
+
srcPath?: string;
|
|
70
|
+
}): Object[];
|
|
56
71
|
/**
|
|
57
72
|
* Convert OS query results
|
|
58
73
|
*
|
|
@@ -61,14 +76,33 @@ export declare function addEvidenceForDotnet(pkgList: Object[], slicesFile: stri
|
|
|
61
76
|
* @param {Array} results Query Results
|
|
62
77
|
* @param {Boolean} enhance Optionally enhance results by invoking additional package manager commands
|
|
63
78
|
*/
|
|
64
|
-
export declare function convertOSQueryResults(queryCategory: string, queryObj: Object, results: any[], enhance?: boolean, osPackageListers?: undefined):
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
79
|
+
export declare function convertOSQueryResults(queryCategory: string, queryObj: Object, results: any[], enhance?: boolean, osPackageListers?: undefined): any[];
|
|
80
|
+
/**
|
|
81
|
+
* Convert the packages of an apk installed database into components.
|
|
82
|
+
*
|
|
83
|
+
* The packages are named as the container scan names an Alpine, Wolfi or
|
|
84
|
+
* Chainguard package, and grouped with the other OS package categories under
|
|
85
|
+
* `cdx:osquery:category` = `apk_packages`. Beyond what an osquery package row
|
|
86
|
+
* gives, an apk record knows its licence and home page, which become
|
|
87
|
+
* `licenses` and a `website` external reference.
|
|
88
|
+
*
|
|
89
|
+
* @param {Object[]} packages Packages from readApkInstalledDb()
|
|
90
|
+
* @returns {Object[]} Components
|
|
91
|
+
*/
|
|
92
|
+
export declare function convertApkPackages(packages: Object[]): Object[];
|
|
93
|
+
/**
|
|
94
|
+
* Convert the rows of the `ai_agent_skills` query into components.
|
|
95
|
+
*
|
|
96
|
+
* A skill installed on the host is what the `ai-skill` project scan finds in a
|
|
97
|
+
* repository, so it is a `file` component with the same `cdx:file:kind` and
|
|
98
|
+
* `cdx:skill:*` properties, and no purl: a skill has no package identity. Its
|
|
99
|
+
* bom-ref is the SHA-256 of its SKILL.md rather than the path, which is under a
|
|
100
|
+
* home directory, and where it was found is an occurrence. The same skill
|
|
101
|
+
* found under several roots, such as a plugin marketplace checkout and the
|
|
102
|
+
* plugin cache, is one component with one occurrence for each.
|
|
103
|
+
*
|
|
104
|
+
* @param {Object[]} results Rows of `ai_agent_skills` joined with `hash`
|
|
105
|
+
* @returns {Object[]} Components
|
|
106
|
+
*/
|
|
107
|
+
export declare function convertAgentSkillRows(results: Object[]): Object[];
|
|
74
108
|
//# sourceMappingURL=evidenceUtils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evidenceUtils.d.ts","sourceRoot":"","sources":["../../../lib/inventory/evidenceUtils.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"evidenceUtils.d.ts","sourceRoot":"","sources":["../../../lib/inventory/evidenceUtils.js"],"names":[],"mappings":"AA6CA;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAJtC,MAIsC,EAAE,OAAO,AAHvD,CACA,EADQ,MAGoD,GAFlD,MAAM,GAAC,SAAS,CAgB5B;AAED;;;;;;;;;GASG;AACH,wBAAgB,+BAA+B,CAAC,QAAQ,EAJ7C,MAI6C,EAAE,OAAO,AAH9D,CACA,EADQ,MAG2D,GAFzD,MAAM,GAAC,SAAS,CA8B5B;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,UAAU,EAHxC,MAGwC,GAFtC,MAAM,CAalB;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAJ1B,MAAM,EAAE,GAAC,MAIiB,EAAE,SAAS,UAAA,GAFnC,MAAM,EAAE,CAmDpB;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAJjC,MAAM,GAAC,MAAM,EAIoB,EAAE,QAAQ,EAH3C,MAAM,EAGqC,GAFzC,MAAM,GAAC,MAAM,EAAE,CAwB3B;AAsCD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAPjC,MAAM,EAO2B,EAAE,UAAU,EAN7C,MAM6C,EAAE,OAAO,AAL9D,CAGA,EAFA;IAAyB,OAAO,AAAhC,CAEA,EAFQ,MAAM,CAEd;CAEmE,GAFzD,MAAM,EAAE,CAsQpB;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,aAAa,EANJ,MAMI,EACb,QAAQ,EANC,MAMD,EACR,OAAO,OAAA,EACP,OAAO,UAAQ,EACf,gBAAgB,YAAY,SAsO7B;AA6ID;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAHhC,MAAM,EAG0B,GAF9B,MAAM,EAAE,CAqCpB;AAgCD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAHlC,MAAM,EAG4B,GAFhC,MAAM,EAAE,CAgEpB"}
|