@cdxgen/cdxgen 0.0.1 → 13.0.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.
Files changed (722) hide show
  1. package/README.md +921 -87
  2. package/bin/audit.js +239 -0
  3. package/bin/cdxgen.js +2324 -0
  4. package/bin/convert.js +213 -0
  5. package/bin/evinse.js +353 -0
  6. package/bin/hbom.js +495 -0
  7. package/bin/repl.js +2224 -0
  8. package/bin/sign.js +195 -0
  9. package/bin/tracebom.js +295 -0
  10. package/bin/validate.js +268 -0
  11. package/bin/verify.js +189 -0
  12. package/data/README.md +307 -0
  13. package/data/bom-1.4.schema.json +1605 -0
  14. package/data/bom-1.5.schema.json +3660 -0
  15. package/data/bom-1.6.schema.json +5511 -0
  16. package/data/bom-1.7.schema.json +6700 -0
  17. package/data/cbomosdb-queries.json +68 -0
  18. package/data/component-tags.json +339 -0
  19. package/data/container-knowledge-index.json +125 -0
  20. package/data/cosdb-queries.json +17 -0
  21. package/data/crypto-oid.json +1998 -0
  22. package/data/cryptography-defs.json +3793 -0
  23. package/data/cryptography-defs.schema.json +576 -0
  24. package/data/cyclonedx-2.0-bundled.schema.json +7182 -0
  25. package/data/frameworks-list.json +219 -0
  26. package/data/glibc-stdlib.json +117 -0
  27. package/data/gtfobins-index.json +6296 -0
  28. package/data/helpers/init.gradle +71 -0
  29. package/data/jsf-0.82.schema.json +211 -0
  30. package/data/known-licenses.json +82 -0
  31. package/data/lic-mapping.json +338 -0
  32. package/data/license-aliases.json +6624 -0
  33. package/data/license-db.json +39059 -0
  34. package/data/license-deprecations.json +302 -0
  35. package/data/lolbas-index.json +150 -0
  36. package/data/predictive-audit-allowlist.json +11 -0
  37. package/data/pypi-pkg-aliases.json +1199 -0
  38. package/data/python-stdlib.json +308 -0
  39. package/data/queries-darwin.json +193 -0
  40. package/data/queries-win.json +257 -0
  41. package/data/queries.json +268 -0
  42. package/data/ruby-known-modules.json +281 -0
  43. package/data/rules/ai-agent-governance.yaml +323 -0
  44. package/data/rules/ai-bom.yaml +268 -0
  45. package/data/rules/ai-oversight.yaml +186 -0
  46. package/data/rules/ai-provenance.yaml +92 -0
  47. package/data/rules/asar-archives.yaml +150 -0
  48. package/data/rules/cbom-security.yaml +165 -0
  49. package/data/rules/chrome-extensions.yaml +248 -0
  50. package/data/rules/ci-permissions.yaml +802 -0
  51. package/data/rules/container-risk.yaml +353 -0
  52. package/data/rules/dependency-sources.yaml +236 -0
  53. package/data/rules/golem-go.yaml +229 -0
  54. package/data/rules/hbom-compliance.yaml +325 -0
  55. package/data/rules/hbom-performance.yaml +307 -0
  56. package/data/rules/hbom-security.yaml +248 -0
  57. package/data/rules/host-topology.yaml +165 -0
  58. package/data/rules/mcp-servers.yaml +388 -0
  59. package/data/rules/obom-runtime.yaml +1776 -0
  60. package/data/rules/package-integrity.yaml +364 -0
  61. package/data/rules/rootfs-hardening.yaml +179 -0
  62. package/data/rules/vscode-extensions.yaml +237 -0
  63. package/data/spdx-export.schema.json +6794 -0
  64. package/data/spdx-license-list.json +7449 -0
  65. package/data/spdx-licenses.json +759 -0
  66. package/data/spdx.schema.json +819 -0
  67. package/data/templates/README.md +3 -0
  68. package/data/templates/asvs-4.0.3.cdx.json +2943 -0
  69. package/data/templates/asvs-5.0.cdx.json +3046 -0
  70. package/data/templates/bsimm-v13.cdx.json +1008 -0
  71. package/data/templates/masvs-2.0.0.cdx.json +225 -0
  72. package/data/templates/nist-ssdf-1.1.cdx.json +828 -0
  73. package/data/templates/pcissc-secure-slc-1.1.cdx.json +1027 -0
  74. package/data/templates/scvs-1.0.0.cdx.json +813 -0
  75. package/data/templates/ssaf-DRAFT-2023-11.cdx.json +127 -0
  76. package/data/vendor-alias.json +41967 -0
  77. package/data/wrapdb-releases.json +4227 -0
  78. package/index.cjs +15 -0
  79. package/lib/audit/index.js +2800 -0
  80. package/lib/audit/progress.js +114 -0
  81. package/lib/audit/reporters.js +937 -0
  82. package/lib/audit/scoring.js +560 -0
  83. package/lib/audit/targets.js +798 -0
  84. package/lib/cli/bomAssembly.js +1833 -0
  85. package/lib/cli/cliOptions.js +513 -0
  86. package/lib/cli/index.js +2759 -0
  87. package/lib/cli/jsBom.js +2087 -0
  88. package/lib/cli/jvmBom.js +1858 -0
  89. package/lib/cli/managedBom.js +2083 -0
  90. package/lib/cli/nativeBom.js +2125 -0
  91. package/lib/core/activity.js +1087 -0
  92. package/lib/core/env.js +719 -0
  93. package/lib/core/fs.js +1058 -0
  94. package/lib/core/httpClient.js +730 -0
  95. package/lib/core/logger.js +142 -0
  96. package/lib/core/parallel.js +323 -0
  97. package/lib/core/paths.js +70 -0
  98. package/lib/core/projectConfig.js +122 -0
  99. package/lib/core/propertySanitizer.js +174 -0
  100. package/lib/core/spdx.js +5 -0
  101. package/lib/core/state.js +59 -0
  102. package/lib/core/text.js +207 -0
  103. package/lib/core/ui.js +876 -0
  104. package/lib/core/urls.js +84 -0
  105. package/lib/ecosystems/asarutils.js +1636 -0
  106. package/lib/ecosystems/bunutils.js +402 -0
  107. package/lib/ecosystems/caxa.js +77 -0
  108. package/lib/ecosystems/chromextutils.js +1174 -0
  109. package/lib/ecosystems/cmakeResolver.js +587 -0
  110. package/lib/ecosystems/cppEvidence.js +305 -0
  111. package/lib/ecosystems/denoutils.js +1094 -0
  112. package/lib/ecosystems/dotnetutils.js +132 -0
  113. package/lib/ecosystems/ecosystems.js +2772 -0
  114. package/lib/ecosystems/golem.js +1807 -0
  115. package/lib/ecosystems/gradleutils.js +1048 -0
  116. package/lib/ecosystems/jsEvidence.js +317 -0
  117. package/lib/ecosystems/npmutils.js +586 -0
  118. package/lib/ecosystems/parsers-bazel.js +875 -0
  119. package/lib/ecosystems/parsers-dotnet.js +1430 -0
  120. package/lib/ecosystems/parsers-gleam.js +302 -0
  121. package/lib/ecosystems/parsers-go.js +818 -0
  122. package/lib/ecosystems/parsers-js.js +4222 -0
  123. package/lib/ecosystems/parsers-jvm.js +948 -0
  124. package/lib/ecosystems/parsers-misc.js +3191 -0
  125. package/lib/ecosystems/parsers-python.js +2070 -0
  126. package/lib/ecosystems/parsers-rust.js +1294 -0
  127. package/lib/ecosystems/parsers-zig.js +861 -0
  128. package/lib/ecosystems/pep770.js +341 -0
  129. package/lib/ecosystems/pylockutils.js +427 -0
  130. package/lib/ecosystems/pythonutils.js +1281 -0
  131. package/lib/ecosystems/registryProvenance.js +1003 -0
  132. package/lib/ecosystems/remote/huggingface.js +1343 -0
  133. package/lib/ecosystems/rubyutils.js +1629 -0
  134. package/lib/ecosystems/rusi.js +820 -0
  135. package/lib/ecosystems/sbtutils.js +972 -0
  136. package/lib/ecosystems/tea.js +607 -0
  137. package/lib/ecosystems/utils.js +575 -0
  138. package/lib/ecosystems/zigResolver.js +410 -0
  139. package/lib/evinser/db.js +145 -0
  140. package/lib/evinser/evinser.js +2362 -0
  141. package/lib/evinser/scalasem.js +65 -0
  142. package/lib/evinser/swiftsem.js +767 -0
  143. package/lib/helpers/annotationFormatter.js +84 -0
  144. package/lib/helpers/bomSigner.js +312 -0
  145. package/lib/helpers/exportUtils.js +160 -0
  146. package/lib/helpers/remote/dependency-track.js +117 -0
  147. package/lib/helpers/versutils.js +202 -0
  148. package/lib/helpers/vsixutils.js +1069 -0
  149. package/lib/inventory/agentFormulationParser.js +322 -0
  150. package/lib/inventory/aiCollector.js +2140 -0
  151. package/lib/inventory/aiInventory.js +414 -0
  152. package/lib/inventory/aiModelVariants.js +121 -0
  153. package/lib/inventory/aiOversightCollector.js +661 -0
  154. package/lib/inventory/aiProvenanceCollector.js +822 -0
  155. package/lib/inventory/analyzer.js +6089 -0
  156. package/lib/inventory/analyzerScope.js +807 -0
  157. package/lib/inventory/astWorker.js +20 -0
  158. package/lib/inventory/atomUtils.js +1092 -0
  159. package/lib/inventory/auditCategories.js +192 -0
  160. package/lib/inventory/bomUtils.js +369 -0
  161. package/lib/inventory/cacheCommands.js +182 -0
  162. package/lib/inventory/cacheDir.js +104 -0
  163. package/lib/inventory/cbomutils.js +590 -0
  164. package/lib/inventory/cdxrs.js +434 -0
  165. package/lib/inventory/ciParsers/azurePipelines.js +295 -0
  166. package/lib/inventory/ciParsers/circleCi.js +286 -0
  167. package/lib/inventory/ciParsers/common.js +24 -0
  168. package/lib/inventory/ciParsers/githubActions.js +2434 -0
  169. package/lib/inventory/ciParsers/gitlabCi.js +213 -0
  170. package/lib/inventory/ciParsers/jenkins.js +180 -0
  171. package/lib/inventory/citations.js +234 -0
  172. package/lib/inventory/communityAiConfigParser.js +756 -0
  173. package/lib/inventory/containerRisk.js +204 -0
  174. package/lib/inventory/cryptoAlgorithmFamily.js +258 -0
  175. package/lib/inventory/deps.js +807 -0
  176. package/lib/inventory/depsUtils.js +588 -0
  177. package/lib/inventory/display.js +2128 -0
  178. package/lib/inventory/dosai.js +601 -0
  179. package/lib/inventory/dosaiParsers.js +154 -0
  180. package/lib/inventory/dynamic.js +145 -0
  181. package/lib/inventory/envcontext.js +1789 -0
  182. package/lib/inventory/evidenceUtils.js +774 -0
  183. package/lib/inventory/fetchBatch.js +779 -0
  184. package/lib/inventory/fetchRate.js +255 -0
  185. package/lib/inventory/forgeEnricher.js +300 -0
  186. package/lib/inventory/formulationParsers.js +422 -0
  187. package/lib/inventory/gtfobins.js +339 -0
  188. package/lib/inventory/hbom.js +719 -0
  189. package/lib/inventory/hbomAnalysis.js +310 -0
  190. package/lib/inventory/hbomLoader.js +35 -0
  191. package/lib/inventory/hostTopology.js +835 -0
  192. package/lib/inventory/inventoryStats.js +100 -0
  193. package/lib/inventory/jsonLike.js +121 -0
  194. package/lib/inventory/licenseEnhancer.js +918 -0
  195. package/lib/inventory/lolbas.js +285 -0
  196. package/lib/inventory/mcp.js +253 -0
  197. package/lib/inventory/mcpConfigParser.js +683 -0
  198. package/lib/inventory/mcpDiscovery.js +112 -0
  199. package/lib/inventory/mcpPinning.js +209 -0
  200. package/lib/inventory/osPackageResolver.js +493 -0
  201. package/lib/inventory/osinfo.js +277 -0
  202. package/lib/inventory/osqueryTransform.js +274 -0
  203. package/lib/inventory/plugins.js +466 -0
  204. package/lib/inventory/protobom.js +231 -0
  205. package/lib/inventory/protobomLoader.js +43 -0
  206. package/lib/inventory/provenanceUtils.js +224 -0
  207. package/lib/inventory/purl.js +749 -0
  208. package/lib/inventory/rustFormulationParser.js +339 -0
  209. package/lib/inventory/sbomDocument.js +340 -0
  210. package/lib/inventory/source.js +1488 -0
  211. package/lib/inventory/spdx.js +361 -0
  212. package/lib/inventory/spdxExpression.js +512 -0
  213. package/lib/inventory/spdxUtils.js +107 -0
  214. package/lib/inventory/table.js +263 -0
  215. package/lib/inventory/traceRunner.js +439 -0
  216. package/lib/inventory/unicodeScan.js +147 -0
  217. package/lib/managers/binary.js +3307 -0
  218. package/lib/managers/containerutils.js +125 -0
  219. package/lib/managers/docker.js +2145 -0
  220. package/lib/managers/dockerConnection.js +162 -0
  221. package/lib/managers/oci.js +704 -0
  222. package/lib/managers/piptree.js +267 -0
  223. package/lib/parsers/cmakeCache.js +199 -0
  224. package/lib/parsers/gguf.js +492 -0
  225. package/lib/parsers/gitAiNotes.js +233 -0
  226. package/lib/parsers/gitmodules.js +239 -0
  227. package/lib/parsers/htmlExtract.js +610 -0
  228. package/lib/parsers/huggingfaceManifest.js +551 -0
  229. package/lib/parsers/huggingfaceUtils.js +506 -0
  230. package/lib/parsers/iri.js +618 -0
  231. package/lib/parsers/npmrc.js +99 -0
  232. package/lib/parsers/ollama.js +101 -0
  233. package/lib/parsers/xml.js +841 -0
  234. package/lib/server/openapi.yaml +433 -0
  235. package/lib/server/server.js +616 -0
  236. package/lib/stages/postgen/annotator.js +977 -0
  237. package/lib/stages/postgen/auditBom.js +468 -0
  238. package/lib/stages/postgen/postgen.js +1239 -0
  239. package/lib/stages/postgen/ruleEngine.js +731 -0
  240. package/lib/stages/postgen/sortBom.js +195 -0
  241. package/lib/stages/postgen/spdxConverter.js +796 -0
  242. package/lib/stages/postgen/specVersionCompat.js +703 -0
  243. package/lib/stages/pregen/envAudit.js +388 -0
  244. package/lib/stages/pregen/pregen.js +637 -0
  245. package/lib/third-party/README.md +9 -0
  246. package/lib/third-party/arborist/CHANGELOG.md +1109 -0
  247. package/lib/third-party/arborist/LICENSE.md +20 -0
  248. package/lib/third-party/arborist/README.md +315 -0
  249. package/lib/third-party/arborist/lib/arborist/index.js +258 -0
  250. package/lib/third-party/arborist/lib/arborist/load-actual.js +605 -0
  251. package/lib/third-party/arborist/lib/arborist/load-virtual.js +300 -0
  252. package/lib/third-party/arborist/lib/bin-links.js +120 -0
  253. package/lib/third-party/arborist/lib/calc-dep-flags.js +130 -0
  254. package/lib/third-party/arborist/lib/case-insensitive-map.js +51 -0
  255. package/lib/third-party/arborist/lib/consistent-resolve.js +42 -0
  256. package/lib/third-party/arborist/lib/debug.js +50 -0
  257. package/lib/third-party/arborist/lib/dep-valid.js +190 -0
  258. package/lib/third-party/arborist/lib/edge.js +417 -0
  259. package/lib/third-party/arborist/lib/from-path.js +36 -0
  260. package/lib/third-party/arborist/lib/gather-dep-set.js +43 -0
  261. package/lib/third-party/arborist/lib/index.js +22 -0
  262. package/lib/third-party/arborist/lib/inventory.js +138 -0
  263. package/lib/third-party/arborist/lib/link.js +169 -0
  264. package/lib/third-party/arborist/lib/node.js +1673 -0
  265. package/lib/third-party/arborist/lib/npm-extension.js +45 -0
  266. package/lib/third-party/arborist/lib/override-resolves.js +11 -0
  267. package/lib/third-party/arborist/lib/override-set.js +319 -0
  268. package/lib/third-party/arborist/lib/package-extensions.js +289 -0
  269. package/lib/third-party/arborist/lib/printable.js +210 -0
  270. package/lib/third-party/arborist/lib/proc-log.js +30 -0
  271. package/lib/third-party/arborist/lib/realpath.js +100 -0
  272. package/lib/third-party/arborist/lib/relpath.js +4 -0
  273. package/lib/third-party/arborist/lib/shrinkwrap.js +1291 -0
  274. package/lib/third-party/arborist/lib/spec-from-lock.js +34 -0
  275. package/lib/third-party/arborist/lib/tree-check.js +165 -0
  276. package/lib/third-party/arborist/lib/validate-npm-package-name.js +107 -0
  277. package/lib/third-party/arborist/lib/version-from-tgz.js +51 -0
  278. package/lib/third-party/arborist/lib/yarn-lock.js +397 -0
  279. package/lib/validator/bomValidator.js +985 -0
  280. package/lib/validator/complianceEngine.js +241 -0
  281. package/lib/validator/complianceRules.js +1680 -0
  282. package/lib/validator/generated/runtime.mjs +17 -0
  283. package/lib/validator/generated/validate-1.6.mjs +21258 -0
  284. package/lib/validator/generated/validate-1.7.mjs +24803 -0
  285. package/lib/validator/generated/validate-2.0.mjs +22931 -0
  286. package/lib/validator/index.js +246 -0
  287. package/lib/validator/reporters/annotations.js +142 -0
  288. package/lib/validator/reporters/console.js +160 -0
  289. package/lib/validator/reporters/index.js +41 -0
  290. package/lib/validator/reporters/json.js +37 -0
  291. package/lib/validator/reporters/sarif.js +184 -0
  292. package/package.json +209 -26
  293. package/types/bin/audit.d.ts +3 -0
  294. package/types/bin/audit.d.ts.map +1 -0
  295. package/types/bin/cdxgen.d.ts +3 -0
  296. package/types/bin/cdxgen.d.ts.map +1 -0
  297. package/types/bin/convert.d.ts +3 -0
  298. package/types/bin/convert.d.ts.map +1 -0
  299. package/types/bin/evinse.d.ts +3 -0
  300. package/types/bin/evinse.d.ts.map +1 -0
  301. package/types/bin/hbom.d.ts +3 -0
  302. package/types/bin/hbom.d.ts.map +1 -0
  303. package/types/bin/repl.d.ts +3 -0
  304. package/types/bin/repl.d.ts.map +1 -0
  305. package/types/bin/sign.d.ts +3 -0
  306. package/types/bin/sign.d.ts.map +1 -0
  307. package/types/bin/tracebom.d.ts +3 -0
  308. package/types/bin/tracebom.d.ts.map +1 -0
  309. package/types/bin/validate.d.ts +14 -0
  310. package/types/bin/validate.d.ts.map +1 -0
  311. package/types/bin/verify.d.ts +3 -0
  312. package/types/bin/verify.d.ts.map +1 -0
  313. package/types/lib/audit/index.d.ts +153 -0
  314. package/types/lib/audit/index.d.ts.map +1 -0
  315. package/types/lib/audit/progress.d.ts +31 -0
  316. package/types/lib/audit/progress.d.ts.map +1 -0
  317. package/types/lib/audit/reporters.d.ts +62 -0
  318. package/types/lib/audit/reporters.d.ts.map +1 -0
  319. package/types/lib/audit/scoring.d.ts +36 -0
  320. package/types/lib/audit/scoring.d.ts.map +1 -0
  321. package/types/lib/audit/targets.d.ts +77 -0
  322. package/types/lib/audit/targets.d.ts.map +1 -0
  323. package/types/lib/cli/bomAssembly.d.ts +315 -0
  324. package/types/lib/cli/bomAssembly.d.ts.map +1 -0
  325. package/types/lib/cli/cliOptions.d.ts +156 -0
  326. package/types/lib/cli/cliOptions.d.ts.map +1 -0
  327. package/types/lib/cli/index.d.ts +107 -0
  328. package/types/lib/cli/index.d.ts.map +1 -0
  329. package/types/lib/cli/jsBom.d.ts +94 -0
  330. package/types/lib/cli/jsBom.d.ts.map +1 -0
  331. package/types/lib/cli/jvmBom.d.ts +54 -0
  332. package/types/lib/cli/jvmBom.d.ts.map +1 -0
  333. package/types/lib/cli/managedBom.d.ts +105 -0
  334. package/types/lib/cli/managedBom.d.ts.map +1 -0
  335. package/types/lib/cli/nativeBom.d.ts +143 -0
  336. package/types/lib/cli/nativeBom.d.ts.map +1 -0
  337. package/types/lib/core/activity.d.ts +178 -0
  338. package/types/lib/core/activity.d.ts.map +1 -0
  339. package/types/lib/core/env.d.ts +192 -0
  340. package/types/lib/core/env.d.ts.map +1 -0
  341. package/types/lib/core/fs.d.ts +158 -0
  342. package/types/lib/core/fs.d.ts.map +1 -0
  343. package/types/lib/core/httpClient.d.ts +149 -0
  344. package/types/lib/core/httpClient.d.ts.map +1 -0
  345. package/types/lib/core/logger.d.ts +28 -0
  346. package/types/lib/core/logger.d.ts.map +1 -0
  347. package/types/lib/core/parallel.d.ts +95 -0
  348. package/types/lib/core/parallel.d.ts.map +1 -0
  349. package/types/lib/core/paths.d.ts +36 -0
  350. package/types/lib/core/paths.d.ts.map +1 -0
  351. package/types/lib/core/projectConfig.d.ts +23 -0
  352. package/types/lib/core/projectConfig.d.ts.map +1 -0
  353. package/types/lib/core/propertySanitizer.d.ts +23 -0
  354. package/types/lib/core/propertySanitizer.d.ts.map +1 -0
  355. package/types/lib/core/spdx.d.ts +5 -0
  356. package/types/lib/core/spdx.d.ts.map +1 -0
  357. package/types/lib/core/state.d.ts +20 -0
  358. package/types/lib/core/state.d.ts.map +1 -0
  359. package/types/lib/core/text.d.ts +78 -0
  360. package/types/lib/core/text.d.ts.map +1 -0
  361. package/types/lib/core/ui.d.ts +87 -0
  362. package/types/lib/core/ui.d.ts.map +1 -0
  363. package/types/lib/core/urls.d.ts +43 -0
  364. package/types/lib/core/urls.d.ts.map +1 -0
  365. package/types/lib/ecosystems/asarutils.d.ts +71 -0
  366. package/types/lib/ecosystems/asarutils.d.ts.map +1 -0
  367. package/types/lib/ecosystems/bunutils.d.ts +38 -0
  368. package/types/lib/ecosystems/bunutils.d.ts.map +1 -0
  369. package/types/lib/ecosystems/caxa.d.ts +8 -0
  370. package/types/lib/ecosystems/caxa.d.ts.map +1 -0
  371. package/types/lib/ecosystems/chromextutils.d.ts +97 -0
  372. package/types/lib/ecosystems/chromextutils.d.ts.map +1 -0
  373. package/types/lib/ecosystems/cmakeResolver.d.ts +176 -0
  374. package/types/lib/ecosystems/cmakeResolver.d.ts.map +1 -0
  375. package/types/lib/ecosystems/cppEvidence.d.ts +35 -0
  376. package/types/lib/ecosystems/cppEvidence.d.ts.map +1 -0
  377. package/types/lib/ecosystems/denoutils.d.ts +76 -0
  378. package/types/lib/ecosystems/denoutils.d.ts.map +1 -0
  379. package/types/lib/ecosystems/dotnetutils.d.ts +45 -0
  380. package/types/lib/ecosystems/dotnetutils.d.ts.map +1 -0
  381. package/types/lib/ecosystems/ecosystems.d.ts +279 -0
  382. package/types/lib/ecosystems/ecosystems.d.ts.map +1 -0
  383. package/types/lib/ecosystems/golem.d.ts +60 -0
  384. package/types/lib/ecosystems/golem.d.ts.map +1 -0
  385. package/types/lib/ecosystems/gradleutils.d.ts +139 -0
  386. package/types/lib/ecosystems/gradleutils.d.ts.map +1 -0
  387. package/types/lib/ecosystems/jsEvidence.d.ts +17 -0
  388. package/types/lib/ecosystems/jsEvidence.d.ts.map +1 -0
  389. package/types/lib/ecosystems/npmutils.d.ts +183 -0
  390. package/types/lib/ecosystems/npmutils.d.ts.map +1 -0
  391. package/types/lib/ecosystems/parsers-bazel.d.ts +36 -0
  392. package/types/lib/ecosystems/parsers-bazel.d.ts.map +1 -0
  393. package/types/lib/ecosystems/parsers-dotnet.d.ts +116 -0
  394. package/types/lib/ecosystems/parsers-dotnet.d.ts.map +1 -0
  395. package/types/lib/ecosystems/parsers-gleam.d.ts +33 -0
  396. package/types/lib/ecosystems/parsers-gleam.d.ts.map +1 -0
  397. package/types/lib/ecosystems/parsers-go.d.ts +92 -0
  398. package/types/lib/ecosystems/parsers-go.d.ts.map +1 -0
  399. package/types/lib/ecosystems/parsers-js.d.ts +242 -0
  400. package/types/lib/ecosystems/parsers-js.d.ts.map +1 -0
  401. package/types/lib/ecosystems/parsers-jvm.d.ts +100 -0
  402. package/types/lib/ecosystems/parsers-jvm.d.ts.map +1 -0
  403. package/types/lib/ecosystems/parsers-misc.d.ts +450 -0
  404. package/types/lib/ecosystems/parsers-misc.d.ts.map +1 -0
  405. package/types/lib/ecosystems/parsers-python.d.ts +145 -0
  406. package/types/lib/ecosystems/parsers-python.d.ts.map +1 -0
  407. package/types/lib/ecosystems/parsers-rust.d.ts +56 -0
  408. package/types/lib/ecosystems/parsers-rust.d.ts.map +1 -0
  409. package/types/lib/ecosystems/parsers-zig.d.ts +83 -0
  410. package/types/lib/ecosystems/parsers-zig.d.ts.map +1 -0
  411. package/types/lib/ecosystems/pep770.d.ts +38 -0
  412. package/types/lib/ecosystems/pep770.d.ts.map +1 -0
  413. package/types/lib/ecosystems/pylockutils.d.ts +68 -0
  414. package/types/lib/ecosystems/pylockutils.d.ts.map +1 -0
  415. package/types/lib/ecosystems/pythonutils.d.ts +70 -0
  416. package/types/lib/ecosystems/pythonutils.d.ts.map +1 -0
  417. package/types/lib/ecosystems/registryProvenance.d.ts +26 -0
  418. package/types/lib/ecosystems/registryProvenance.d.ts.map +1 -0
  419. package/types/lib/ecosystems/remote/huggingface.d.ts +31 -0
  420. package/types/lib/ecosystems/remote/huggingface.d.ts.map +1 -0
  421. package/types/lib/ecosystems/rubyutils.d.ts +182 -0
  422. package/types/lib/ecosystems/rubyutils.d.ts.map +1 -0
  423. package/types/lib/ecosystems/rusi.d.ts +40 -0
  424. package/types/lib/ecosystems/rusi.d.ts.map +1 -0
  425. package/types/lib/ecosystems/sbtutils.d.ts +179 -0
  426. package/types/lib/ecosystems/sbtutils.d.ts.map +1 -0
  427. package/types/lib/ecosystems/tea.d.ts +180 -0
  428. package/types/lib/ecosystems/tea.d.ts.map +1 -0
  429. package/types/lib/ecosystems/utils.d.ts +41 -0
  430. package/types/lib/ecosystems/utils.d.ts.map +1 -0
  431. package/types/lib/ecosystems/zigResolver.d.ts +70 -0
  432. package/types/lib/ecosystems/zigResolver.d.ts.map +1 -0
  433. package/types/lib/evinser/db.d.ts +17 -0
  434. package/types/lib/evinser/db.d.ts.map +1 -0
  435. package/types/lib/evinser/evinser.d.ts +354 -0
  436. package/types/lib/evinser/evinser.d.ts.map +1 -0
  437. package/types/lib/evinser/scalasem.d.ts +15 -0
  438. package/types/lib/evinser/scalasem.d.ts.map +1 -0
  439. package/types/lib/evinser/swiftsem.d.ts +103 -0
  440. package/types/lib/evinser/swiftsem.d.ts.map +1 -0
  441. package/types/lib/helpers/annotationFormatter.d.ts +23 -0
  442. package/types/lib/helpers/annotationFormatter.d.ts.map +1 -0
  443. package/types/lib/helpers/bomSigner.d.ts +28 -0
  444. package/types/lib/helpers/bomSigner.d.ts.map +1 -0
  445. package/types/lib/helpers/exportUtils.d.ts +52 -0
  446. package/types/lib/helpers/exportUtils.d.ts.map +1 -0
  447. package/types/lib/helpers/remote/dependency-track.d.ts +23 -0
  448. package/types/lib/helpers/remote/dependency-track.d.ts.map +1 -0
  449. package/types/lib/helpers/versutils.d.ts +8 -0
  450. package/types/lib/helpers/versutils.d.ts.map +1 -0
  451. package/types/lib/helpers/vsixutils.d.ts +130 -0
  452. package/types/lib/helpers/vsixutils.d.ts.map +1 -0
  453. package/types/lib/inventory/agentFormulationParser.d.ts +21 -0
  454. package/types/lib/inventory/agentFormulationParser.d.ts.map +1 -0
  455. package/types/lib/inventory/aiCollector.d.ts +61 -0
  456. package/types/lib/inventory/aiCollector.d.ts.map +1 -0
  457. package/types/lib/inventory/aiInventory.d.ts +103 -0
  458. package/types/lib/inventory/aiInventory.d.ts.map +1 -0
  459. package/types/lib/inventory/aiModelVariants.d.ts +31 -0
  460. package/types/lib/inventory/aiModelVariants.d.ts.map +1 -0
  461. package/types/lib/inventory/aiOversightCollector.d.ts +28 -0
  462. package/types/lib/inventory/aiOversightCollector.d.ts.map +1 -0
  463. package/types/lib/inventory/aiProvenanceCollector.d.ts +13 -0
  464. package/types/lib/inventory/aiProvenanceCollector.d.ts.map +1 -0
  465. package/types/lib/inventory/analyzer.d.ts +157 -0
  466. package/types/lib/inventory/analyzer.d.ts.map +1 -0
  467. package/types/lib/inventory/analyzerScope.d.ts +106 -0
  468. package/types/lib/inventory/analyzerScope.d.ts.map +1 -0
  469. package/types/lib/inventory/astWorker.d.ts +9 -0
  470. package/types/lib/inventory/astWorker.d.ts.map +1 -0
  471. package/types/lib/inventory/atomUtils.d.ts +159 -0
  472. package/types/lib/inventory/atomUtils.d.ts.map +1 -0
  473. package/types/lib/inventory/auditCategories.d.ts +80 -0
  474. package/types/lib/inventory/auditCategories.d.ts.map +1 -0
  475. package/types/lib/inventory/bomUtils.d.ts +145 -0
  476. package/types/lib/inventory/bomUtils.d.ts.map +1 -0
  477. package/types/lib/inventory/cacheCommands.d.ts +28 -0
  478. package/types/lib/inventory/cacheCommands.d.ts.map +1 -0
  479. package/types/lib/inventory/cacheDir.d.ts +55 -0
  480. package/types/lib/inventory/cacheDir.d.ts.map +1 -0
  481. package/types/lib/inventory/cbomutils.d.ts +37 -0
  482. package/types/lib/inventory/cbomutils.d.ts.map +1 -0
  483. package/types/lib/inventory/cdxrs.d.ts +90 -0
  484. package/types/lib/inventory/cdxrs.d.ts.map +1 -0
  485. package/types/lib/inventory/ciParsers/azurePipelines.d.ts +27 -0
  486. package/types/lib/inventory/ciParsers/azurePipelines.d.ts.map +1 -0
  487. package/types/lib/inventory/ciParsers/circleCi.d.ts +27 -0
  488. package/types/lib/inventory/ciParsers/circleCi.d.ts.map +1 -0
  489. package/types/lib/inventory/ciParsers/common.d.ts +11 -0
  490. package/types/lib/inventory/ciParsers/common.d.ts.map +1 -0
  491. package/types/lib/inventory/ciParsers/githubActions.d.ts +38 -0
  492. package/types/lib/inventory/ciParsers/githubActions.d.ts.map +1 -0
  493. package/types/lib/inventory/ciParsers/gitlabCi.d.ts +26 -0
  494. package/types/lib/inventory/ciParsers/gitlabCi.d.ts.map +1 -0
  495. package/types/lib/inventory/ciParsers/jenkins.d.ts +26 -0
  496. package/types/lib/inventory/ciParsers/jenkins.d.ts.map +1 -0
  497. package/types/lib/inventory/citations.d.ts +90 -0
  498. package/types/lib/inventory/citations.d.ts.map +1 -0
  499. package/types/lib/inventory/communityAiConfigParser.d.ts +14 -0
  500. package/types/lib/inventory/communityAiConfigParser.d.ts.map +1 -0
  501. package/types/lib/inventory/containerRisk.d.ts +20 -0
  502. package/types/lib/inventory/containerRisk.d.ts.map +1 -0
  503. package/types/lib/inventory/cryptoAlgorithmFamily.d.ts +37 -0
  504. package/types/lib/inventory/cryptoAlgorithmFamily.d.ts.map +1 -0
  505. package/types/lib/inventory/deps.d.ts +140 -0
  506. package/types/lib/inventory/deps.d.ts.map +1 -0
  507. package/types/lib/inventory/depsUtils.d.ts +74 -0
  508. package/types/lib/inventory/depsUtils.d.ts.map +1 -0
  509. package/types/lib/inventory/display.d.ts +227 -0
  510. package/types/lib/inventory/display.d.ts.map +1 -0
  511. package/types/lib/inventory/dosai.d.ts +130 -0
  512. package/types/lib/inventory/dosai.d.ts.map +1 -0
  513. package/types/lib/inventory/dosaiParsers.d.ts +59 -0
  514. package/types/lib/inventory/dosaiParsers.d.ts.map +1 -0
  515. package/types/lib/inventory/dynamic.d.ts +25 -0
  516. package/types/lib/inventory/dynamic.d.ts.map +1 -0
  517. package/types/lib/inventory/envcontext.d.ts +377 -0
  518. package/types/lib/inventory/envcontext.d.ts.map +1 -0
  519. package/types/lib/inventory/evidenceUtils.d.ts +74 -0
  520. package/types/lib/inventory/evidenceUtils.d.ts.map +1 -0
  521. package/types/lib/inventory/fetchBatch.d.ts +127 -0
  522. package/types/lib/inventory/fetchBatch.d.ts.map +1 -0
  523. package/types/lib/inventory/fetchRate.d.ts +118 -0
  524. package/types/lib/inventory/fetchRate.d.ts.map +1 -0
  525. package/types/lib/inventory/forgeEnricher.d.ts +31 -0
  526. package/types/lib/inventory/forgeEnricher.d.ts.map +1 -0
  527. package/types/lib/inventory/formulationParsers.d.ts +50 -0
  528. package/types/lib/inventory/formulationParsers.d.ts.map +1 -0
  529. package/types/lib/inventory/gtfobins.d.ts +27 -0
  530. package/types/lib/inventory/gtfobins.d.ts.map +1 -0
  531. package/types/lib/inventory/hbom.d.ts +58 -0
  532. package/types/lib/inventory/hbom.d.ts.map +1 -0
  533. package/types/lib/inventory/hbomAnalysis.d.ts +56 -0
  534. package/types/lib/inventory/hbomAnalysis.d.ts.map +1 -0
  535. package/types/lib/inventory/hbomLoader.d.ts +7 -0
  536. package/types/lib/inventory/hbomLoader.d.ts.map +1 -0
  537. package/types/lib/inventory/hostTopology.d.ts +47 -0
  538. package/types/lib/inventory/hostTopology.d.ts.map +1 -0
  539. package/types/lib/inventory/inventoryStats.d.ts +42 -0
  540. package/types/lib/inventory/inventoryStats.d.ts.map +1 -0
  541. package/types/lib/inventory/jsonLike.d.ts +23 -0
  542. package/types/lib/inventory/jsonLike.d.ts.map +1 -0
  543. package/types/lib/inventory/licenseEnhancer.d.ts +70 -0
  544. package/types/lib/inventory/licenseEnhancer.d.ts.map +1 -0
  545. package/types/lib/inventory/lolbas.d.ts +16 -0
  546. package/types/lib/inventory/lolbas.d.ts.map +1 -0
  547. package/types/lib/inventory/mcp.d.ts +29 -0
  548. package/types/lib/inventory/mcp.d.ts.map +1 -0
  549. package/types/lib/inventory/mcpConfigParser.d.ts +20 -0
  550. package/types/lib/inventory/mcpConfigParser.d.ts.map +1 -0
  551. package/types/lib/inventory/mcpDiscovery.d.ts +33 -0
  552. package/types/lib/inventory/mcpDiscovery.d.ts.map +1 -0
  553. package/types/lib/inventory/mcpPinning.d.ts +11 -0
  554. package/types/lib/inventory/mcpPinning.d.ts.map +1 -0
  555. package/types/lib/inventory/osPackageResolver.d.ts +49 -0
  556. package/types/lib/inventory/osPackageResolver.d.ts.map +1 -0
  557. package/types/lib/inventory/osinfo.d.ts +120 -0
  558. package/types/lib/inventory/osinfo.d.ts.map +1 -0
  559. package/types/lib/inventory/osqueryTransform.d.ts +84 -0
  560. package/types/lib/inventory/osqueryTransform.d.ts.map +1 -0
  561. package/types/lib/inventory/plugins.d.ts +58 -0
  562. package/types/lib/inventory/plugins.d.ts.map +1 -0
  563. package/types/lib/inventory/protobom.d.ts +71 -0
  564. package/types/lib/inventory/protobom.d.ts.map +1 -0
  565. package/types/lib/inventory/protobomLoader.d.ts +17 -0
  566. package/types/lib/inventory/protobomLoader.d.ts.map +1 -0
  567. package/types/lib/inventory/provenanceUtils.d.ts +98 -0
  568. package/types/lib/inventory/provenanceUtils.d.ts.map +1 -0
  569. package/types/lib/inventory/purl.d.ts +313 -0
  570. package/types/lib/inventory/purl.d.ts.map +1 -0
  571. package/types/lib/inventory/rustFormulationParser.d.ts +17 -0
  572. package/types/lib/inventory/rustFormulationParser.d.ts.map +1 -0
  573. package/types/lib/inventory/sbomDocument.d.ts +59 -0
  574. package/types/lib/inventory/sbomDocument.d.ts.map +1 -0
  575. package/types/lib/inventory/source.d.ts +163 -0
  576. package/types/lib/inventory/source.d.ts.map +1 -0
  577. package/types/lib/inventory/spdx.d.ts +66 -0
  578. package/types/lib/inventory/spdx.d.ts.map +1 -0
  579. package/types/lib/inventory/spdxExpression.d.ts +58 -0
  580. package/types/lib/inventory/spdxExpression.d.ts.map +1 -0
  581. package/types/lib/inventory/spdxUtils.d.ts +12 -0
  582. package/types/lib/inventory/spdxUtils.d.ts.map +1 -0
  583. package/types/lib/inventory/table.d.ts +19 -0
  584. package/types/lib/inventory/table.d.ts.map +1 -0
  585. package/types/lib/inventory/traceRunner.d.ts +80 -0
  586. package/types/lib/inventory/traceRunner.d.ts.map +1 -0
  587. package/types/lib/inventory/unicodeScan.d.ts +46 -0
  588. package/types/lib/inventory/unicodeScan.d.ts.map +1 -0
  589. package/types/lib/managers/binary.d.ts +76 -0
  590. package/types/lib/managers/binary.d.ts.map +1 -0
  591. package/types/lib/managers/containerutils.d.ts +30 -0
  592. package/types/lib/managers/containerutils.d.ts.map +1 -0
  593. package/types/lib/managers/docker.d.ts +157 -0
  594. package/types/lib/managers/docker.d.ts.map +1 -0
  595. package/types/lib/managers/dockerConnection.d.ts +42 -0
  596. package/types/lib/managers/dockerConnection.d.ts.map +1 -0
  597. package/types/lib/managers/oci.d.ts +21 -0
  598. package/types/lib/managers/oci.d.ts.map +1 -0
  599. package/types/lib/managers/piptree.d.ts +13 -0
  600. package/types/lib/managers/piptree.d.ts.map +1 -0
  601. package/types/lib/parsers/cmakeCache.d.ts +70 -0
  602. package/types/lib/parsers/cmakeCache.d.ts.map +1 -0
  603. package/types/lib/parsers/gguf.d.ts +39 -0
  604. package/types/lib/parsers/gguf.d.ts.map +1 -0
  605. package/types/lib/parsers/gitAiNotes.d.ts +15 -0
  606. package/types/lib/parsers/gitAiNotes.d.ts.map +1 -0
  607. package/types/lib/parsers/gitmodules.d.ts +88 -0
  608. package/types/lib/parsers/gitmodules.d.ts.map +1 -0
  609. package/types/lib/parsers/htmlExtract.d.ts +34 -0
  610. package/types/lib/parsers/htmlExtract.d.ts.map +1 -0
  611. package/types/lib/parsers/huggingfaceManifest.d.ts +153 -0
  612. package/types/lib/parsers/huggingfaceManifest.d.ts.map +1 -0
  613. package/types/lib/parsers/huggingfaceUtils.d.ts +155 -0
  614. package/types/lib/parsers/huggingfaceUtils.d.ts.map +1 -0
  615. package/types/lib/parsers/iri.d.ts +68 -0
  616. package/types/lib/parsers/iri.d.ts.map +1 -0
  617. package/types/lib/parsers/npmrc.d.ts +33 -0
  618. package/types/lib/parsers/npmrc.d.ts.map +1 -0
  619. package/types/lib/parsers/ollama.d.ts +22 -0
  620. package/types/lib/parsers/ollama.d.ts.map +1 -0
  621. package/types/lib/parsers/xml.d.ts +47 -0
  622. package/types/lib/parsers/xml.d.ts.map +1 -0
  623. package/types/lib/server/server.d.ts +51 -0
  624. package/types/lib/server/server.d.ts.map +1 -0
  625. package/types/lib/stages/postgen/annotator.d.ts +36 -0
  626. package/types/lib/stages/postgen/annotator.d.ts.map +1 -0
  627. package/types/lib/stages/postgen/auditBom.d.ts +92 -0
  628. package/types/lib/stages/postgen/auditBom.d.ts.map +1 -0
  629. package/types/lib/stages/postgen/postgen.d.ts +59 -0
  630. package/types/lib/stages/postgen/postgen.d.ts.map +1 -0
  631. package/types/lib/stages/postgen/ruleEngine.d.ts +18 -0
  632. package/types/lib/stages/postgen/ruleEngine.d.ts.map +1 -0
  633. package/types/lib/stages/postgen/sortBom.d.ts +34 -0
  634. package/types/lib/stages/postgen/sortBom.d.ts.map +1 -0
  635. package/types/lib/stages/postgen/spdxConverter.d.ts +11 -0
  636. package/types/lib/stages/postgen/spdxConverter.d.ts.map +1 -0
  637. package/types/lib/stages/postgen/specVersionCompat.d.ts +71 -0
  638. package/types/lib/stages/postgen/specVersionCompat.d.ts.map +1 -0
  639. package/types/lib/stages/pregen/envAudit.d.ts +14 -0
  640. package/types/lib/stages/pregen/envAudit.d.ts.map +1 -0
  641. package/types/lib/stages/pregen/pregen.d.ts +59 -0
  642. package/types/lib/stages/pregen/pregen.d.ts.map +1 -0
  643. package/types/lib/third-party/arborist/lib/arborist/index.d.ts +47 -0
  644. package/types/lib/third-party/arborist/lib/arborist/index.d.ts.map +1 -0
  645. package/types/lib/third-party/arborist/lib/arborist/load-actual.d.ts +4 -0
  646. package/types/lib/third-party/arborist/lib/arborist/load-actual.d.ts.map +1 -0
  647. package/types/lib/third-party/arborist/lib/arborist/load-virtual.d.ts +4 -0
  648. package/types/lib/third-party/arborist/lib/arborist/load-virtual.d.ts.map +1 -0
  649. package/types/lib/third-party/arborist/lib/bin-links.d.ts +18 -0
  650. package/types/lib/third-party/arborist/lib/bin-links.d.ts.map +1 -0
  651. package/types/lib/third-party/arborist/lib/calc-dep-flags.d.ts +3 -0
  652. package/types/lib/third-party/arborist/lib/calc-dep-flags.d.ts.map +1 -0
  653. package/types/lib/third-party/arborist/lib/case-insensitive-map.d.ts +9 -0
  654. package/types/lib/third-party/arborist/lib/case-insensitive-map.d.ts.map +1 -0
  655. package/types/lib/third-party/arborist/lib/consistent-resolve.d.ts +3 -0
  656. package/types/lib/third-party/arborist/lib/consistent-resolve.d.ts.map +1 -0
  657. package/types/lib/third-party/arborist/lib/debug.d.ts +3 -0
  658. package/types/lib/third-party/arborist/lib/debug.d.ts.map +1 -0
  659. package/types/lib/third-party/arborist/lib/dep-valid.d.ts +3 -0
  660. package/types/lib/third-party/arborist/lib/dep-valid.d.ts.map +1 -0
  661. package/types/lib/third-party/arborist/lib/edge.d.ts +46 -0
  662. package/types/lib/third-party/arborist/lib/edge.d.ts.map +1 -0
  663. package/types/lib/third-party/arborist/lib/from-path.d.ts +3 -0
  664. package/types/lib/third-party/arborist/lib/from-path.d.ts.map +1 -0
  665. package/types/lib/third-party/arborist/lib/gather-dep-set.d.ts +3 -0
  666. package/types/lib/third-party/arborist/lib/gather-dep-set.d.ts.map +1 -0
  667. package/types/lib/third-party/arborist/lib/index.d.ts +3 -0
  668. package/types/lib/third-party/arborist/lib/index.d.ts.map +1 -0
  669. package/types/lib/third-party/arborist/lib/inventory.d.ts +14 -0
  670. package/types/lib/third-party/arborist/lib/inventory.d.ts.map +1 -0
  671. package/types/lib/third-party/arborist/lib/link.d.ts +18 -0
  672. package/types/lib/third-party/arborist/lib/link.d.ts.map +1 -0
  673. package/types/lib/third-party/arborist/lib/node.d.ts +112 -0
  674. package/types/lib/third-party/arborist/lib/node.d.ts.map +1 -0
  675. package/types/lib/third-party/arborist/lib/npm-extension.d.ts +18 -0
  676. package/types/lib/third-party/arborist/lib/npm-extension.d.ts.map +1 -0
  677. package/types/lib/third-party/arborist/lib/override-resolves.d.ts +3 -0
  678. package/types/lib/third-party/arborist/lib/override-resolves.d.ts.map +1 -0
  679. package/types/lib/third-party/arborist/lib/override-set.d.ts +27 -0
  680. package/types/lib/third-party/arborist/lib/override-set.d.ts.map +1 -0
  681. package/types/lib/third-party/arborist/lib/package-extensions.d.ts +36 -0
  682. package/types/lib/third-party/arborist/lib/package-extensions.d.ts.map +1 -0
  683. package/types/lib/third-party/arborist/lib/printable.d.ts +3 -0
  684. package/types/lib/third-party/arborist/lib/printable.d.ts.map +1 -0
  685. package/types/lib/third-party/arborist/lib/proc-log.d.ts +20 -0
  686. package/types/lib/third-party/arborist/lib/proc-log.d.ts.map +1 -0
  687. package/types/lib/third-party/arborist/lib/realpath.d.ts +3 -0
  688. package/types/lib/third-party/arborist/lib/realpath.d.ts.map +1 -0
  689. package/types/lib/third-party/arborist/lib/relpath.d.ts +3 -0
  690. package/types/lib/third-party/arborist/lib/relpath.d.ts.map +1 -0
  691. package/types/lib/third-party/arborist/lib/shrinkwrap.d.ts +54 -0
  692. package/types/lib/third-party/arborist/lib/shrinkwrap.d.ts.map +1 -0
  693. package/types/lib/third-party/arborist/lib/spec-from-lock.d.ts +3 -0
  694. package/types/lib/third-party/arborist/lib/spec-from-lock.d.ts.map +1 -0
  695. package/types/lib/third-party/arborist/lib/tree-check.d.ts +3 -0
  696. package/types/lib/third-party/arborist/lib/tree-check.d.ts.map +1 -0
  697. package/types/lib/third-party/arborist/lib/validate-npm-package-name.d.ts +13 -0
  698. package/types/lib/third-party/arborist/lib/validate-npm-package-name.d.ts.map +1 -0
  699. package/types/lib/third-party/arborist/lib/version-from-tgz.d.ts +6 -0
  700. package/types/lib/third-party/arborist/lib/version-from-tgz.d.ts.map +1 -0
  701. package/types/lib/third-party/arborist/lib/yarn-lock.d.ts +35 -0
  702. package/types/lib/third-party/arborist/lib/yarn-lock.d.ts.map +1 -0
  703. package/types/lib/validator/bomValidator.d.ts +40 -0
  704. package/types/lib/validator/bomValidator.d.ts.map +1 -0
  705. package/types/lib/validator/complianceEngine.d.ts +72 -0
  706. package/types/lib/validator/complianceEngine.d.ts.map +1 -0
  707. package/types/lib/validator/complianceRules.d.ts +61 -0
  708. package/types/lib/validator/complianceRules.d.ts.map +1 -0
  709. package/types/lib/validator/index.d.ts +101 -0
  710. package/types/lib/validator/index.d.ts.map +1 -0
  711. package/types/lib/validator/reporters/annotations.d.ts +37 -0
  712. package/types/lib/validator/reporters/annotations.d.ts.map +1 -0
  713. package/types/lib/validator/reporters/console.d.ts +34 -0
  714. package/types/lib/validator/reporters/console.d.ts.map +1 -0
  715. package/types/lib/validator/reporters/index.d.ts +30 -0
  716. package/types/lib/validator/reporters/index.d.ts.map +1 -0
  717. package/types/lib/validator/reporters/json.d.ts +11 -0
  718. package/types/lib/validator/reporters/json.d.ts.map +1 -0
  719. package/types/lib/validator/reporters/sarif.d.ts +22 -0
  720. package/types/lib/validator/reporters/sarif.d.ts.map +1 -0
  721. package/mod.d.ts +0 -7
  722. package/mod.js +0 -22
@@ -0,0 +1,364 @@
1
+ # Package Integrity and Lifecycle Rules
2
+ # Category: package-integrity
3
+ # Detects deprecated, yanked, or tampered packages and suspicious metadata
4
+
5
+ - id: INT-001
6
+ name: "npm package with install script"
7
+ description: "npm packages with lifecycle hooks (preinstall, postinstall, etc.) execute arbitrary code during installation"
8
+ severity: medium
9
+ category: package-integrity
10
+ dry-run-support: full
11
+ condition: |
12
+ components[
13
+ $prop($, 'cdx:npm:hasInstallScript') = 'true'
14
+ ]
15
+ location: |
16
+ { "bomRef": $."bom-ref", "purl": purl }
17
+ message: "npm package '{{ name }}@{{ version }}' has install-time execution hooks"
18
+ mitigation: "Review install scripts before use. Consider using --ignore-scripts or an allowlist-based approach"
19
+ evidence: |
20
+ {
21
+ "riskyScripts": $prop($, 'cdx:npm:risky_scripts'),
22
+ "isRegistryDependency": $prop($, 'cdx:npm:isRegistryDependency')
23
+ }
24
+
25
+ - id: INT-002
26
+ name: "npm package name or version mismatch"
27
+ description: "Detected mismatch between expected and resolved package name or version, which may indicate dependency confusion or tampering"
28
+ severity: high
29
+ category: package-integrity
30
+ dry-run-support: full
31
+ condition: |
32
+ components[
33
+ $hasProp($, 'cdx:npm:nameMismatchError')
34
+ or $hasProp($, 'cdx:npm:versionMismatchError')
35
+ ]
36
+ location: |
37
+ { "bomRef": $."bom-ref", "purl": purl }
38
+ message: "npm package '{{ name }}@{{ version }}' has a name or version mismatch"
39
+ mitigation: "Investigate the mismatch immediately. This may indicate dependency confusion, registry tampering, or a corrupted lockfile"
40
+ evidence: |
41
+ {
42
+ "nameMismatch": $prop($, 'cdx:npm:nameMismatchError'),
43
+ "versionMismatch": $prop($, 'cdx:npm:versionMismatchError')
44
+ }
45
+
46
+ - id: INT-003
47
+ name: "Deprecated Go module"
48
+ description: "Go modules marked as deprecated may contain known issues or be abandoned"
49
+ severity: medium
50
+ category: package-integrity
51
+ dry-run-support: no
52
+ condition: |
53
+ components[
54
+ $hasProp($, 'cdx:go:deprecated')
55
+ ]
56
+ location: |
57
+ { "bomRef": $."bom-ref", "purl": purl }
58
+ message: "Go module '{{ name }}' is deprecated: {{ $prop($, 'cdx:go:deprecated') }}"
59
+ mitigation: "Migrate to the recommended replacement module or assess continued usage risk"
60
+ evidence: |
61
+ {
62
+ "deprecationNotice": $prop($, 'cdx:go:deprecated'),
63
+ "isIndirect": $prop($, 'cdx:go:indirect')
64
+ }
65
+
66
+ - id: INT-004
67
+ name: "Yanked Ruby gem in dependency tree"
68
+ description: "Yanked gems have been removed from RubyGems, typically due to security issues or critical bugs"
69
+ severity: high
70
+ category: package-integrity
71
+ dry-run-support: no
72
+ condition: |
73
+ components[
74
+ $prop($, 'cdx:gem:yanked') = 'true'
75
+ ]
76
+ location: |
77
+ { "bomRef": $."bom-ref", "purl": purl }
78
+ message: "Ruby gem '{{ name }}@{{ version }}' has been yanked from RubyGems"
79
+ mitigation: "Update to a non-yanked version immediately. Yanked gems are typically removed due to security or correctness issues"
80
+ evidence: |
81
+ {
82
+ "platform": $contains(purl, 'platform=') ? $substringAfter(purl, 'platform=') : 'ruby',
83
+ "isPrerelease": $prop($, 'cdx:gem:prerelease')
84
+ }
85
+
86
+ - id: INT-005
87
+ name: "npm deprecated package"
88
+ description: "npm packages marked as deprecated may have known vulnerabilities or unmaintained code"
89
+ severity: low
90
+ category: package-integrity
91
+ dry-run-support: partial
92
+ condition: |
93
+ components[
94
+ $prop($, 'cdx:npm:deprecated') = 'true'
95
+ ]
96
+ location: |
97
+ { "bomRef": $."bom-ref", "purl": purl }
98
+ message: "npm package '{{ name }}@{{ version }}' is deprecated: {{ $prop($, 'cdx:npm:deprecation_notice') }}"
99
+ mitigation: "Migrate to a maintained alternative package"
100
+ evidence: |
101
+ {
102
+ "deprecationNotice": $prop($, 'cdx:npm:deprecation_notice')
103
+ }
104
+
105
+ - id: INT-006
106
+ name: "Dart pub uses non-default registry"
107
+ description: "Dart packages from non-default registries may introduce unvetted code"
108
+ severity: low
109
+ category: package-integrity
110
+ dry-run-support: full
111
+ condition: |
112
+ components[
113
+ $hasProp($, 'cdx:pub:registry')
114
+ ]
115
+ location: |
116
+ { "bomRef": $."bom-ref", "purl": purl }
117
+ message: "Dart package '{{ name }}' sourced from non-default registry: {{ $prop($, 'cdx:pub:registry') }}"
118
+ mitigation: "Verify registry trustworthiness"
119
+ evidence: |
120
+ {
121
+ "registry": $prop($, 'cdx:pub:registry')
122
+ }
123
+
124
+ - id: INT-007
125
+ name: "Maven shaded/relocated package"
126
+ description: "Maven packages with shaded or relocated classes may obscure the true dependency graph and introduce hidden vulnerabilities"
127
+ severity: low
128
+ category: package-integrity
129
+ dry-run-support: full
130
+ condition: |
131
+ components[
132
+ $prop($, 'cdx:maven:shaded') = 'true'
133
+ ]
134
+ location: |
135
+ { "bomRef": $."bom-ref", "purl": purl }
136
+ message: "Maven package '{{ name }}@{{ version }}' contains shaded/relocated classes"
137
+ mitigation: "Prefer non-shaded dependency variants where available to maintain transparent dependency resolution"
138
+ evidence: |
139
+ {
140
+ "unshadedNamespaces": $prop($, 'cdx:maven:unshadedNamespaces'),
141
+ "scope": $prop($, 'cdx:maven:component_scope')
142
+ }
143
+
144
+ - id: INT-008
145
+ name: "README file contains hidden Unicode characters"
146
+ description: "Hidden Unicode in README files can conceal malicious or misleading content in code review, especially inside comments"
147
+ severity: medium
148
+ category: package-integrity
149
+ dry-run-support: full
150
+ condition: |
151
+ formulation.components[
152
+ $prop($, 'cdx:file:kind') = 'readme'
153
+ and $prop($, 'cdx:file:hasHiddenUnicode') = 'true'
154
+ ]
155
+ location: |
156
+ {
157
+ "bomRef": $."bom-ref",
158
+ "file": $prop($, 'internal:SrcFile')
159
+ }
160
+ message: "README file '{{ name }}' contains hidden Unicode characters"
161
+ mitigation: "Review the file with hidden-character rendering enabled, remove suspicious bidirectional or zero-width characters, and verify comment blocks carefully before merge"
162
+ evidence: |
163
+ {
164
+ "codePoints": $prop($, 'cdx:file:hiddenUnicodeCodePoints'),
165
+ "lineNumbers": $prop($, 'cdx:file:hiddenUnicodeLineNumbers'),
166
+ "inComments": $prop($, 'cdx:file:hiddenUnicodeInComments')
167
+ }
168
+
169
+ - id: INT-009
170
+ name: "npm lifecycle hook contains obfuscated or encoded execution"
171
+ description: "Lifecycle hooks that decode base64 payloads, hide long encoded blobs, or blend obfuscation with install-time execution are high-confidence supply-chain abuse indicators"
172
+ severity: critical
173
+ category: package-integrity
174
+ dry-run-support: full
175
+ attack:
176
+ tactics: [TA0005]
177
+ techniques: [T1027]
178
+ condition: |
179
+ components[
180
+ $prop($, 'cdx:npm:hasObfuscatedLifecycleScript') = 'true'
181
+ ]
182
+ location: |
183
+ { "bomRef": $."bom-ref", "purl": purl }
184
+ message: "npm package '{{ name }}@{{ version }}' contains obfuscated install-time lifecycle scripts '{{ $prop($, 'cdx:npm:obfuscatedLifecycleScripts') }}'"
185
+ mitigation: "Treat encoded or obfuscated lifecycle hooks as suspicious by default. Review the decoded payload, inspect any referenced script files, and avoid installing until provenance and maintainer intent are verified"
186
+ evidence: |
187
+ {
188
+ "scripts": $prop($, 'cdx:npm:obfuscatedLifecycleScripts'),
189
+ "obfuscationIndicators": $prop($, 'cdx:npm:lifecycleObfuscationIndicators'),
190
+ "executionIndicators": $prop($, 'cdx:npm:lifecycleExecutionIndicators'),
191
+ "indicatorMap": $prop($, 'cdx:npm:lifecycleIndicatorMap')
192
+ }
193
+
194
+ - id: INT-010
195
+ name: "Yanked Cargo crate in dependency tree"
196
+ description: "Crates yanked from crates.io are often removed because of security, correctness, or ecosystem breakage issues"
197
+ severity: high
198
+ category: package-integrity
199
+ dry-run-support: no
200
+ condition: |
201
+ components[
202
+ $prop($, 'cdx:cargo:yanked') = 'true'
203
+ ]
204
+ location: |
205
+ { "bomRef": $."bom-ref", "purl": purl }
206
+ message: "Cargo crate '{{ name }}@{{ version }}' has been yanked from crates.io"
207
+ mitigation: "Update to a non-yanked release and review any recent publisher or release-cadence changes before upgrading"
208
+ evidence: |
209
+ {
210
+ "publisher": $prop($, 'cdx:cargo:publisher'),
211
+ "priorPublisher": $prop($, 'cdx:cargo:priorPublisher'),
212
+ "publishTime": $prop($, 'cdx:cargo:publishTime'),
213
+ "releaseGapDays": $prop($, 'cdx:cargo:releaseGapDays')
214
+ }
215
+
216
+ - id: INT-011
217
+ name: "Rust project uses native Cargo build surface"
218
+ description: "Cargo build scripts and native build helpers expand execution surface during build and deserve additional review before release"
219
+ severity: medium
220
+ category: package-integrity
221
+ dry-run-support: full
222
+ condition: |
223
+ formulation.components[
224
+ $prop($, 'cdx:rust:buildTool') = 'cargo'
225
+ and $prop($, 'cdx:cargo:hasNativeBuild') = 'true'
226
+ ]
227
+ location: |
228
+ {
229
+ "bomRef": $."bom-ref",
230
+ "file": $prop($, 'internal:SrcFile')
231
+ }
232
+ message: "Rust project '{{ name }}' uses Cargo build.rs or native build helpers"
233
+ mitigation: "Review `build.rs`, native build dependencies, and release workflows to ensure the build remains hermetic and expected"
234
+ evidence: |
235
+ {
236
+ "buildScript": $prop($, 'cdx:cargo:buildScript'),
237
+ "nativeBuildIndicators": $prop($, 'cdx:cargo:nativeBuildIndicators'),
238
+ "releaseProfiles": $prop($, 'cdx:cargo:releaseProfiles')
239
+ }
240
+
241
+ - id: INT-012
242
+ name: "Rust native build uses mutable Cargo setup action"
243
+ description: "Native Cargo build surfaces deserve additional scrutiny when the workflow relies on mutable Cargo toolchain setup actions instead of immutable SHA-pinned references"
244
+ severity: medium
245
+ category: package-integrity
246
+ dry-run-support: full
247
+ condition: |
248
+ formulation.components[
249
+ $prop($, 'cdx:rust:buildTool') = 'cargo'
250
+ and $prop($, 'cdx:cargo:hasNativeBuild') = 'true'
251
+ and $count($$.components[
252
+ $prop($, 'cdx:github:action:ecosystem') = 'cargo'
253
+ and $contains($prop($, 'cdx:github:action:role'), 'toolchain')
254
+ and $prop($, 'cdx:github:action:versionPinningType') != 'sha'
255
+ ]) > 0
256
+ ]
257
+ location: |
258
+ {
259
+ "bomRef": $."bom-ref",
260
+ "file": $prop($, 'internal:SrcFile')
261
+ }
262
+ message: "Rust project '{{ name }}' combines native Cargo build surfaces with mutable Cargo toolchain setup actions"
263
+ mitigation: "Prefer SHA-pinned Cargo toolchain setup actions for release workflows, especially when build.rs or native helpers run during CI"
264
+ evidence: |
265
+ {
266
+ "buildScript": $prop($, 'cdx:cargo:buildScript'),
267
+ "buildScriptCapabilities": $prop($, 'cdx:cargo:buildScriptCapabilities'),
268
+ "toolchainActions": $$.components[
269
+ $prop($, 'cdx:github:action:ecosystem') = 'cargo'
270
+ and $contains($prop($, 'cdx:github:action:role'), 'toolchain')
271
+ and $prop($, 'cdx:github:action:versionPinningType') != 'sha'
272
+ ].$prop($, 'cdx:github:action:uses')
273
+ }
274
+
275
+ - id: INT-013
276
+ name: "Rust native build is exercised by Cargo workflow steps"
277
+ description: "Cargo workflows that execute build/test/package/publish steps against native build surfaces increase the impact of build-script or native-helper changes"
278
+ severity: medium
279
+ category: package-integrity
280
+ dry-run-support: full
281
+ condition: |
282
+ formulation.components[
283
+ $prop($, 'cdx:rust:buildTool') = 'cargo'
284
+ and $prop($, 'cdx:cargo:hasNativeBuild') = 'true'
285
+ and (
286
+ $contains($prop($, 'cdx:cargo:buildScriptCapabilities'), 'process-execution')
287
+ or $contains($prop($, 'cdx:cargo:buildScriptCapabilities'), 'network-access')
288
+ or $contains($prop($, 'cdx:cargo:nativeBuildIndicators'), '-sys')
289
+ )
290
+ and $count($$.components[
291
+ $prop($, 'cdx:github:step:usesCargo') = 'true'
292
+ and (
293
+ $contains($prop($, 'cdx:github:step:cargoSubcommands'), 'build')
294
+ or $contains($prop($, 'cdx:github:step:cargoSubcommands'), 'test')
295
+ or $contains($prop($, 'cdx:github:step:cargoSubcommands'), 'package')
296
+ or $contains($prop($, 'cdx:github:step:cargoSubcommands'), 'publish')
297
+ )
298
+ ]) > 0
299
+ ]
300
+ location: |
301
+ {
302
+ "bomRef": $."bom-ref",
303
+ "file": $prop($, 'internal:SrcFile')
304
+ }
305
+ message: "Rust project '{{ name }}' runs Cargo build/test/package workflow steps against a native build surface"
306
+ mitigation: "Review build.rs, native helper crates, and workflow command scope before merging or publishing releases that exercise native build logic"
307
+ evidence: |
308
+ {
309
+ "buildScriptCapabilities": $prop($, 'cdx:cargo:buildScriptCapabilities'),
310
+ "nativeBuildIndicators": $prop($, 'cdx:cargo:nativeBuildIndicators'),
311
+ "cargoCommands": $$.components[
312
+ $prop($, 'cdx:github:step:usesCargo') = 'true'
313
+ and (
314
+ $contains($prop($, 'cdx:github:step:cargoSubcommands'), 'build')
315
+ or $contains($prop($, 'cdx:github:step:cargoSubcommands'), 'test')
316
+ or $contains($prop($, 'cdx:github:step:cargoSubcommands'), 'package')
317
+ or $contains($prop($, 'cdx:github:step:cargoSubcommands'), 'publish')
318
+ )
319
+ ].$prop($, 'cdx:github:step:command')
320
+ }
321
+
322
+ - id: INT-014
323
+ name: "Collider package missing valid wrap hash pin"
324
+ description: "Collider lock entries should carry a SHA-256 wrap_hash so the selected wrap file remains integrity-pinned and reproducible"
325
+ severity: high
326
+ category: package-integrity
327
+ dry-run-support: full
328
+ condition: |
329
+ components[
330
+ $hasProp($, 'cdx:collider:dependencyKind')
331
+ and $prop($, 'cdx:collider:hasWrapHash') = 'false'
332
+ ]
333
+ location: |
334
+ { "bomRef": $."bom-ref", "purl": purl }
335
+ message: "Collider package '{{ name }}@{{ version }}' is missing a valid wrap hash integrity pin"
336
+ mitigation: "Recreate collider.lock with valid wrap_hash values and verify the lockfile against the repository before release"
337
+ evidence: |
338
+ {
339
+ "wrapHash": $prop($, 'cdx:collider:wrapHash'),
340
+ "wrapHashInvalid": $prop($, 'cdx:collider:wrapHashInvalid'),
341
+ "origin": $prop($, 'cdx:collider:origin'),
342
+ "dependencyKind": $prop($, 'cdx:collider:dependencyKind')
343
+ }
344
+
345
+ - id: INT-015
346
+ name: "Ruby gem compiles native extensions at install time"
347
+ description: "A gem that declares extensions runs extconf.rb and a compiler on the install host, so installing it executes arbitrary code from the gem author. This is the RubyGems equivalent of an npm install script"
348
+ severity: low
349
+ category: package-integrity
350
+ dry-run-support: full
351
+ condition: |
352
+ components[
353
+ $hasProp($, 'cdx:gem:extensions')
354
+ ]
355
+ location: |
356
+ { "bomRef": $."bom-ref", "purl": purl }
357
+ message: "Ruby gem '{{ name }}@{{ version }}' compiles native extensions at install time ({{ $prop($, 'cdx:gem:extensions') }})"
358
+ mitigation: "Prefer the precompiled native gem for your platform so that no compiler runs at install time, and review the extconf.rb of gems you build from source"
359
+ evidence: |
360
+ {
361
+ "extensions": $prop($, 'cdx:gem:extensions'),
362
+ "platform": $contains(purl, 'platform=') ? $substringAfter(purl, 'platform=') : 'ruby',
363
+ "requiredRubyVersion": $prop($, 'cdx:gem:rubyVersionSpecifiers')
364
+ }
@@ -0,0 +1,179 @@
1
+ # Rootfs and Offline Host Hardening Rules
2
+ # Category: rootfs-hardening
3
+ # Evaluates repository trust, trust anchors, privileged helpers, and service execution paths
4
+
5
+ - id: RFS-001
6
+ name: "Enabled OS repository uses plaintext HTTP transport"
7
+ description: "Plain HTTP package repositories weaken integrity guarantees and make mirror tampering easier when network controls are absent."
8
+ severity: high
9
+ category: rootfs-hardening
10
+ dry-run-support: full
11
+ condition: |
12
+ components[
13
+ type = 'data'
14
+ and $hasProp($, 'cdx:os:repo:type')
15
+ and $safeStr($prop($, 'cdx:os:repo:enabled')) = 'true'
16
+ and $startsWith($lowercase($safeStr($prop($, 'cdx:os:repo:url'))), 'http://')
17
+ ]
18
+ location: |
19
+ {
20
+ "bomRef": $."bom-ref",
21
+ "purl": purl
22
+ }
23
+ message: "Repository '{{ name }}' is enabled and still uses plaintext HTTP: {{ $prop($, 'cdx:os:repo:url') }}"
24
+ mitigation: "Move package sources to HTTPS or a trusted local mirror protected by authenticated transport and repository signing."
25
+ evidence: |
26
+ {
27
+ "sourceFile": $prop($, 'internal:SrcFile'),
28
+ "repoType": $prop($, 'cdx:os:repo:type'),
29
+ "repoUrl": $prop($, 'cdx:os:repo:url')
30
+ }
31
+
32
+ - id: RFS-002
33
+ name: "YUM repository has package signature checks disabled"
34
+ description: "Disabling gpgcheck in a configured YUM repository removes a core package authenticity control."
35
+ severity: critical
36
+ category: rootfs-hardening
37
+ dry-run-support: full
38
+ condition: |
39
+ components[
40
+ type = 'data'
41
+ and $safeStr($prop($, 'cdx:os:repo:type')) = 'yum-repository'
42
+ and $safeStr($prop($, 'cdx:os:repo:enabled')) = 'true'
43
+ and $safeStr($prop($, 'cdx:os:repo:gpgcheck')) = '0'
44
+ ]
45
+ location: |
46
+ {
47
+ "bomRef": $."bom-ref",
48
+ "purl": purl
49
+ }
50
+ message: "YUM repository '{{ name }}' is enabled with gpgcheck disabled"
51
+ mitigation: "Enable gpgcheck, pin the expected signing keys, and review recent repository changes before continuing to trust packages from this source."
52
+ evidence: |
53
+ {
54
+ "sourceFile": $prop($, 'internal:SrcFile'),
55
+ "repoUrl": $prop($, 'cdx:os:repo:url'),
56
+ "gpgcheck": $prop($, 'cdx:os:repo:gpgcheck'),
57
+ "gpgkey": $prop($, 'cdx:os:repo:gpgkey')
58
+ }
59
+
60
+ - id: RFS-003
61
+ name: "Offline trust anchor is marked expired"
62
+ description: "Expired trust anchors inside an image or rootfs can break planned rotations and hide stale trust relationships."
63
+ severity: high
64
+ category: rootfs-hardening
65
+ dry-run-support: full
66
+ condition: |
67
+ components[
68
+ type = 'cryptographic-asset'
69
+ and $safeStr(cryptoProperties.assetType) = 'related-crypto-material'
70
+ and $safeStr(cryptoProperties.relatedCryptoMaterialProperties.state) = 'expired'
71
+ ]
72
+ location: |
73
+ {
74
+ "bomRef": $."bom-ref"
75
+ }
76
+ message: "Trust anchor '{{ name }}' is marked expired and should be reviewed"
77
+ mitigation: "Remove stale keys, replace expired trust anchors, and confirm the remaining repository trust chain matches approved policy."
78
+ evidence: |
79
+ {
80
+ "path": $prop($, 'internal:SrcFile'),
81
+ "trustDomain": $prop($, 'cdx:crypto:trustDomain'),
82
+ "keyId": $prop($, 'cdx:crypto:keyId'),
83
+ "expiresAt": $prop($, 'cdx:crypto:expiresAt')
84
+ }
85
+
86
+ - id: RFS-004
87
+ name: "Offline image retains setuid GTFOBins execution helper"
88
+ description: "Setuid GTFOBins-capable binaries increase privilege-escalation exposure inside rootfs and golden image baselines."
89
+ severity: critical
90
+ category: rootfs-hardening
91
+ dry-run-support: full
92
+ condition: |
93
+ components[
94
+ type = 'file'
95
+ and (
96
+ $prop($, 'internal:has_setuid') = 'true'
97
+ or $prop($, 'internal:has_setgid') = 'true'
98
+ )
99
+ and $prop($, 'cdx:gtfobins:matched') = 'true'
100
+ and (
101
+ $listContains($prop($, 'cdx:gtfobins:functions'), 'shell')
102
+ or $listContains($prop($, 'cdx:gtfobins:functions'), 'command')
103
+ or $listContains($prop($, 'cdx:gtfobins:functions'), 'library-load')
104
+ )
105
+ ]
106
+ location: |
107
+ {
108
+ "bomRef": $."bom-ref",
109
+ "purl": purl
110
+ }
111
+ message: "Privileged helper '{{ name }}' keeps GTFOBins execution capability in the offline image"
112
+ mitigation: "Remove unnecessary setuid or setgid bits, replace the helper with a safer alternative, or justify and baseline the exposure explicitly."
113
+ evidence: |
114
+ {
115
+ "path": $prop($, 'internal:SrcFile'),
116
+ "functions": $prop($, 'cdx:gtfobins:functions'),
117
+ "contexts": $prop($, 'cdx:gtfobins:contexts'),
118
+ "riskTags": $prop($, 'cdx:gtfobins:riskTags')
119
+ }
120
+
121
+ - id: RFS-005
122
+ name: "Offline service executes from writable or temporary path"
123
+ description: "Services pointing at writable or temporary paths are a strong persistence and drift signal in base images and offline hosts."
124
+ severity: critical
125
+ category: rootfs-hardening
126
+ dry-run-support: full
127
+ condition: |
128
+ $auditServices($)[
129
+ $contains($lowercase($safeStr($prop($, 'cdx:service:ExecStart'))), '/tmp/')
130
+ or $contains($lowercase($safeStr($prop($, 'cdx:service:ExecStart'))), '/var/tmp/')
131
+ or $contains($lowercase($safeStr($prop($, 'cdx:service:ExecStart'))), '/dev/shm/')
132
+ or $contains($lowercase($safeStr($prop($, 'cdx:service:ExecStart'))), '/home/')
133
+ or $contains($lowercase($safeStr($prop($, 'cdx:service:ExecStart'))), '/run/user/')
134
+ ]
135
+ location: |
136
+ {
137
+ "bomRef": $."bom-ref"
138
+ }
139
+ message: "Service '{{ name }}' launches from a writable or temporary path"
140
+ mitigation: "Relocate approved service binaries into trusted system paths and investigate any service definition that executes from writable directories."
141
+ evidence: |
142
+ {
143
+ "sourceFile": $prop($, 'internal:SrcFile'),
144
+ "manager": $prop($, 'cdx:service:manager'),
145
+ "execStart": $prop($, 'cdx:service:ExecStart'),
146
+ "packageRef": $prop($, 'cdx:service:packageRef')
147
+ }
148
+
149
+ - id: RFS-006
150
+ name: "Offline service pre-start step fetches or shells remote content"
151
+ description: "ExecStartPre hooks that fetch remote content or shell inline commands add bootstrap drift and weaken image reproducibility."
152
+ severity: high
153
+ category: rootfs-hardening
154
+ dry-run-support: full
155
+ condition: |
156
+ $auditServices($)[
157
+ (
158
+ $contains($lowercase($safeStr($prop($, 'cdx:service:ExecStartPre'))), 'curl ')
159
+ or $contains($lowercase($safeStr($prop($, 'cdx:service:ExecStartPre'))), 'wget ')
160
+ )
161
+ and (
162
+ $contains($lowercase($safeStr($prop($, 'cdx:service:ExecStartPre'))), 'http://')
163
+ or $contains($lowercase($safeStr($prop($, 'cdx:service:ExecStartPre'))), 'https://')
164
+ or $contains($lowercase($safeStr($prop($, 'cdx:service:ExecStartPre'))), '| sh')
165
+ or $contains($lowercase($safeStr($prop($, 'cdx:service:ExecStartPre'))), '| bash')
166
+ )
167
+ ]
168
+ location: |
169
+ {
170
+ "bomRef": $."bom-ref"
171
+ }
172
+ message: "Service '{{ name }}' uses a remote-fetching ExecStartPre hook: {{ $prop($, 'cdx:service:ExecStartPre') }}"
173
+ mitigation: "Move bootstrap downloads into the image build pipeline, pin artifacts, and keep service startup paths deterministic and locally sourced."
174
+ evidence: |
175
+ {
176
+ "sourceFile": $prop($, 'internal:SrcFile'),
177
+ "manager": $prop($, 'cdx:service:manager'),
178
+ "execStartPre": $prop($, 'cdx:service:ExecStartPre')
179
+ }