sbom-cyclonedx 0.1.0 → 0.2.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 (368) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +15 -0
  3. data/.gitlab-ci.yml +49 -0
  4. data/.rspec +3 -0
  5. data/.rubocop.yml +72 -0
  6. data/.vscode/settings.json +6 -0
  7. data/CHANGELOG.md +9 -0
  8. data/CODE_OF_CONDUCT.md +132 -0
  9. data/Gemfile +26 -0
  10. data/Gemfile.lock +179 -0
  11. data/LICENSE.txt +21 -0
  12. data/README.md +39 -0
  13. data/Rakefile +36 -0
  14. data/Steepfile +14 -0
  15. data/bin/console +11 -0
  16. data/bin/rbs_spec +9 -0
  17. data/bin/setup +8 -0
  18. data/bom-1.6.schema.json +7334 -0
  19. data/lib/email_address_extension.rb +26 -0
  20. data/lib/sbom/cyclone_dx/enum.rb +2178 -0
  21. data/lib/sbom/cyclone_dx/field.rb +404 -0
  22. data/lib/sbom/cyclone_dx/pattern.rb +43 -0
  23. data/lib/sbom/cyclone_dx/record/advisory.rb +17 -0
  24. data/lib/sbom/cyclone_dx/record/annotation.rb +46 -0
  25. data/lib/sbom/cyclone_dx/record/attachment.rb +21 -0
  26. data/lib/sbom/cyclone_dx/record/base.rb +244 -0
  27. data/lib/sbom/cyclone_dx/record/cipher_suite.rb +23 -0
  28. data/lib/sbom/cyclone_dx/record/co2_measure.rb +18 -0
  29. data/lib/sbom/cyclone_dx/record/command.rb +18 -0
  30. data/lib/sbom/cyclone_dx/record/commit.rb +25 -0
  31. data/lib/sbom/cyclone_dx/record/component.rb +126 -0
  32. data/lib/sbom/cyclone_dx/record/component_data.rb +46 -0
  33. data/lib/sbom/cyclone_dx/record/component_evidence.rb +68 -0
  34. data/lib/sbom/cyclone_dx/record/component_identity_evidence.rb +36 -0
  35. data/lib/sbom/cyclone_dx/record/composition.rb +33 -0
  36. data/lib/sbom/cyclone_dx/record/condition.rb +20 -0
  37. data/lib/sbom/cyclone_dx/record/copyright.rb +16 -0
  38. data/lib/sbom/cyclone_dx/record/crypto_properties.rb +137 -0
  39. data/lib/sbom/cyclone_dx/record/data_governance.rb +21 -0
  40. data/lib/sbom/cyclone_dx/record/data_governance_responsible_party.rb +22 -0
  41. data/lib/sbom/cyclone_dx/record/declarations.rb +193 -0
  42. data/lib/sbom/cyclone_dx/record/definitions.rb +17 -0
  43. data/lib/sbom/cyclone_dx/record/dependency.rb +21 -0
  44. data/lib/sbom/cyclone_dx/record/diff.rb +18 -0
  45. data/lib/sbom/cyclone_dx/record/energy_consumption.rb +31 -0
  46. data/lib/sbom/cyclone_dx/record/energy_measure.rb +18 -0
  47. data/lib/sbom/cyclone_dx/record/energy_provider.rb +31 -0
  48. data/lib/sbom/cyclone_dx/record/environmental_consideration.rb +20 -0
  49. data/lib/sbom/cyclone_dx/record/event.rb +31 -0
  50. data/lib/sbom/cyclone_dx/record/external_reference.rb +25 -0
  51. data/lib/sbom/cyclone_dx/record/fairness_assessment.rb +22 -0
  52. data/lib/sbom/cyclone_dx/record/formula.rb +29 -0
  53. data/lib/sbom/cyclone_dx/record/graphic.rb +19 -0
  54. data/lib/sbom/cyclone_dx/record/graphics_collection.rb +19 -0
  55. data/lib/sbom/cyclone_dx/record/hash_data.rb +18 -0
  56. data/lib/sbom/cyclone_dx/record/identifiable_action.rb +21 -0
  57. data/lib/sbom/cyclone_dx/record/input.rb +34 -0
  58. data/lib/sbom/cyclone_dx/record/input_output_ml_parameter.rb +17 -0
  59. data/lib/sbom/cyclone_dx/record/issue.rb +36 -0
  60. data/lib/sbom/cyclone_dx/record/license.rb +90 -0
  61. data/lib/sbom/cyclone_dx/record/license_choice.rb +35 -0
  62. data/lib/sbom/cyclone_dx/record/metadata.rb +55 -0
  63. data/lib/sbom/cyclone_dx/record/model_card.rb +89 -0
  64. data/lib/sbom/cyclone_dx/record/note.rb +20 -0
  65. data/lib/sbom/cyclone_dx/record/organizational_contact.rb +26 -0
  66. data/lib/sbom/cyclone_dx/record/organizational_entity.rb +28 -0
  67. data/lib/sbom/cyclone_dx/record/output.rb +34 -0
  68. data/lib/sbom/cyclone_dx/record/parameter.rb +20 -0
  69. data/lib/sbom/cyclone_dx/record/patch.rb +23 -0
  70. data/lib/sbom/cyclone_dx/record/performance_metric.rb +30 -0
  71. data/lib/sbom/cyclone_dx/record/postal_address.rb +34 -0
  72. data/lib/sbom/cyclone_dx/record/property.rb +18 -0
  73. data/lib/sbom/cyclone_dx/record/rating.rb +27 -0
  74. data/lib/sbom/cyclone_dx/record/release_notes.rb +44 -0
  75. data/lib/sbom/cyclone_dx/record/resource_reference_choice.rb +22 -0
  76. data/lib/sbom/cyclone_dx/record/risk.rb +18 -0
  77. data/lib/sbom/cyclone_dx/record/root.rb +63 -0
  78. data/lib/sbom/cyclone_dx/record/secured_by.rb +20 -0
  79. data/lib/sbom/cyclone_dx/record/service.rb +54 -0
  80. data/lib/sbom/cyclone_dx/record/service_data.rb +32 -0
  81. data/lib/sbom/cyclone_dx/record/signature.rb +85 -0
  82. data/lib/sbom/cyclone_dx/record/standard.rb +72 -0
  83. data/lib/sbom/cyclone_dx/record/step.rb +24 -0
  84. data/lib/sbom/cyclone_dx/record/swid.rb +29 -0
  85. data/lib/sbom/cyclone_dx/record/task.rb +56 -0
  86. data/lib/sbom/cyclone_dx/record/tools.rb +20 -0
  87. data/lib/sbom/cyclone_dx/record/trigger.rb +48 -0
  88. data/lib/sbom/cyclone_dx/record/version.rb +24 -0
  89. data/lib/sbom/cyclone_dx/record/volume.rb +33 -0
  90. data/lib/sbom/cyclone_dx/record/vulnerability.rb +119 -0
  91. data/lib/sbom/cyclone_dx/record/vulnerability_source.rb +20 -0
  92. data/lib/sbom/cyclone_dx/record/workflow.rb +59 -0
  93. data/lib/sbom/cyclone_dx/record/workspace.rb +45 -0
  94. data/lib/sbom/cyclone_dx/record.rb +12 -0
  95. data/lib/sbom/cyclone_dx/validator/array_validator.rb +66 -0
  96. data/lib/sbom/cyclone_dx/validator/base_validator.rb +43 -0
  97. data/lib/sbom/cyclone_dx/validator/boolean_validator.rb +16 -0
  98. data/lib/sbom/cyclone_dx/validator/date_time_validator.rb +29 -0
  99. data/lib/sbom/cyclone_dx/validator/email_address_validator.rb +31 -0
  100. data/lib/sbom/cyclone_dx/validator/float_validator.rb +30 -0
  101. data/lib/sbom/cyclone_dx/validator/integer_validator.rb +30 -0
  102. data/lib/sbom/cyclone_dx/validator/record_validator.rb +26 -0
  103. data/lib/sbom/cyclone_dx/validator/string_validator.rb +33 -0
  104. data/lib/sbom/cyclone_dx/validator/union_validator.rb +39 -0
  105. data/lib/sbom/cyclone_dx/validator/uri_validator.rb +32 -0
  106. data/lib/sbom/cyclone_dx/validator.rb +32 -0
  107. data/lib/sbom/cyclone_dx/version.rb +7 -0
  108. data/lib/sbom/cyclone_dx.rb +39 -0
  109. data/rbs_collection.lock.yaml +288 -0
  110. data/rbs_collection.yaml +31 -0
  111. data/sbom-cyclone_dx.gemspec +32 -0
  112. data/sig/email_address_extension.rbs +14 -0
  113. data/sig/sbom/cyclone_dx/enum.rbs +93 -0
  114. data/sig/sbom/cyclone_dx/field.rbs +434 -0
  115. data/sig/sbom/cyclone_dx/pattern.rbs +24 -0
  116. data/sig/sbom/cyclone_dx/record/advisory.rbs +19 -0
  117. data/sig/sbom/cyclone_dx/record/annotation.rbs +63 -0
  118. data/sig/sbom/cyclone_dx/record/attachment.rbs +24 -0
  119. data/sig/sbom/cyclone_dx/record/base.rbs +62 -0
  120. data/sig/sbom/cyclone_dx/record/cipher_suite.rbs +24 -0
  121. data/sig/sbom/cyclone_dx/record/co2_measure.rbs +14 -0
  122. data/sig/sbom/cyclone_dx/record/command.rbs +19 -0
  123. data/sig/sbom/cyclone_dx/record/commit.rbs +34 -0
  124. data/sig/sbom/cyclone_dx/record/component.rbs +203 -0
  125. data/sig/sbom/cyclone_dx/record/component_data.rbs +73 -0
  126. data/sig/sbom/cyclone_dx/record/component_evidence.rbs +115 -0
  127. data/sig/sbom/cyclone_dx/record/component_identity_evidence.rbs +53 -0
  128. data/sig/sbom/cyclone_dx/record/composition.rbs +39 -0
  129. data/sig/sbom/cyclone_dx/record/condition.rbs +24 -0
  130. data/sig/sbom/cyclone_dx/record/copyright.rbs +14 -0
  131. data/sig/sbom/cyclone_dx/record/crypto_properties.rbs +268 -0
  132. data/sig/sbom/cyclone_dx/record/data_governance.rbs +24 -0
  133. data/sig/sbom/cyclone_dx/record/data_governance_responsible_party.rbs +19 -0
  134. data/sig/sbom/cyclone_dx/record/declarations.rbs +352 -0
  135. data/sig/sbom/cyclone_dx/record/definitions.rbs +14 -0
  136. data/sig/sbom/cyclone_dx/record/dependency.rbs +24 -0
  137. data/sig/sbom/cyclone_dx/record/diff.rbs +19 -0
  138. data/sig/sbom/cyclone_dx/record/energy_consumption.rbs +39 -0
  139. data/sig/sbom/cyclone_dx/record/energy_measure.rbs +14 -0
  140. data/sig/sbom/cyclone_dx/record/energy_provider.rbs +39 -0
  141. data/sig/sbom/cyclone_dx/record/environmental_consideration.rbs +19 -0
  142. data/sig/sbom/cyclone_dx/record/event.rbs +44 -0
  143. data/sig/sbom/cyclone_dx/record/external_reference.rbs +29 -0
  144. data/sig/sbom/cyclone_dx/record/fairness_assessment.rbs +29 -0
  145. data/sig/sbom/cyclone_dx/record/formula.rbs +34 -0
  146. data/sig/sbom/cyclone_dx/record/graphic.rbs +19 -0
  147. data/sig/sbom/cyclone_dx/record/graphics_collection.rbs +19 -0
  148. data/sig/sbom/cyclone_dx/record/hash_data.rbs +19 -0
  149. data/sig/sbom/cyclone_dx/record/identifiable_action.rbs +24 -0
  150. data/sig/sbom/cyclone_dx/record/input.rbs +44 -0
  151. data/sig/sbom/cyclone_dx/record/input_output_ml_parameter.rbs +14 -0
  152. data/sig/sbom/cyclone_dx/record/issue.rbs +53 -0
  153. data/sig/sbom/cyclone_dx/record/license.rbs +134 -0
  154. data/sig/sbom/cyclone_dx/record/license_choice.rbs +39 -0
  155. data/sig/sbom/cyclone_dx/record/metadata.rbs +82 -0
  156. data/sig/sbom/cyclone_dx/record/model_card.rbs +143 -0
  157. data/sig/sbom/cyclone_dx/record/note.rbs +19 -0
  158. data/sig/sbom/cyclone_dx/record/organizational_contact.rbs +29 -0
  159. data/sig/sbom/cyclone_dx/record/organizational_entity.rbs +34 -0
  160. data/sig/sbom/cyclone_dx/record/output.rbs +44 -0
  161. data/sig/sbom/cyclone_dx/record/parameter.rbs +24 -0
  162. data/sig/sbom/cyclone_dx/record/patch.rbs +24 -0
  163. data/sig/sbom/cyclone_dx/record/performance_metric.rbs +43 -0
  164. data/sig/sbom/cyclone_dx/record/postal_address.rbs +44 -0
  165. data/sig/sbom/cyclone_dx/record/property.rbs +19 -0
  166. data/sig/sbom/cyclone_dx/record/rating.rbs +39 -0
  167. data/sig/sbom/cyclone_dx/record/release_notes.rbs +64 -0
  168. data/sig/sbom/cyclone_dx/record/resource_reference_choice.rbs +19 -0
  169. data/sig/sbom/cyclone_dx/record/risk.rbs +19 -0
  170. data/sig/sbom/cyclone_dx/record/root.rbs +84 -0
  171. data/sig/sbom/cyclone_dx/record/secured_by.rbs +19 -0
  172. data/sig/sbom/cyclone_dx/record/service.rbs +99 -0
  173. data/sig/sbom/cyclone_dx/record/service_data.rbs +44 -0
  174. data/sig/sbom/cyclone_dx/record/signature.rbs +130 -0
  175. data/sig/sbom/cyclone_dx/record/standard.rbs +132 -0
  176. data/sig/sbom/cyclone_dx/record/step.rbs +29 -0
  177. data/sig/sbom/cyclone_dx/record/swid.rbs +44 -0
  178. data/sig/sbom/cyclone_dx/record/task.rbs +84 -0
  179. data/sig/sbom/cyclone_dx/record/tools.rbs +19 -0
  180. data/sig/sbom/cyclone_dx/record/trigger.rbs +69 -0
  181. data/sig/sbom/cyclone_dx/record/version.rbs +24 -0
  182. data/sig/sbom/cyclone_dx/record/volume.rbs +49 -0
  183. data/sig/sbom/cyclone_dx/record/vulnerability.rbs +209 -0
  184. data/sig/sbom/cyclone_dx/record/vulnerability_source.rbs +19 -0
  185. data/sig/sbom/cyclone_dx/record/workflow.rbs +94 -0
  186. data/sig/sbom/cyclone_dx/record/workspace.rbs +69 -0
  187. data/sig/sbom/cyclone_dx/record.rbs +161 -0
  188. data/sig/sbom/cyclone_dx/type.rbs +16 -0
  189. data/sig/sbom/cyclone_dx/validator/array_validator.rbs +31 -0
  190. data/sig/sbom/cyclone_dx/validator/base_validator.rbs +21 -0
  191. data/sig/sbom/cyclone_dx/validator/boolean_validator.rbs +9 -0
  192. data/sig/sbom/cyclone_dx/validator/date_time_validator.rbs +10 -0
  193. data/sig/sbom/cyclone_dx/validator/email_address_validator.rbs +10 -0
  194. data/sig/sbom/cyclone_dx/validator/float_validator.rbs +12 -0
  195. data/sig/sbom/cyclone_dx/validator/integer_validator.rbs +12 -0
  196. data/sig/sbom/cyclone_dx/validator/record_validator.rbs +12 -0
  197. data/sig/sbom/cyclone_dx/validator/string_validator.rbs +14 -0
  198. data/sig/sbom/cyclone_dx/validator/union_validator.rbs +24 -0
  199. data/sig/sbom/cyclone_dx/validator/uri_validator.rbs +10 -0
  200. data/sig/sbom/cyclone_dx/validator.rbs +66 -0
  201. data/sig/sbom/cyclone_dx.rbs +13 -0
  202. data/sig/types.rbs +45 -0
  203. data/spec/email_address_extension_spec.rb +27 -0
  204. data/spec/factories/factory_helper.rb +78 -0
  205. data/spec/factories/record/advisory_factory.rb +11 -0
  206. data/spec/factories/record/annotation_factory.rb +63 -0
  207. data/spec/factories/record/attachment_factory.rb +9 -0
  208. data/spec/factories/record/cipher_suite_factory.rb +26 -0
  209. data/spec/factories/record/co2_measure_factory.rb +9 -0
  210. data/spec/factories/record/command_factory.rb +10 -0
  211. data/spec/factories/record/commit_factory.rb +13 -0
  212. data/spec/factories/record/component_data_factory.rb +28 -0
  213. data/spec/factories/record/component_evidence_factory.rb +44 -0
  214. data/spec/factories/record/component_factory.rb +102 -0
  215. data/spec/factories/record/component_identity_evidence_factory.rb +25 -0
  216. data/spec/factories/record/composition_factory.rb +20 -0
  217. data/spec/factories/record/condition_factory.rb +11 -0
  218. data/spec/factories/record/copyright_factory.rb +9 -0
  219. data/spec/factories/record/crypto_properties_factory.rb +191 -0
  220. data/spec/factories/record/data_governance_factory.rb +11 -0
  221. data/spec/factories/record/data_governance_responsible_party_factory.rb +31 -0
  222. data/spec/factories/record/declarations_factory.rb +145 -0
  223. data/spec/factories/record/definitions_factory.rb +9 -0
  224. data/spec/factories/record/dependency_factory.rb +12 -0
  225. data/spec/factories/record/diff_factory.rb +24 -0
  226. data/spec/factories/record/energy_consumption_factory.rb +15 -0
  227. data/spec/factories/record/energy_measure_factory.rb +9 -0
  228. data/spec/factories/record/energy_provider_factory.rb +15 -0
  229. data/spec/factories/record/environmental_consideration_factory.rb +10 -0
  230. data/spec/factories/record/event_factory.rb +15 -0
  231. data/spec/factories/record/external_reference_factory.rb +13 -0
  232. data/spec/factories/record/fairness_assessment_factory.rb +12 -0
  233. data/spec/factories/record/formula_factory.rb +13 -0
  234. data/spec/factories/record/graphic_factory.rb +10 -0
  235. data/spec/factories/record/graphics_collection_factory.rb +10 -0
  236. data/spec/factories/record/hash_data_factory.rb +10 -0
  237. data/spec/factories/record/identifiable_action_factory.rb +11 -0
  238. data/spec/factories/record/input_factory.rb +36 -0
  239. data/spec/factories/record/input_output_ml_parameter_factory.rb +9 -0
  240. data/spec/factories/record/issue_factory.rb +22 -0
  241. data/spec/factories/record/license_choice_factory.rb +23 -0
  242. data/spec/factories/record/license_factory.rb +99 -0
  243. data/spec/factories/record/metadata_factory.rb +38 -0
  244. data/spec/factories/record/model_card_factory.rb +59 -0
  245. data/spec/factories/record/note_factory.rb +11 -0
  246. data/spec/factories/record/organizational_contact_factory.rb +12 -0
  247. data/spec/factories/record/organizational_entity_factory.rb +13 -0
  248. data/spec/factories/record/output_factory.rb +32 -0
  249. data/spec/factories/record/parameter_factory.rb +11 -0
  250. data/spec/factories/record/patch_factory.rb +12 -0
  251. data/spec/factories/record/performance_metric_factory.rb +20 -0
  252. data/spec/factories/record/postal_address_factory.rb +14 -0
  253. data/spec/factories/record/property_factory.rb +11 -0
  254. data/spec/factories/record/rating_factory.rb +14 -0
  255. data/spec/factories/record/release_notes_factory.rb +20 -0
  256. data/spec/factories/record/resource_reference_choice_factory.rb +27 -0
  257. data/spec/factories/record/risk_factory.rb +10 -0
  258. data/spec/factories/record/root_factory.rb +23 -0
  259. data/spec/factories/record/secured_by_factory.rb +10 -0
  260. data/spec/factories/record/service_data_factory.rb +16 -0
  261. data/spec/factories/record/service_factory.rb +27 -0
  262. data/spec/factories/record/signature_factory.rb +50 -0
  263. data/spec/factories/record/standard_factory.rb +37 -0
  264. data/spec/factories/record/step_factory.rb +12 -0
  265. data/spec/factories/record/swid_factory.rb +16 -0
  266. data/spec/factories/record/task_factory.rb +24 -0
  267. data/spec/factories/record/tools_factory.rb +10 -0
  268. data/spec/factories/record/trigger_factory.rb +21 -0
  269. data/spec/factories/record/version_factory.rb +19 -0
  270. data/spec/factories/record/volume_factory.rb +16 -0
  271. data/spec/factories/record/vulnerability_factory.rb +70 -0
  272. data/spec/factories/record/vulnerability_source_factory.rb +10 -0
  273. data/spec/factories/record/workflow_factory.rb +26 -0
  274. data/spec/factories/record/workspace_factory.rb +21 -0
  275. data/spec/factories/record_factory.rb +159 -0
  276. data/spec/fixtures/cipher_info.yml +948 -0
  277. data/spec/fixtures/purl_data.yml +0 -0
  278. data/spec/sbom/cyclone_dx/enum_spec.rb +30 -0
  279. data/spec/sbom/cyclone_dx/field_spec.rb +104 -0
  280. data/spec/sbom/cyclone_dx/pattern_spec.rb +18 -0
  281. data/spec/sbom/cyclone_dx/record/advisory_spec.rb +14 -0
  282. data/spec/sbom/cyclone_dx/record/annotation_spec.rb +31 -0
  283. data/spec/sbom/cyclone_dx/record/attachment_spec.rb +14 -0
  284. data/spec/sbom/cyclone_dx/record/base_spec.rb +363 -0
  285. data/spec/sbom/cyclone_dx/record/cipher_suite_spec.rb +14 -0
  286. data/spec/sbom/cyclone_dx/record/co2_measure_spec.rb +14 -0
  287. data/spec/sbom/cyclone_dx/record/command_spec.rb +14 -0
  288. data/spec/sbom/cyclone_dx/record/commit_spec.rb +14 -0
  289. data/spec/sbom/cyclone_dx/record/component_data_spec.rb +14 -0
  290. data/spec/sbom/cyclone_dx/record/component_evidence_spec.rb +14 -0
  291. data/spec/sbom/cyclone_dx/record/component_identity_evidence_spec.rb +14 -0
  292. data/spec/sbom/cyclone_dx/record/component_spec.rb +14 -0
  293. data/spec/sbom/cyclone_dx/record/composition_spec.rb +14 -0
  294. data/spec/sbom/cyclone_dx/record/condition_spec.rb +14 -0
  295. data/spec/sbom/cyclone_dx/record/copyright_spec.rb +14 -0
  296. data/spec/sbom/cyclone_dx/record/crypto_properties_spec.rb +14 -0
  297. data/spec/sbom/cyclone_dx/record/data_governance_responsible_party_spec.rb +19 -0
  298. data/spec/sbom/cyclone_dx/record/data_governance_spec.rb +14 -0
  299. data/spec/sbom/cyclone_dx/record/declarations_spec.rb +14 -0
  300. data/spec/sbom/cyclone_dx/record/definitions_spec.rb +14 -0
  301. data/spec/sbom/cyclone_dx/record/dependency_spec.rb +14 -0
  302. data/spec/sbom/cyclone_dx/record/diff_spec.rb +14 -0
  303. data/spec/sbom/cyclone_dx/record/energy_consumption_spec.rb +14 -0
  304. data/spec/sbom/cyclone_dx/record/energy_measure_spec.rb +14 -0
  305. data/spec/sbom/cyclone_dx/record/energy_provider_spec.rb +14 -0
  306. data/spec/sbom/cyclone_dx/record/environmental_consideration_spec.rb +14 -0
  307. data/spec/sbom/cyclone_dx/record/event_spec.rb +14 -0
  308. data/spec/sbom/cyclone_dx/record/external_reference_spec.rb +14 -0
  309. data/spec/sbom/cyclone_dx/record/fairness_assessment_spec.rb +14 -0
  310. data/spec/sbom/cyclone_dx/record/formula_spec.rb +14 -0
  311. data/spec/sbom/cyclone_dx/record/graphic_spec.rb +14 -0
  312. data/spec/sbom/cyclone_dx/record/graphics_collection_spec.rb +14 -0
  313. data/spec/sbom/cyclone_dx/record/hash_data_spec.rb +14 -0
  314. data/spec/sbom/cyclone_dx/record/identifiable_action_spec.rb +14 -0
  315. data/spec/sbom/cyclone_dx/record/input_output_ml_parameter_spec.rb +14 -0
  316. data/spec/sbom/cyclone_dx/record/input_spec.rb +14 -0
  317. data/spec/sbom/cyclone_dx/record/issue_spec.rb +14 -0
  318. data/spec/sbom/cyclone_dx/record/license_choice_spec.rb +26 -0
  319. data/spec/sbom/cyclone_dx/record/license_spec.rb +14 -0
  320. data/spec/sbom/cyclone_dx/record/metadata_spec.rb +14 -0
  321. data/spec/sbom/cyclone_dx/record/model_card_spec.rb +14 -0
  322. data/spec/sbom/cyclone_dx/record/note_spec.rb +14 -0
  323. data/spec/sbom/cyclone_dx/record/organizational_contact_spec.rb +14 -0
  324. data/spec/sbom/cyclone_dx/record/organizational_entity_spec.rb +14 -0
  325. data/spec/sbom/cyclone_dx/record/output_spec.rb +14 -0
  326. data/spec/sbom/cyclone_dx/record/parameter_spec.rb +14 -0
  327. data/spec/sbom/cyclone_dx/record/patch_spec.rb +14 -0
  328. data/spec/sbom/cyclone_dx/record/performance_metric_spec.rb +14 -0
  329. data/spec/sbom/cyclone_dx/record/postal_address_spec.rb +14 -0
  330. data/spec/sbom/cyclone_dx/record/property_spec.rb +14 -0
  331. data/spec/sbom/cyclone_dx/record/rating_spec.rb +14 -0
  332. data/spec/sbom/cyclone_dx/record/release_notes_spec.rb +14 -0
  333. data/spec/sbom/cyclone_dx/record/resource_reference_choice_spec.rb +14 -0
  334. data/spec/sbom/cyclone_dx/record/risk_spec.rb +14 -0
  335. data/spec/sbom/cyclone_dx/record/root_spec.rb +14 -0
  336. data/spec/sbom/cyclone_dx/record/secured_by_spec.rb +14 -0
  337. data/spec/sbom/cyclone_dx/record/service_data_spec.rb +14 -0
  338. data/spec/sbom/cyclone_dx/record/service_spec.rb +14 -0
  339. data/spec/sbom/cyclone_dx/record/signature_spec.rb +26 -0
  340. data/spec/sbom/cyclone_dx/record/standard_spec.rb +14 -0
  341. data/spec/sbom/cyclone_dx/record/step_spec.rb +14 -0
  342. data/spec/sbom/cyclone_dx/record/swid_spec.rb +14 -0
  343. data/spec/sbom/cyclone_dx/record/task_spec.rb +14 -0
  344. data/spec/sbom/cyclone_dx/record/tools_spec.rb +14 -0
  345. data/spec/sbom/cyclone_dx/record/trigger_spec.rb +14 -0
  346. data/spec/sbom/cyclone_dx/record/version_spec.rb +14 -0
  347. data/spec/sbom/cyclone_dx/record/volume_spec.rb +14 -0
  348. data/spec/sbom/cyclone_dx/record/vulnerability_source_spec.rb +14 -0
  349. data/spec/sbom/cyclone_dx/record/vulnerability_spec.rb +14 -0
  350. data/spec/sbom/cyclone_dx/record/workflow_spec.rb +14 -0
  351. data/spec/sbom/cyclone_dx/record/workspace_spec.rb +14 -0
  352. data/spec/sbom/cyclone_dx/record_spec.rb +7 -0
  353. data/spec/sbom/cyclone_dx/validator/array_validator_spec.rb +184 -0
  354. data/spec/sbom/cyclone_dx/validator/base_validator_spec.rb +71 -0
  355. data/spec/sbom/cyclone_dx/validator/boolean_validator_spec.rb +26 -0
  356. data/spec/sbom/cyclone_dx/validator/date_time_validator_spec.rb +28 -0
  357. data/spec/sbom/cyclone_dx/validator/email_address_validator_spec.rb +23 -0
  358. data/spec/sbom/cyclone_dx/validator/float_validator_spec.rb +71 -0
  359. data/spec/sbom/cyclone_dx/validator/integer_validator_spec.rb +71 -0
  360. data/spec/sbom/cyclone_dx/validator/record_validator_spec.rb +35 -0
  361. data/spec/sbom/cyclone_dx/validator/string_validator_spec.rb +94 -0
  362. data/spec/sbom/cyclone_dx/validator/union_validator_spec.rb +65 -0
  363. data/spec/sbom/cyclone_dx/validator/uri_validator_spec.rb +21 -0
  364. data/spec/sbom/cyclone_dx/validator_spec.rb +38 -0
  365. data/spec/sbom/cyclone_dx/version_spec.rb +9 -0
  366. data/spec/sbom/cyclone_dx_spec.rb +7 -0
  367. data/spec/spec_helper.rb +39 -0
  368. metadata +377 -6
@@ -0,0 +1,2178 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SBOM
4
+ module CycloneDX
5
+ module Enum # rubocop:disable Metrics/ModuleLength
6
+ # Access mode - Describes the read-write access control for the workspace relative to the owning resource instance.
7
+ ACCESS_MODE = %w[
8
+ read-only
9
+ read-write
10
+ read-write-once
11
+ write-once
12
+ write-only
13
+ ].freeze
14
+
15
+ # Activity - The type of activity that is part of a machine learning model development or operational lifecycle.
16
+ ACTIVITY = [
17
+ # A model design including problem framing, goal definition and algorithm selection.
18
+ "design",
19
+ # Model data acquisition including search, selection and transfer.
20
+ "data-collection",
21
+ # Model data preparation including data cleaning, labeling and conversion.
22
+ "data-preparation",
23
+ # Model building, training and generalized tuning.
24
+ "training",
25
+ # Refining a trained model to produce desired outputs for a given problem space.
26
+ "fine-tuning",
27
+ # Model validation including model output evaluation and testing.
28
+ "validation",
29
+ # Explicit model deployment to a target hosting infrastructure.
30
+ "deployment",
31
+ # Generating an output response from a hosted model from a set of inputs.
32
+ "inference",
33
+ # A lifecycle activity type whose description does not match currently defined values.
34
+ "other"
35
+ ].freeze
36
+
37
+ # The vulnerability status of a given version or range of versions of a product. The statuses 'affected' and 'unaffected' indicate that the version is affected or unaffected by the vulnerability. The status 'unknown' indicates that it is unknown or unspecified whether the given version is affected. There can be many reasons for an 'unknown' status, including that an investigation has not been undertaken or that a vendor has not disclosed the status.
38
+ AFFECTED_STATUS = [
39
+ # The version is affected by the vulnerability.
40
+ "affected",
41
+ # The version is not affected by the vulnerability.
42
+ "unaffected",
43
+ # It is unknown (or unspecified) whether the given version is affected.
44
+ "unknown"
45
+ ].freeze
46
+
47
+ # Anonymous class from AggregateType
48
+ AGGREGATE_TYPE = [
49
+ # The relationship is complete. No further relationships including constituent components, services, or dependencies are known to exist.
50
+ "complete",
51
+ # The relationship is incomplete. Additional relationships exist and may include constituent components, services, or dependencies.
52
+ "incomplete",
53
+ # The relationship is incomplete. Only relationships for first-party components, services, or their dependencies are represented.
54
+ "incomplete_first_party_only",
55
+ # The relationship is incomplete. Only relationships for first-party components, services, or their dependencies are represented, limited specifically to those that are proprietary.
56
+ "incomplete_first_party_proprietary_only",
57
+ # The relationship is incomplete. Only relationships for first-party components, services, or their dependencies are represented, limited specifically to those that are opensource.
58
+ "incomplete_first_party_opensource_only",
59
+ # The relationship is incomplete. Only relationships for third-party components, services, or their dependencies are represented.
60
+ "incomplete_third_party_only",
61
+ # The relationship is incomplete. Only relationships for third-party components, services, or their dependencies are represented, limited specifically to those that are proprietary.
62
+ "incomplete_third_party_proprietary_only",
63
+ # The relationship is incomplete. Only relationships for third-party components, services, or their dependencies are represented, limited specifically to those that are opensource.
64
+ "incomplete_third_party_opensource_only",
65
+ # The relationship may be complete or incomplete. This usually signifies a 'best-effort' to obtain constituent components, services, or dependencies but the completeness is inconclusive.
66
+ "unknown",
67
+ # The relationship completeness is not specified.
68
+ "not_specified"
69
+ ].freeze
70
+
71
+ # Asset Type - Cryptographic assets occur in several forms. Algorithms and protocols are most commonly implemented in specialized cryptographic libraries. They may, however, also be 'hardcoded' in software components. Certificates and related cryptographic material like keys, tokens, secrets or passwords are other cryptographic assets to be modelled.
72
+ ASSET_TYPE = [
73
+ # Mathematical function commonly used for data encryption, authentication, and digital signatures.
74
+ "algorithm",
75
+ # An electronic document that is used to provide the identity or validate a public key.
76
+ "certificate",
77
+ # A set of rules and guidelines that govern the behavior and communication with each other.
78
+ "protocol",
79
+ # Other cryptographic assets related to algorithms, certificates, and protocols such as keys and tokens.
80
+ "related-crypto-material"
81
+ ].freeze
82
+
83
+ # Certification Level
84
+ CERTIFICATION_LEVEL = [
85
+ # No certification obtained
86
+ "none",
87
+ # FIPS 140-1 Level 1
88
+ "fips140-1-l1",
89
+ # FIPS 140-1 Level 2
90
+ "fips140-1-l2",
91
+ # FIPS 140-1 Level 3
92
+ "fips140-1-l3",
93
+ # FIPS 140-1 Level 4
94
+ "fips140-1-l4",
95
+ # FIPS 140-2 Level 1
96
+ "fips140-2-l1",
97
+ # FIPS 140-2 Level 2
98
+ "fips140-2-l2",
99
+ # FIPS 140-2 Level 3
100
+ "fips140-2-l3",
101
+ # FIPS 140-2 Level 4
102
+ "fips140-2-l4",
103
+ # FIPS 140-3 Level 1
104
+ "fips140-3-l1",
105
+ # FIPS 140-3 Level 2
106
+ "fips140-3-l2",
107
+ # FIPS 140-3 Level 3
108
+ "fips140-3-l3",
109
+ # FIPS 140-3 Level 4
110
+ "fips140-3-l4",
111
+ # Common Criteria - Evaluation Assurance Level 1
112
+ "cc-eal1",
113
+ # Common Criteria - Evaluation Assurance Level 1 (Augmented)
114
+ "cc-eal1+",
115
+ # Common Criteria - Evaluation Assurance Level 2
116
+ "cc-eal2",
117
+ # Common Criteria - Evaluation Assurance Level 2 (Augmented)
118
+ "cc-eal2+",
119
+ # Common Criteria - Evaluation Assurance Level 3
120
+ "cc-eal3",
121
+ # Common Criteria - Evaluation Assurance Level 3 (Augmented)
122
+ "cc-eal3+",
123
+ # Common Criteria - Evaluation Assurance Level 4
124
+ "cc-eal4",
125
+ # Common Criteria - Evaluation Assurance Level 4 (Augmented)
126
+ "cc-eal4+",
127
+ # Common Criteria - Evaluation Assurance Level 5
128
+ "cc-eal5",
129
+ # Common Criteria - Evaluation Assurance Level 5 (Augmented)
130
+ "cc-eal5+",
131
+ # Common Criteria - Evaluation Assurance Level 6
132
+ "cc-eal6",
133
+ # Common Criteria - Evaluation Assurance Level 6 (Augmented)
134
+ "cc-eal6+",
135
+ # Common Criteria - Evaluation Assurance Level 7
136
+ "cc-eal7",
137
+ # Common Criteria - Evaluation Assurance Level 7 (Augmented)
138
+ "cc-eal7+",
139
+ # Another certification
140
+ "other",
141
+ # The certification level is not known
142
+ "unknown"
143
+ ].freeze
144
+
145
+ # Component Type - Specifies the type of component. For software components, classify as application if no more specific appropriate classification is available or cannot be determined for the component.
146
+ COMPONENT_TYPE = [
147
+ # A software application. Refer to [https://en.wikipedia.org/wiki/Application_software](https://en.wikipedia.org/wiki/Application_software) for information about applications.
148
+ "application",
149
+ # A software framework. Refer to [https://en.wikipedia.org/wiki/Software_framework](https://en.wikipedia.org/wiki/Software_framework) for information on how frameworks vary slightly from libraries.
150
+ "framework",
151
+ # A software library. Refer to [https://en.wikipedia.org/wiki/Library_(computing)](https://en.wikipedia.org/wiki/Library_(computing)) for information about libraries. All third-party and open source reusable components will likely be a library. If the library also has key features of a framework, then it should be classified as a framework. If not, or is unknown, then specifying library is recommended.
152
+ "library",
153
+ # A packaging and/or runtime format, not specific to any particular technology, which isolates software inside the container from software outside of a container through virtualization technology. Refer to [https://en.wikipedia.org/wiki/OS-level_virtualization](https://en.wikipedia.org/wiki/OS-level_virtualization).
154
+ "container",
155
+ # A runtime environment which interprets or executes software. This may include runtimes such as those that execute bytecode or low-code/no-code application platforms.
156
+ "platform",
157
+ # A software operating system without regard to deployment model (i.e. installed on physical hardware, virtual machine, image, etc) Refer to [https://en.wikipedia.org/wiki/Operating_system](https://en.wikipedia.org/wiki/Operating_system).
158
+ "operating-system",
159
+ # A hardware device such as a processor or chip-set. A hardware device containing firmware SHOULD include a component for the physical hardware itself and another component of type 'firmware' or 'operating-system' (whichever is relevant), describing information about the software running on the device. See also the list of [known device properties](https://github.com/CycloneDX/cyclonedx-property-taxonomy/blob/main/cdx/device.md).
160
+ "device",
161
+ # A special type of software that operates or controls a particular type of device. Refer to [https://en.wikipedia.org/wiki/Device_driver](https://en.wikipedia.org/wiki/Device_driver).
162
+ "device-driver",
163
+ # A special type of software that provides low-level control over a device's hardware. Refer to [https://en.wikipedia.org/wiki/Firmware](https://en.wikipedia.org/wiki/Firmware).
164
+ "firmware",
165
+ # A computer file. Refer to [https://en.wikipedia.org/wiki/Computer_file](https://en.wikipedia.org/wiki/Computer_file) for information about files.
166
+ "file",
167
+ # A model based on training data that can make predictions or decisions without being explicitly programmed to do so.
168
+ "machine-learning-model",
169
+ # A collection of discrete values that convey information.
170
+ "data",
171
+ # A cryptographic asset including algorithms, protocols, certificates, keys, tokens, and secrets.
172
+ "cryptographic-asset"
173
+ ].freeze
174
+
175
+ # Cryptographic function
176
+ CRYPTO_FUNCTION = %w[
177
+ generate
178
+ keygen
179
+ encrypt
180
+ decrypt
181
+ digest
182
+ tag
183
+ keyderive
184
+ sign
185
+ verify
186
+ encapsulate
187
+ decapsulate
188
+ other
189
+ unknown
190
+ ].freeze
191
+
192
+ # Data flow direction - Specifies the flow direction of the data. Direction is relative to the service.
193
+ DATA_FLOW_DIRECTION = [
194
+ # Data that enters a service.
195
+ "inbound",
196
+ # Data that exits a service.
197
+ "outbound",
198
+ # Data flows in and out of the service.
199
+ "bi-directional",
200
+ # The directional flow of data is not known.
201
+ "unknown"
202
+ ].freeze
203
+
204
+ COMPONENT_DATA_TYPE = [
205
+ # Any type of code, code snippet, or data-as-code.
206
+ "source-code",
207
+ # Parameters or settings that may be used by other components.
208
+ "configuration",
209
+ # A collection of data.
210
+ "dataset",
211
+ # Data that can be used to create new instances of what the definition defines.
212
+ "definition",
213
+ # Any other type of data that does not fit into existing definitions.
214
+ "other"
215
+ ].freeze
216
+
217
+ # Energy Source - The energy source for the energy provider.
218
+ ENERGY_SOURCE = [
219
+ # Energy produced by types of coal.
220
+ "coal",
221
+ # Petroleum products (primarily crude oil and its derivative fuel oils).
222
+ "oil",
223
+ # Hydrocarbon gas liquids (HGL) that occur as gases at atmospheric pressure and as liquids under higher pressures including Natural gas (C5H12 and heavier), Ethane (C2H6), Propane (C3H8), etc.
224
+ "natural-gas",
225
+ # Energy produced from the cores of atoms (i.e., through nuclear fission or fusion).
226
+ "nuclear",
227
+ # Energy produced from moving air.
228
+ "wind",
229
+ # Energy produced from the sun (i.e., solar radiation).
230
+ "solar",
231
+ # Energy produced from heat within the earth.
232
+ "geothermal",
233
+ # Energy produced from flowing water.
234
+ "hydropower",
235
+ # Liquid fuels produced from biomass feedstocks (i.e., organic materials such as plants or animals).
236
+ "biofuel",
237
+ # The energy source is unknown.
238
+ "unknown",
239
+ # An energy source that is not listed.
240
+ "other"
241
+ ].freeze
242
+
243
+ # Execution Environment - The target and execution environment in which the algorithm is implemented in.
244
+ EXECUTION_ENVIRONMENT = [
245
+ # A software implementation running in plain unencrypted RAM.
246
+ "software-plain-ram",
247
+ # A software implementation running in encrypted RAM.
248
+ "software-encrypted-ram",
249
+ # A software implementation running in a trusted execution environment.
250
+ "software-tee",
251
+ # A hardware implementation.
252
+ "hardware",
253
+ # Another implementation environment.
254
+ "other",
255
+ # The execution environment is not known.
256
+ "unknown"
257
+ ].freeze
258
+
259
+ EXTERNAL_REFERENCE_TYPE = [
260
+ # Version Control System
261
+ "vcs",
262
+ # Issue or defect tracking system, or an Application Lifecycle Management (ALM) system
263
+ "issue-tracker",
264
+ # Website
265
+ "website",
266
+ # Security advisories
267
+ "advisories",
268
+ # Bill of Materials (SBOM, OBOM, HBOM, SaaSBOM, etc)
269
+ "bom",
270
+ # Mailing list or discussion group
271
+ "mailing-list",
272
+ # Social media account
273
+ "social",
274
+ # Real-time chat platform
275
+ "chat",
276
+ # Documentation, guides, or how-to instructions
277
+ "documentation",
278
+ # Community or commercial support
279
+ "support",
280
+ # The location where the source code distributable can be obtained. This is often an archive format such as zip or tgz. The source-distribution type complements use of the version control (vcs) type.
281
+ "source-distribution",
282
+ # Direct or repository download location
283
+ "distribution",
284
+ # The location where a component was published to. This is often the same as \"distribution\" but may also include specialized publishing processes that act as an intermediary.
285
+ "distribution-intake",
286
+ # The reference to the license file. If a license URL has been defined in the license node, it should also be defined as an external reference for completeness.
287
+ "license",
288
+ # Build-system specific meta file (i.e. pom.xml, package.json, .nuspec, etc)
289
+ "build-meta",
290
+ # Reference to an automated build system
291
+ "build-system",
292
+ # Reference to release notes
293
+ "release-notes",
294
+ # Specifies a way to contact the maintainer, supplier, or provider in the event of a security incident. Common URIs include links to a disclosure procedure, a mailto (RFC-2368) that specifies an email address, a tel (RFC-3966) that specifies a phone number, or dns (RFC-4501) that specifies the records containing DNS Security TXT.
295
+ "security-contact",
296
+ # A model card describes the intended uses of a machine learning model, potential limitations, biases, ethical considerations, training parameters, datasets used to train the model, performance metrics, and other relevant data useful for ML transparency.
297
+ "model-card",
298
+ # A record of events that occurred in a computer system or application, such as problems, errors, or information on current operations.
299
+ "log",
300
+ # Parameters or settings that may be used by other components or services.
301
+ "configuration",
302
+ # Information used to substantiate a claim.
303
+ "evidence",
304
+ # Describes how a component or service was manufactured or deployed.
305
+ "formulation",
306
+ # Human or machine-readable statements containing facts, evidence, or testimony.
307
+ "attestation",
308
+ # An enumeration of identified weaknesses, threats, and countermeasures, dataflow diagram (DFD), attack tree, and other supporting documentation in human-readable or machine-readable format.
309
+ "threat-model",
310
+ # The defined assumptions, goals, and capabilities of an adversary.
311
+ "adversary-model",
312
+ # Identifies and analyzes the potential of future events that may negatively impact individuals, assets, and/or the environment. Risk assessments may also include judgments on the tolerability of each risk.
313
+ "risk-assessment",
314
+ # A Vulnerability Disclosure Report (VDR) which asserts the known and previously unknown vulnerabilities that affect a component, service, or product including the analysis and findings describing the impact (or lack of impact) that the reported vulnerability has on a component, service, or product.
315
+ "vulnerability-assertion",
316
+ # A Vulnerability Exploitability eXchange (VEX) which asserts the known vulnerabilities that do not affect a product, product family, or organization, and optionally the ones that do. The VEX should include the analysis and findings describing the impact (or lack of impact) that the reported vulnerability has on the product, product family, or organization.
317
+ "exploitability-statement",
318
+ # Results from an authorized simulated cyberattack on a component or service, otherwise known as a penetration test.
319
+ "pentest-report",
320
+ # SARIF or proprietary machine or human-readable report for which static analysis has identified code quality, security, and other potential issues with the source code.
321
+ "static-analysis-report",
322
+ # Dynamic analysis report that has identified issues such as vulnerabilities and misconfigurations.
323
+ "dynamic-analysis-report",
324
+ # Report generated by analyzing the call stack of a running application.
325
+ "runtime-analysis-report",
326
+ # Report generated by Software Composition Analysis (SCA), container analysis, or other forms of component analysis.
327
+ "component-analysis-report",
328
+ # Report containing a formal assessment of an organization, business unit, or team against a maturity model.
329
+ "maturity-report",
330
+ # Industry, regulatory, or other certification from an accredited (if applicable) certification body.
331
+ "certification-report",
332
+ # Code or configuration that defines and provisions virtualized infrastructure, commonly referred to as Infrastructure as Code (IaC).
333
+ "codified-infrastructure",
334
+ # Report or system in which quality metrics can be obtained.
335
+ "quality-metrics",
336
+ # Plans of Action and Milestones (POA&M) complement an \"attestation\" external reference. POA&M is defined by NIST as a \"document that identifies tasks needing to be accomplished. It details resources required to accomplish the elements of the plan, any milestones in meeting the tasks and scheduled completion dates for the milestones\".
337
+ "poam",
338
+ # An e-signature is commonly a scanned representation of a written signature or a stylized script of the person's name.
339
+ "electronic-signature",
340
+ # A signature that leverages cryptography, typically public/private key pairs, which provides strong authenticity verification.
341
+ "digital-signature",
342
+ # Document that complies with [RFC 9116](https://www.ietf.org/rfc/rfc9116.html) (A File Format to Aid in Security Vulnerability Disclosure)
343
+ "rfc-9116",
344
+ # Use this if no other types accurately describe the purpose of the external reference.
345
+ "other"
346
+ ].freeze
347
+
348
+ # Field - The identity field of the component which the evidence describes.
349
+ FIELD = %w[
350
+ group
351
+ name
352
+ version
353
+ purl
354
+ cpe
355
+ omniborId
356
+ swhid
357
+ swid
358
+ hash
359
+ ].freeze
360
+
361
+ # Hash Algorithm - The algorithm that generated the hash value.
362
+ HASH_ALG = %w[
363
+ MD5
364
+ SHA-1
365
+ SHA-256
366
+ SHA-384
367
+ SHA-512
368
+ SHA3-256
369
+ SHA3-384
370
+ SHA3-512
371
+ BLAKE2b-256
372
+ BLAKE2b-384
373
+ BLAKE2b-512
374
+ BLAKE3
375
+ ].freeze
376
+
377
+ # Impact Analysis Justification - The rationale of why the impact analysis state was asserted.
378
+ IMPACT_ANALYSIS_JUSTIFICATION = [
379
+ # The code has been removed or tree-shaked.
380
+ "code_not_present",
381
+ # The vulnerable code is not invoked at runtime.
382
+ "code_not_reachable",
383
+ # Exploitability requires a configurable option to be set/unset.
384
+ "requires_configuration",
385
+ # Exploitability requires a dependency that is not present.
386
+ "requires_dependency",
387
+ # Exploitability requires a certain environment which is not present.
388
+ "requires_environment",
389
+ # Exploitability requires a compiler flag to be set/unset.
390
+ "protected_by_compiler",
391
+ # Exploits are prevented at runtime.
392
+ "protected_at_runtime",
393
+ # Attacks are blocked at physical, logical, or network perimeter.
394
+ "protected_at_perimeter",
395
+ # Preventative measures have been implemented that reduce the likelihood and/or impact of the vulnerability.
396
+ "protected_by_mitigating_control"
397
+ ].freeze
398
+
399
+ # Impact Analysis State - Declares the current state of an occurrence of a vulnerability, after automated or manual analysis.
400
+ IMPACT_ANALYSIS_STATE = [
401
+ # The vulnerability has been remediated.
402
+ "resolved",
403
+ # The vulnerability has been remediated and evidence of the changes are provided in the affected components pedigree containing verifiable commit history and/or diff(s).
404
+ "resolved_with_pedigree",
405
+ # The vulnerability may be directly or indirectly exploitable.
406
+ "exploitable",
407
+ # The vulnerability is being investigated.
408
+ "in_triage",
409
+ # The vulnerability is not specific to the component or service and was falsely identified or associated.
410
+ "false_positive",
411
+ # The component or service is not affected by the vulnerability. Justification should be specified for all not_affected cases.
412
+ "not_affected"
413
+ ].freeze
414
+
415
+ # Implementation platform - The target platform for which the algorithm is implemented. The implementation can be 'generic', running on any platform or for a specific platform.
416
+ IMPLEMENTATION_PLATFORM = %w[
417
+ generic
418
+ x86_32
419
+ x86_64
420
+ armv7-a
421
+ armv7-m
422
+ armv8-a
423
+ armv8-m
424
+ armv9-a
425
+ armv9-m
426
+ s390x
427
+ ppc64
428
+ ppc64le
429
+ other
430
+ unknown
431
+ ].freeze
432
+
433
+ # Issue Type - Specifies the type of issue
434
+ ISSUE_TYPE = [
435
+ # A fault, flaw, or bug in software.
436
+ "defect",
437
+ # A new feature or behavior in software.
438
+ "enhancement",
439
+ # A special type of defect which impacts security.
440
+ "security"
441
+ ].freeze
442
+
443
+ # Learning Type - Learning types describing the learning problem or hybrid learning problem.
444
+ LEARNING_TYPE = [
445
+ # Supervised machine learning involves training an algorithm on labeled data to predict or classify new data based on the patterns learned from the labeled examples.
446
+ "supervised",
447
+ # Unsupervised machine learning involves training algorithms on unlabeled data to discover patterns, structures, or relationships without explicit guidance, allowing the model to identify inherent structures or clusters within the data.
448
+ "unsupervised",
449
+ # Reinforcement learning is a type of machine learning where an agent learns to make decisions by interacting with an environment to maximize cumulative rewards, through trial and error.
450
+ "reinforcement-learning",
451
+ # Semi-supervised machine learning utilizes a combination of labeled and unlabeled data during training to improve model performance, leveraging the benefits of both supervised and unsupervised learning techniques.
452
+ "semi-supervised",
453
+ # Self-supervised machine learning involves training models to predict parts of the input data from other parts of the same data, without requiring external labels, enabling learning from large amounts of unlabeled data.
454
+ "self-supervised"
455
+ ].freeze
456
+
457
+ # License ID (SPDX) - A valid SPDX license identifier. If specified, this value must be one of the enumeration of valid SPDX license identifiers defined in the spdx.schema.json (or spdx.xml) subschema which is synchronized with the official SPDX license list.
458
+ LICENSE_ID = [ # rubocop:disable Metrics/CollectionLiteralLength
459
+ # Attribution Assurance License
460
+ "AAL",
461
+ # Abstyles License
462
+ "Abstyles",
463
+ # AdaCore Doc License
464
+ "AdaCore-doc",
465
+ # Adobe Systems Incorporated Source Code License Agreement
466
+ "Adobe-2006",
467
+ # Adobe Display PostScript License
468
+ "Adobe-Display-PostScript",
469
+ # Adobe Glyph List License
470
+ "Adobe-Glyph",
471
+ # Adobe Utopia Font License
472
+ "Adobe-Utopia",
473
+ # Amazon Digital Services License
474
+ "ADSL",
475
+ # Academic Free License v1.1
476
+ "AFL-1.1",
477
+ # Academic Free License v1.2
478
+ "AFL-1.2",
479
+ # Academic Free License v2.0
480
+ "AFL-2.0",
481
+ # Academic Free License v2.1
482
+ "AFL-2.1",
483
+ # Academic Free License v3.0
484
+ "AFL-3.0",
485
+ # Afmparse License
486
+ "Afmparse",
487
+ # Affero General Public License v1.0
488
+ "AGPL-1.0",
489
+ # Affero General Public License v1.0 only
490
+ "AGPL-1.0-only",
491
+ # Affero General Public License v1.0 or later
492
+ "AGPL-1.0-or-later",
493
+ # GNU Affero General Public License v3.0
494
+ "AGPL-3.0",
495
+ # GNU Affero General Public License v3.0 only
496
+ "AGPL-3.0-only",
497
+ # GNU Affero General Public License v3.0 or later
498
+ "AGPL-3.0-or-later",
499
+ # Aladdin Free Public License
500
+ "Aladdin",
501
+ # AMD newlib License
502
+ "AMD-newlib",
503
+ # AMD's plpa_map.c License
504
+ "AMDPLPA",
505
+ # Apple MIT License
506
+ "AML",
507
+ # AML glslang variant License
508
+ "AML-glslang",
509
+ # Academy of Motion Picture Arts and Sciences BSD
510
+ "AMPAS",
511
+ # ANTLR Software Rights Notice
512
+ "ANTLR-PD",
513
+ # ANTLR Software Rights Notice with license fallback
514
+ "ANTLR-PD-fallback",
515
+ # Any OSI License
516
+ "any-OSI",
517
+ # Apache License 1.0
518
+ "Apache-1.0",
519
+ # Apache License 1.1
520
+ "Apache-1.1",
521
+ # Apache License 2.0
522
+ "Apache-2.0",
523
+ # Adobe Postscript AFM License
524
+ "APAFML",
525
+ # Adaptive Public License 1.0
526
+ "APL-1.0",
527
+ # App::s2p License
528
+ "App-s2p",
529
+ # Apple Public Source License 1.0
530
+ "APSL-1.0",
531
+ # Apple Public Source License 1.1
532
+ "APSL-1.1",
533
+ # Apple Public Source License 1.2
534
+ "APSL-1.2",
535
+ # Apple Public Source License 2.0
536
+ "APSL-2.0",
537
+ # Arphic Public License
538
+ "Arphic-1999",
539
+ # Artistic License 1.0
540
+ "Artistic-1.0",
541
+ # Artistic License 1.0 w/clause 8
542
+ "Artistic-1.0-cl8",
543
+ # Artistic License 1.0 (Perl)
544
+ "Artistic-1.0-Perl",
545
+ # Artistic License 2.0
546
+ "Artistic-2.0",
547
+ # ASWF Digital Assets License version 1.0
548
+ "ASWF-Digital-Assets-1.0",
549
+ # ASWF Digital Assets License 1.1
550
+ "ASWF-Digital-Assets-1.1",
551
+ # Baekmuk License
552
+ "Baekmuk",
553
+ # Bahyph License
554
+ "Bahyph",
555
+ # Barr License
556
+ "Barr",
557
+ # bcrypt Solar Designer License
558
+ "bcrypt-Solar-Designer",
559
+ # Beerware License
560
+ "Beerware",
561
+ # Bitstream Charter Font License
562
+ "Bitstream-Charter",
563
+ # Bitstream Vera Font License
564
+ "Bitstream-Vera",
565
+ # BitTorrent Open Source License v1.0
566
+ "BitTorrent-1.0",
567
+ # BitTorrent Open Source License v1.1
568
+ "BitTorrent-1.1",
569
+ # SQLite Blessing
570
+ "blessing",
571
+ # Blue Oak Model License 1.0.0
572
+ "BlueOak-1.0.0",
573
+ # Boehm-Demers-Weiser GC License
574
+ "Boehm-GC",
575
+ # Borceux license
576
+ "Borceux",
577
+ # Brian Gladman 2-Clause License
578
+ "Brian-Gladman-2-Clause",
579
+ # Brian Gladman 3-Clause License
580
+ "Brian-Gladman-3-Clause",
581
+ # BSD Zero Clause License
582
+ "0BSD",
583
+ # BSD 1-Clause License
584
+ "BSD-1-Clause",
585
+ # BSD 2-Clause "Simplified" License
586
+ "BSD-2-Clause",
587
+ # BSD 2-Clause - Ian Darwin variant
588
+ "BSD-2-Clause-Darwin",
589
+ # BSD 2-Clause - first lines requirement
590
+ "BSD-2-Clause-first-lines",
591
+ # BSD 2-Clause FreeBSD License
592
+ "BSD-2-Clause-FreeBSD",
593
+ # BSD 2-Clause NetBSD License
594
+ "BSD-2-Clause-NetBSD",
595
+ # BSD-2-Clause Plus Patent License
596
+ "BSD-2-Clause-Patent",
597
+ # BSD 2-Clause with views sentence
598
+ "BSD-2-Clause-Views",
599
+ # BSD 3-Clause "New" or "Revised" License
600
+ "BSD-3-Clause",
601
+ # BSD 3-Clause acpica variant
602
+ "BSD-3-Clause-acpica",
603
+ # BSD with attribution
604
+ "BSD-3-Clause-Attribution",
605
+ # BSD 3-Clause Clear License
606
+ "BSD-3-Clause-Clear",
607
+ # BSD 3-Clause Flex variant
608
+ "BSD-3-Clause-flex",
609
+ # Hewlett-Packard BSD variant license
610
+ "BSD-3-Clause-HP",
611
+ # Lawrence Berkeley National Labs BSD variant license
612
+ "BSD-3-Clause-LBNL",
613
+ # BSD 3-Clause Modification
614
+ "BSD-3-Clause-Modification",
615
+ # BSD 3-Clause No Military License
616
+ "BSD-3-Clause-No-Military-License",
617
+ # BSD 3-Clause No Nuclear License
618
+ "BSD-3-Clause-No-Nuclear-License",
619
+ # BSD 3-Clause No Nuclear License 2014
620
+ "BSD-3-Clause-No-Nuclear-License-2014",
621
+ # BSD 3-Clause No Nuclear Warranty
622
+ "BSD-3-Clause-No-Nuclear-Warranty",
623
+ # BSD 3-Clause Open MPI variant
624
+ "BSD-3-Clause-Open-MPI",
625
+ # BSD 3-Clause Sun Microsystems
626
+ "BSD-3-Clause-Sun",
627
+ # BSD 4-Clause "Original" or "Old" License
628
+ "BSD-4-Clause",
629
+ # BSD 4 Clause Shortened
630
+ "BSD-4-Clause-Shortened",
631
+ # BSD-4-Clause (University of California-Specific)
632
+ "BSD-4-Clause-UC",
633
+ # BSD 4.3 RENO License
634
+ "BSD-4.3RENO",
635
+ # BSD 4.3 TAHOE License
636
+ "BSD-4.3TAHOE",
637
+ # BSD Advertising Acknowledgement License
638
+ "BSD-Advertising-Acknowledgement",
639
+ # BSD with Attribution and HPND disclaimer
640
+ "BSD-Attribution-HPND-disclaimer",
641
+ # BSD-Inferno-Nettverk
642
+ "BSD-Inferno-Nettverk",
643
+ # BSD Protection License
644
+ "BSD-Protection",
645
+ # BSD Source Code Attribution - beginning of file variant
646
+ "BSD-Source-beginning-file",
647
+ # BSD Source Code Attribution
648
+ "BSD-Source-Code",
649
+ # Systemics BSD variant license
650
+ "BSD-Systemics",
651
+ # Systemics W3Works BSD variant license
652
+ "BSD-Systemics-W3Works",
653
+ # Boost Software License 1.0
654
+ "BSL-1.0",
655
+ # Business Source License 1.1
656
+ "BUSL-1.1",
657
+ # bzip2 and libbzip2 License v1.0.5
658
+ "bzip2-1.0.5",
659
+ # bzip2 and libbzip2 License v1.0.6
660
+ "bzip2-1.0.6",
661
+ # Computational Use of Data Agreement v1.0
662
+ "C-UDA-1.0",
663
+ # Cryptographic Autonomy License 1.0
664
+ "CAL-1.0",
665
+ # Cryptographic Autonomy License 1.0 (Combined Work Exception)
666
+ "CAL-1.0-Combined-Work-Exception",
667
+ # Caldera License
668
+ "Caldera",
669
+ # Caldera License (without preamble)
670
+ "Caldera-no-preamble",
671
+ # Catharon License
672
+ "Catharon",
673
+ # Computer Associates Trusted Open Source License 1.1
674
+ "CATOSL-1.1",
675
+ # Creative Commons Attribution 1.0 Generic
676
+ "CC-BY-1.0",
677
+ # Creative Commons Attribution 2.0 Generic
678
+ "CC-BY-2.0",
679
+ # Creative Commons Attribution 2.5 Generic
680
+ "CC-BY-2.5",
681
+ # Creative Commons Attribution 2.5 Australia
682
+ "CC-BY-2.5-AU",
683
+ # Creative Commons Attribution 3.0 Unported
684
+ "CC-BY-3.0",
685
+ # Creative Commons Attribution 3.0 Austria
686
+ "CC-BY-3.0-AT",
687
+ # Creative Commons Attribution 3.0 Australia
688
+ "CC-BY-3.0-AU",
689
+ # Creative Commons Attribution 3.0 Germany
690
+ "CC-BY-3.0-DE",
691
+ # Creative Commons Attribution 3.0 IGO
692
+ "CC-BY-3.0-IGO",
693
+ # Creative Commons Attribution 3.0 Netherlands
694
+ "CC-BY-3.0-NL",
695
+ # Creative Commons Attribution 3.0 United States
696
+ "CC-BY-3.0-US",
697
+ # Creative Commons Attribution 4.0 International
698
+ "CC-BY-4.0",
699
+ # Creative Commons Attribution Non Commercial 1.0 Generic
700
+ "CC-BY-NC-1.0",
701
+ # Creative Commons Attribution Non Commercial 2.0 Generic
702
+ "CC-BY-NC-2.0",
703
+ # Creative Commons Attribution Non Commercial 2.5 Generic
704
+ "CC-BY-NC-2.5",
705
+ # Creative Commons Attribution Non Commercial 3.0 Unported
706
+ "CC-BY-NC-3.0",
707
+ # Creative Commons Attribution Non Commercial 3.0 Germany
708
+ "CC-BY-NC-3.0-DE",
709
+ # Creative Commons Attribution Non Commercial 4.0 International
710
+ "CC-BY-NC-4.0",
711
+ # Creative Commons Attribution Non Commercial No Derivatives 1.0 Generic
712
+ "CC-BY-NC-ND-1.0",
713
+ # Creative Commons Attribution Non Commercial No Derivatives 2.0 Generic
714
+ "CC-BY-NC-ND-2.0",
715
+ # Creative Commons Attribution Non Commercial No Derivatives 2.5 Generic
716
+ "CC-BY-NC-ND-2.5",
717
+ # Creative Commons Attribution Non Commercial No Derivatives 3.0 Unported
718
+ "CC-BY-NC-ND-3.0",
719
+ # Creative Commons Attribution Non Commercial No Derivatives 3.0 Germany
720
+ "CC-BY-NC-ND-3.0-DE",
721
+ # Creative Commons Attribution Non Commercial No Derivatives 3.0 IGO
722
+ "CC-BY-NC-ND-3.0-IGO",
723
+ # Creative Commons Attribution Non Commercial No Derivatives 4.0 International
724
+ "CC-BY-NC-ND-4.0",
725
+ # Creative Commons Attribution Non Commercial Share Alike 1.0 Generic
726
+ "CC-BY-NC-SA-1.0",
727
+ # Creative Commons Attribution Non Commercial Share Alike 2.0 Generic
728
+ "CC-BY-NC-SA-2.0",
729
+ # Creative Commons Attribution Non Commercial Share Alike 2.0 Germany
730
+ "CC-BY-NC-SA-2.0-DE",
731
+ # Creative Commons Attribution-NonCommercial-ShareAlike 2.0 France
732
+ "CC-BY-NC-SA-2.0-FR",
733
+ # Creative Commons Attribution Non Commercial Share Alike 2.0 England and Wales
734
+ "CC-BY-NC-SA-2.0-UK",
735
+ # Creative Commons Attribution Non Commercial Share Alike 2.5 Generic
736
+ "CC-BY-NC-SA-2.5",
737
+ # Creative Commons Attribution Non Commercial Share Alike 3.0 Unported
738
+ "CC-BY-NC-SA-3.0",
739
+ # Creative Commons Attribution Non Commercial Share Alike 3.0 Germany
740
+ "CC-BY-NC-SA-3.0-DE",
741
+ # Creative Commons Attribution Non Commercial Share Alike 3.0 IGO
742
+ "CC-BY-NC-SA-3.0-IGO",
743
+ # Creative Commons Attribution Non Commercial Share Alike 4.0 International
744
+ "CC-BY-NC-SA-4.0",
745
+ # Creative Commons Attribution No Derivatives 1.0 Generic
746
+ "CC-BY-ND-1.0",
747
+ # Creative Commons Attribution No Derivatives 2.0 Generic
748
+ "CC-BY-ND-2.0",
749
+ # Creative Commons Attribution No Derivatives 2.5 Generic
750
+ "CC-BY-ND-2.5",
751
+ # Creative Commons Attribution No Derivatives 3.0 Unported
752
+ "CC-BY-ND-3.0",
753
+ # Creative Commons Attribution No Derivatives 3.0 Germany
754
+ "CC-BY-ND-3.0-DE",
755
+ # Creative Commons Attribution No Derivatives 4.0 International
756
+ "CC-BY-ND-4.0",
757
+ # Creative Commons Attribution Share Alike 1.0 Generic
758
+ "CC-BY-SA-1.0",
759
+ # Creative Commons Attribution Share Alike 2.0 Generic
760
+ "CC-BY-SA-2.0",
761
+ # Creative Commons Attribution Share Alike 2.0 England and Wales
762
+ "CC-BY-SA-2.0-UK",
763
+ # Creative Commons Attribution Share Alike 2.1 Japan
764
+ "CC-BY-SA-2.1-JP",
765
+ # Creative Commons Attribution Share Alike 2.5 Generic
766
+ "CC-BY-SA-2.5",
767
+ # Creative Commons Attribution Share Alike 3.0 Unported
768
+ "CC-BY-SA-3.0",
769
+ # Creative Commons Attribution Share Alike 3.0 Austria
770
+ "CC-BY-SA-3.0-AT",
771
+ # Creative Commons Attribution Share Alike 3.0 Germany
772
+ "CC-BY-SA-3.0-DE",
773
+ # Creative Commons Attribution-ShareAlike 3.0 IGO
774
+ "CC-BY-SA-3.0-IGO",
775
+ # Creative Commons Attribution Share Alike 4.0 International
776
+ "CC-BY-SA-4.0",
777
+ # Creative Commons Public Domain Dedication and Certification
778
+ "CC-PDDC",
779
+ # Creative Commons Zero v1.0 Universal
780
+ "CC0-1.0",
781
+ # Common Development and Distribution License 1.0
782
+ "CDDL-1.0",
783
+ # Common Development and Distribution License 1.1
784
+ "CDDL-1.1",
785
+ # Common Documentation License 1.0
786
+ "CDL-1.0",
787
+ # Community Data License Agreement Permissive 1.0
788
+ "CDLA-Permissive-1.0",
789
+ # Community Data License Agreement Permissive 2.0
790
+ "CDLA-Permissive-2.0",
791
+ # Community Data License Agreement Sharing 1.0
792
+ "CDLA-Sharing-1.0",
793
+ # CeCILL Free Software License Agreement v1.0
794
+ "CECILL-1.0",
795
+ # CeCILL Free Software License Agreement v1.1
796
+ "CECILL-1.1",
797
+ # CeCILL Free Software License Agreement v2.0
798
+ "CECILL-2.0",
799
+ # CeCILL Free Software License Agreement v2.1
800
+ "CECILL-2.1",
801
+ # CeCILL-B Free Software License Agreement
802
+ "CECILL-B",
803
+ # CeCILL-C Free Software License Agreement
804
+ "CECILL-C",
805
+ # CERN Open Hardware Licence v1.1
806
+ "CERN-OHL-1.1",
807
+ # CERN Open Hardware Licence v1.2
808
+ "CERN-OHL-1.2",
809
+ # CERN Open Hardware Licence Version 2 - Permissive
810
+ "CERN-OHL-P-2.0",
811
+ # CERN Open Hardware Licence Version 2 - Strongly Reciprocal
812
+ "CERN-OHL-S-2.0",
813
+ # CERN Open Hardware Licence Version 2 - Weakly Reciprocal
814
+ "CERN-OHL-W-2.0",
815
+ # CFITSIO License
816
+ "CFITSIO",
817
+ # check-cvs License
818
+ "check-cvs",
819
+ # Checkmk License
820
+ "checkmk",
821
+ # Clarified Artistic License
822
+ "ClArtistic",
823
+ # Clips License
824
+ "Clips",
825
+ # CMU Mach License
826
+ "CMU-Mach",
827
+ # CMU Mach - no notices-in-documentation variant
828
+ "CMU-Mach-nodoc",
829
+ # CNRI Jython License
830
+ "CNRI-Jython",
831
+ # CNRI Python License
832
+ "CNRI-Python",
833
+ # CNRI Python Open Source GPL Compatible License Agreement
834
+ "CNRI-Python-GPL-Compatible",
835
+ # Copyfree Open Innovation License
836
+ "COIL-1.0",
837
+ # Community Specification License 1.0
838
+ "Community-Spec-1.0",
839
+ # Condor Public License v1.1
840
+ "Condor-1.1",
841
+ # copyleft-next 0.3.0
842
+ "copyleft-next-0.3.0",
843
+ # copyleft-next 0.3.1
844
+ "copyleft-next-0.3.1",
845
+ # Cornell Lossless JPEG License
846
+ "Cornell-Lossless-JPEG",
847
+ # Common Public Attribution License 1.0
848
+ "CPAL-1.0",
849
+ # Common Public License 1.0
850
+ "CPL-1.0",
851
+ # Code Project Open License 1.02
852
+ "CPOL-1.02",
853
+ # Cronyx License
854
+ "Cronyx",
855
+ # Crossword License
856
+ "Crossword",
857
+ # CrystalStacker License
858
+ "CrystalStacker",
859
+ # CUA Office Public License v1.0
860
+ "CUA-OPL-1.0",
861
+ # Cube License
862
+ "Cube",
863
+ # curl License
864
+ "curl",
865
+ # Common Vulnerability Enumeration ToU License
866
+ "cve-tou",
867
+ # Deutsche Freie Software Lizenz
868
+ "D-FSL-1.0",
869
+ # DEC 3-Clause License
870
+ "DEC-3-Clause",
871
+ # diffmark license
872
+ "diffmark",
873
+ # Data licence Germany – attribution – version 2.0
874
+ "DL-DE-BY-2.0",
875
+ # Data licence Germany – zero – version 2.0
876
+ "DL-DE-ZERO-2.0",
877
+ # DOC License
878
+ "DOC",
879
+ # DocBook Schema License
880
+ "DocBook-Schema",
881
+ # DocBook Stylesheet License
882
+ "DocBook-Stylesheet",
883
+ # DocBook XML License
884
+ "DocBook-XML",
885
+ # Dotseqn License
886
+ "Dotseqn",
887
+ # Detection Rule License 1.0
888
+ "DRL-1.0",
889
+ # Detection Rule License 1.1
890
+ "DRL-1.1",
891
+ # DSDP License
892
+ "DSDP",
893
+ # David M. Gay dtoa License
894
+ "dtoa",
895
+ # dvipdfm License
896
+ "dvipdfm",
897
+ # Educational Community License v1.0
898
+ "ECL-1.0",
899
+ # Educational Community License v2.0
900
+ "ECL-2.0",
901
+ # eCos license version 2.0
902
+ "eCos-2.0",
903
+ # Eiffel Forum License v1.0
904
+ "EFL-1.0",
905
+ # Eiffel Forum License v2.0
906
+ "EFL-2.0",
907
+ # eGenix.com Public License 1.1.0
908
+ "eGenix",
909
+ # Elastic License 2.0
910
+ "Elastic-2.0",
911
+ # Entessa Public License v1.0
912
+ "Entessa",
913
+ # EPICS Open License
914
+ "EPICS",
915
+ # Eclipse Public License 1.0
916
+ "EPL-1.0",
917
+ # Eclipse Public License 2.0
918
+ "EPL-2.0",
919
+ # Erlang Public License v1.1
920
+ "ErlPL-1.1",
921
+ # Etalab Open License 2.0
922
+ "etalab-2.0",
923
+ # EU DataGrid Software License
924
+ "EUDatagrid",
925
+ # European Union Public License 1.0
926
+ "EUPL-1.0",
927
+ # European Union Public License 1.1
928
+ "EUPL-1.1",
929
+ # European Union Public License 1.2
930
+ "EUPL-1.2",
931
+ # Eurosym License
932
+ "Eurosym",
933
+ # Fair License
934
+ "Fair",
935
+ # Fuzzy Bitmap License
936
+ "FBM",
937
+ # Fraunhofer FDK AAC Codec Library
938
+ "FDK-AAC",
939
+ # Ferguson Twofish License
940
+ "Ferguson-Twofish",
941
+ # Frameworx Open License 1.0
942
+ "Frameworx-1.0",
943
+ # FreeBSD Documentation License
944
+ "FreeBSD-DOC",
945
+ # FreeImage Public License v1.0
946
+ "FreeImage",
947
+ # FSF All Permissive License
948
+ "FSFAP",
949
+ # FSF All Permissive License (without Warranty)
950
+ "FSFAP-no-warranty-disclaimer",
951
+ # FSF Unlimited License
952
+ "FSFUL",
953
+ # FSF Unlimited License (with License Retention)
954
+ "FSFULLR",
955
+ # FSF Unlimited License (With License Retention and Warranty Disclaimer)
956
+ "FSFULLRWD",
957
+ # Freetype Project License
958
+ "FTL",
959
+ # Furuseth License
960
+ "Furuseth",
961
+ # fwlw License
962
+ "fwlw",
963
+ # Gnome GCR Documentation License
964
+ "GCR-docs",
965
+ # GD License
966
+ "GD",
967
+ # GNU Free Documentation License v1.1
968
+ "GFDL-1.1",
969
+ # GNU Free Documentation License v1.1 only - invariants
970
+ "GFDL-1.1-invariants-only",
971
+ # GNU Free Documentation License v1.1 or later - invariants
972
+ "GFDL-1.1-invariants-or-later",
973
+ # GNU Free Documentation License v1.1 only - no invariants
974
+ "GFDL-1.1-no-invariants-only",
975
+ # GNU Free Documentation License v1.1 or later - no invariants
976
+ "GFDL-1.1-no-invariants-or-later",
977
+ # GNU Free Documentation License v1.1 only
978
+ "GFDL-1.1-only",
979
+ # GNU Free Documentation License v1.1 or later
980
+ "GFDL-1.1-or-later",
981
+ # GNU Free Documentation License v1.2
982
+ "GFDL-1.2",
983
+ # GNU Free Documentation License v1.2 only - invariants
984
+ "GFDL-1.2-invariants-only",
985
+ # GNU Free Documentation License v1.2 or later - invariants
986
+ "GFDL-1.2-invariants-or-later",
987
+ # GNU Free Documentation License v1.2 only - no invariants
988
+ "GFDL-1.2-no-invariants-only",
989
+ # GNU Free Documentation License v1.2 or later - no invariants
990
+ "GFDL-1.2-no-invariants-or-later",
991
+ # GNU Free Documentation License v1.2 only
992
+ "GFDL-1.2-only",
993
+ # GNU Free Documentation License v1.2 or later
994
+ "GFDL-1.2-or-later",
995
+ # GNU Free Documentation License v1.3
996
+ "GFDL-1.3",
997
+ # GNU Free Documentation License v1.3 only - invariants
998
+ "GFDL-1.3-invariants-only",
999
+ # GNU Free Documentation License v1.3 or later - invariants
1000
+ "GFDL-1.3-invariants-or-later",
1001
+ # GNU Free Documentation License v1.3 only - no invariants
1002
+ "GFDL-1.3-no-invariants-only",
1003
+ # GNU Free Documentation License v1.3 or later - no invariants
1004
+ "GFDL-1.3-no-invariants-or-later",
1005
+ # GNU Free Documentation License v1.3 only
1006
+ "GFDL-1.3-only",
1007
+ # GNU Free Documentation License v1.3 or later
1008
+ "GFDL-1.3-or-later",
1009
+ # Giftware License
1010
+ "Giftware",
1011
+ # GL2PS License
1012
+ "GL2PS",
1013
+ # 3dfx Glide License
1014
+ "Glide",
1015
+ # Glulxe License
1016
+ "Glulxe",
1017
+ # Good Luck With That Public License
1018
+ "GLWTPL",
1019
+ # gnuplot License
1020
+ "gnuplot",
1021
+ # GNU General Public License v1.0 only
1022
+ "GPL-1.0",
1023
+ # GNU General Public License v1.0 or later
1024
+ "GPL-1.0+",
1025
+ # GNU General Public License v1.0 only
1026
+ "GPL-1.0-only",
1027
+ # GNU General Public License v1.0 or later
1028
+ "GPL-1.0-or-later",
1029
+ # GNU General Public License v2.0 only
1030
+ "GPL-2.0",
1031
+ # GNU General Public License v2.0 or later
1032
+ "GPL-2.0+",
1033
+ # GNU General Public License v2.0 only
1034
+ "GPL-2.0-only",
1035
+ # GNU General Public License v2.0 or later
1036
+ "GPL-2.0-or-later",
1037
+ # GNU General Public License v2.0 w/Autoconf exception
1038
+ "GPL-2.0-with-autoconf-exception",
1039
+ # GNU General Public License v2.0 w/Bison exception
1040
+ "GPL-2.0-with-bison-exception",
1041
+ # GNU General Public License v2.0 w/Classpath exception
1042
+ "GPL-2.0-with-classpath-exception",
1043
+ # GNU General Public License v2.0 w/Font exception
1044
+ "GPL-2.0-with-font-exception",
1045
+ # GNU General Public License v2.0 w/GCC Runtime Library exception
1046
+ "GPL-2.0-with-GCC-exception",
1047
+ # GNU General Public License v3.0 only
1048
+ "GPL-3.0",
1049
+ # GNU General Public License v3.0 or later
1050
+ "GPL-3.0+",
1051
+ # GNU General Public License v3.0 only
1052
+ "GPL-3.0-only",
1053
+ # GNU General Public License v3.0 or later
1054
+ "GPL-3.0-or-later",
1055
+ # GNU General Public License v3.0 w/Autoconf exception
1056
+ "GPL-3.0-with-autoconf-exception",
1057
+ # GNU General Public License v3.0 w/GCC Runtime Library exception
1058
+ "GPL-3.0-with-GCC-exception",
1059
+ # Graphics Gems License
1060
+ "Graphics-Gems",
1061
+ # gSOAP Public License v1.3b
1062
+ "gSOAP-1.3b",
1063
+ # gtkbook License
1064
+ "gtkbook",
1065
+ # Gutmann License
1066
+ "Gutmann",
1067
+ # Haskell Language Report License
1068
+ "HaskellReport",
1069
+ # hdparm License
1070
+ "hdparm",
1071
+ # HIDAPI License
1072
+ "HIDAPI",
1073
+ # Hippocratic License 2.1
1074
+ "Hippocratic-2.1",
1075
+ # Hewlett-Packard 1986 License
1076
+ "HP-1986",
1077
+ # Hewlett-Packard 1989 License
1078
+ "HP-1989",
1079
+ # Historical Permission Notice and Disclaimer
1080
+ "HPND",
1081
+ # Historical Permission Notice and Disclaimer - DEC variant
1082
+ "HPND-DEC",
1083
+ # Historical Permission Notice and Disclaimer - documentation variant
1084
+ "HPND-doc",
1085
+ # Historical Permission Notice and Disclaimer - documentation sell variant
1086
+ "HPND-doc-sell",
1087
+ # HPND with US Government export control warning
1088
+ "HPND-export-US",
1089
+ # HPND with US Government export control warning and acknowledgment
1090
+ "HPND-export-US-acknowledgement",
1091
+ # HPND with US Government export control warning and modification rqmt
1092
+ "HPND-export-US-modify",
1093
+ # HPND with US Government export control and 2 disclaimers
1094
+ "HPND-export2-US",
1095
+ # Historical Permission Notice and Disclaimer - Fenneberg-Livingston variant
1096
+ "HPND-Fenneberg-Livingston",
1097
+ # Historical Permission Notice and Disclaimer - INRIA-IMAG variant
1098
+ "HPND-INRIA-IMAG",
1099
+ # Historical Permission Notice and Disclaimer - Intel variant
1100
+ "HPND-Intel",
1101
+ # Historical Permission Notice and Disclaimer - Kevlin Henney variant
1102
+ "HPND-Kevlin-Henney",
1103
+ # Historical Permission Notice and Disclaimer - Markus Kuhn variant
1104
+ "HPND-Markus-Kuhn",
1105
+ # Historical Permission Notice and Disclaimer - merchantability variant
1106
+ "HPND-merchantability-variant",
1107
+ # Historical Permission Notice and Disclaimer with MIT disclaimer
1108
+ "HPND-MIT-disclaimer",
1109
+ # Historical Permission Notice and Disclaimer - Netrek variant
1110
+ "HPND-Netrek",
1111
+ # Historical Permission Notice and Disclaimer - Pbmplus variant
1112
+ "HPND-Pbmplus",
1113
+ # Historical Permission Notice and Disclaimer - sell xserver variant with MIT disclaimer
1114
+ "HPND-sell-MIT-disclaimer-xserver",
1115
+ # Historical Permission Notice and Disclaimer - sell regexpr variant
1116
+ "HPND-sell-regexpr",
1117
+ # Historical Permission Notice and Disclaimer - sell variant
1118
+ "HPND-sell-variant",
1119
+ # HPND sell variant with MIT disclaimer
1120
+ "HPND-sell-variant-MIT-disclaimer",
1121
+ # HPND sell variant with MIT disclaimer - reverse
1122
+ "HPND-sell-variant-MIT-disclaimer-rev",
1123
+ # Historical Permission Notice and Disclaimer - University of California variant
1124
+ "HPND-UC",
1125
+ # Historical Permission Notice and Disclaimer - University of California, US export warning
1126
+ "HPND-UC-export-US",
1127
+ # HTML Tidy License
1128
+ "HTMLTIDY",
1129
+ # IBM PowerPC Initialization and Boot Software
1130
+ "IBM-pibs",
1131
+ # ICU License
1132
+ "ICU",
1133
+ # IEC Code Components End-user licence agreement
1134
+ "IEC-Code-Components-EULA",
1135
+ # Independent JPEG Group License
1136
+ "IJG",
1137
+ # Independent JPEG Group License - short
1138
+ "IJG-short",
1139
+ # ImageMagick License
1140
+ "ImageMagick",
1141
+ # iMatix Standard Function Library Agreement
1142
+ "iMatix",
1143
+ # Imlib2 License
1144
+ "Imlib2",
1145
+ # Info-ZIP License
1146
+ "Info-ZIP",
1147
+ # Inner Net License v2.0
1148
+ "Inner-Net-2.0",
1149
+ # Intel Open Source License
1150
+ "Intel",
1151
+ # Intel ACPI Software License Agreement
1152
+ "Intel-ACPI",
1153
+ # Interbase Public License v1.0
1154
+ "Interbase-1.0",
1155
+ # IPA Font License
1156
+ "IPA",
1157
+ # IBM Public License v1.0
1158
+ "IPL-1.0",
1159
+ # ISC License
1160
+ "ISC",
1161
+ # ISC Veillard variant
1162
+ "ISC-Veillard",
1163
+ # Jam License
1164
+ "Jam",
1165
+ # JasPer License
1166
+ "JasPer-2.0",
1167
+ # JPL Image Use Policy
1168
+ "JPL-image",
1169
+ # Japan Network Information Center License
1170
+ "JPNIC",
1171
+ # JSON License
1172
+ "JSON",
1173
+ # Kastrup License
1174
+ "Kastrup",
1175
+ # Kazlib License
1176
+ "Kazlib",
1177
+ # Knuth CTAN License
1178
+ "Knuth-CTAN",
1179
+ # Licence Art Libre 1.2
1180
+ "LAL-1.2",
1181
+ # Licence Art Libre 1.3
1182
+ "LAL-1.3",
1183
+ # Latex2e License
1184
+ "Latex2e",
1185
+ # Latex2e with translated notice permission
1186
+ "Latex2e-translated-notice",
1187
+ # Leptonica License
1188
+ "Leptonica",
1189
+ # GNU Library General Public License v2 only
1190
+ "LGPL-2.0",
1191
+ # GNU Library General Public License v2 or later
1192
+ "LGPL-2.0+",
1193
+ # GNU Library General Public License v2 only
1194
+ "LGPL-2.0-only",
1195
+ # GNU Library General Public License v2 or later
1196
+ "LGPL-2.0-or-later",
1197
+ # GNU Lesser General Public License v2.1 only
1198
+ "LGPL-2.1",
1199
+ # GNU Lesser General Public License v2.1 or later
1200
+ "LGPL-2.1+",
1201
+ # GNU Lesser General Public License v2.1 only
1202
+ "LGPL-2.1-only",
1203
+ # GNU Lesser General Public License v2.1 or later
1204
+ "LGPL-2.1-or-later",
1205
+ # GNU Lesser General Public License v3.0 only
1206
+ "LGPL-3.0",
1207
+ # GNU Lesser General Public License v3.0 or later
1208
+ "LGPL-3.0+",
1209
+ # GNU Lesser General Public License v3.0 only
1210
+ "LGPL-3.0-only",
1211
+ # GNU Lesser General Public License v3.0 or later
1212
+ "LGPL-3.0-or-later",
1213
+ # Lesser General Public License For Linguistic Resources
1214
+ "LGPLLR",
1215
+ # libpng License
1216
+ "Libpng",
1217
+ # PNG Reference Library version 2
1218
+ "libpng-2.0",
1219
+ # libselinux public domain notice
1220
+ "libselinux-1.0",
1221
+ # libtiff License
1222
+ "libtiff",
1223
+ # libutil David Nugent License
1224
+ "libutil-David-Nugent",
1225
+ # Licence Libre du Québec – Permissive version 1.1
1226
+ "LiLiQ-P-1.1",
1227
+ # Licence Libre du Québec – Réciprocité version 1.1
1228
+ "LiLiQ-R-1.1",
1229
+ # Licence Libre du Québec – Réciprocité forte version 1.1
1230
+ "LiLiQ-Rplus-1.1",
1231
+ # Linux man-pages - 1 paragraph
1232
+ "Linux-man-pages-1-para",
1233
+ # Linux man-pages Copyleft
1234
+ "Linux-man-pages-copyleft",
1235
+ # Linux man-pages Copyleft - 2 paragraphs
1236
+ "Linux-man-pages-copyleft-2-para",
1237
+ # Linux man-pages Copyleft Variant
1238
+ "Linux-man-pages-copyleft-var",
1239
+ # Linux Kernel Variant of OpenIB.org license
1240
+ "Linux-OpenIB",
1241
+ # Common Lisp LOOP License
1242
+ "LOOP",
1243
+ # LPD Documentation License
1244
+ "LPD-document",
1245
+ # Lucent Public License Version 1.0
1246
+ "LPL-1.0",
1247
+ # Lucent Public License v1.02
1248
+ "LPL-1.02",
1249
+ # LaTeX Project Public License v1.0
1250
+ "LPPL-1.0",
1251
+ # LaTeX Project Public License v1.1
1252
+ "LPPL-1.1",
1253
+ # LaTeX Project Public License v1.2
1254
+ "LPPL-1.2",
1255
+ # LaTeX Project Public License v1.3a
1256
+ "LPPL-1.3a",
1257
+ # LaTeX Project Public License v1.3c
1258
+ "LPPL-1.3c",
1259
+ # lsof License
1260
+ "lsof",
1261
+ # Lucida Bitmap Fonts License
1262
+ "Lucida-Bitmap-Fonts",
1263
+ # LZMA SDK License (versions 9.11 to 9.20)
1264
+ "LZMA-SDK-9.11-to-9.20",
1265
+ # LZMA SDK License (versions 9.22 and beyond)
1266
+ "LZMA-SDK-9.22",
1267
+ # Mackerras 3-Clause License
1268
+ "Mackerras-3-Clause",
1269
+ # Mackerras 3-Clause - acknowledgment variant
1270
+ "Mackerras-3-Clause-acknowledgment",
1271
+ # magaz License
1272
+ "magaz",
1273
+ # mailprio License
1274
+ "mailprio",
1275
+ # MakeIndex License
1276
+ "MakeIndex",
1277
+ # Martin Birgmeier License
1278
+ "Martin-Birgmeier",
1279
+ # McPhee Slideshow License
1280
+ "McPhee-slideshow",
1281
+ # metamail License
1282
+ "metamail",
1283
+ # Minpack License
1284
+ "Minpack",
1285
+ # The MirOS Licence
1286
+ "MirOS",
1287
+ # MIT License
1288
+ "MIT",
1289
+ # MIT No Attribution
1290
+ "MIT-0",
1291
+ # Enlightenment License (e16)
1292
+ "MIT-advertising",
1293
+ # MIT Click License
1294
+ "MIT-Click",
1295
+ # CMU License
1296
+ "MIT-CMU",
1297
+ # enna License
1298
+ "MIT-enna",
1299
+ # feh License
1300
+ "MIT-feh",
1301
+ # MIT Festival Variant
1302
+ "MIT-Festival",
1303
+ # MIT Khronos - old variant
1304
+ "MIT-Khronos-old",
1305
+ # MIT License Modern Variant
1306
+ "MIT-Modern-Variant",
1307
+ # MIT Open Group variant
1308
+ "MIT-open-group",
1309
+ # MIT testregex Variant
1310
+ "MIT-testregex",
1311
+ # MIT Tom Wu Variant
1312
+ "MIT-Wu",
1313
+ # MIT +no-false-attribs license
1314
+ "MITNFA",
1315
+ # MMIXware License
1316
+ "MMIXware",
1317
+ # Motosoto License
1318
+ "Motosoto",
1319
+ # MPEG Software Simulation
1320
+ "MPEG-SSG",
1321
+ # mpi Permissive License
1322
+ "mpi-permissive",
1323
+ # mpich2 License
1324
+ "mpich2",
1325
+ # Mozilla Public License 1.0
1326
+ "MPL-1.0",
1327
+ # Mozilla Public License 1.1
1328
+ "MPL-1.1",
1329
+ # Mozilla Public License 2.0
1330
+ "MPL-2.0",
1331
+ # Mozilla Public License 2.0 (no copyleft exception)
1332
+ "MPL-2.0-no-copyleft-exception",
1333
+ # mplus Font License
1334
+ "mplus",
1335
+ # Microsoft Limited Public License
1336
+ "MS-LPL",
1337
+ # Microsoft Public License
1338
+ "MS-PL",
1339
+ # Microsoft Reciprocal License
1340
+ "MS-RL",
1341
+ # Matrix Template Library License
1342
+ "MTLL",
1343
+ # Mulan Permissive Software License, Version 1
1344
+ "MulanPSL-1.0",
1345
+ # Mulan Permissive Software License, Version 2
1346
+ "MulanPSL-2.0",
1347
+ # Multics License
1348
+ "Multics",
1349
+ # Mup License
1350
+ "Mup",
1351
+ # Nara Institute of Science and Technology License (2003)
1352
+ "NAIST-2003",
1353
+ # NASA Open Source Agreement 1.3
1354
+ "NASA-1.3",
1355
+ # Naumen Public License
1356
+ "Naumen",
1357
+ # Net Boolean Public License v1
1358
+ "NBPL-1.0",
1359
+ # NCBI Public Domain Notice
1360
+ "NCBI-PD",
1361
+ # Non-Commercial Government Licence
1362
+ "NCGL-UK-2.0",
1363
+ # NCL Source Code License
1364
+ "NCL",
1365
+ # University of Illinois/NCSA Open Source License
1366
+ "NCSA",
1367
+ # Net-SNMP License
1368
+ "Net-SNMP",
1369
+ # NetCDF license
1370
+ "NetCDF",
1371
+ # Newsletr License
1372
+ "Newsletr",
1373
+ # Nethack General Public License
1374
+ "NGPL",
1375
+ # NICTA Public Software License, Version 1.0
1376
+ "NICTA-1.0",
1377
+ # NIST Public Domain Notice
1378
+ "NIST-PD",
1379
+ # NIST Public Domain Notice with license fallback
1380
+ "NIST-PD-fallback",
1381
+ # NIST Software License
1382
+ "NIST-Software",
1383
+ # Norwegian Licence for Open Government Data (NLOD) 1.0
1384
+ "NLOD-1.0",
1385
+ # Norwegian Licence for Open Government Data (NLOD) 2.0
1386
+ "NLOD-2.0",
1387
+ # No Limit Public License
1388
+ "NLPL",
1389
+ # Nokia Open Source License
1390
+ "Nokia",
1391
+ # Netizen Open Source License
1392
+ "NOSL",
1393
+ # Noweb License
1394
+ "Noweb",
1395
+ # Netscape Public License v1.0
1396
+ "NPL-1.0",
1397
+ # Netscape Public License v1.1
1398
+ "NPL-1.1",
1399
+ # Non-Profit Open Software License 3.0
1400
+ "NPOSL-3.0",
1401
+ # NRL License
1402
+ "NRL",
1403
+ # NTP License
1404
+ "NTP",
1405
+ # NTP No Attribution
1406
+ "NTP-0",
1407
+ # Nunit License
1408
+ "Nunit",
1409
+ # Open Use of Data Agreement v1.0
1410
+ "O-UDA-1.0",
1411
+ # OAR License
1412
+ "OAR",
1413
+ # Open CASCADE Technology Public License
1414
+ "OCCT-PL",
1415
+ # OCLC Research Public License 2.0
1416
+ "OCLC-2.0",
1417
+ # Open Data Commons Open Database License v1.0
1418
+ "ODbL-1.0",
1419
+ # Open Data Commons Attribution License v1.0
1420
+ "ODC-By-1.0",
1421
+ # OFFIS License
1422
+ "OFFIS",
1423
+ # SIL Open Font License 1.0
1424
+ "OFL-1.0",
1425
+ # SIL Open Font License 1.0 with no Reserved Font Name
1426
+ "OFL-1.0-no-RFN",
1427
+ # SIL Open Font License 1.0 with Reserved Font Name
1428
+ "OFL-1.0-RFN",
1429
+ # SIL Open Font License 1.1
1430
+ "OFL-1.1",
1431
+ # SIL Open Font License 1.1 with no Reserved Font Name
1432
+ "OFL-1.1-no-RFN",
1433
+ # SIL Open Font License 1.1 with Reserved Font Name
1434
+ "OFL-1.1-RFN",
1435
+ # OGC Software License, Version 1.0
1436
+ "OGC-1.0",
1437
+ # Taiwan Open Government Data License, version 1.0
1438
+ "OGDL-Taiwan-1.0",
1439
+ # Open Government Licence - Canada
1440
+ "OGL-Canada-2.0",
1441
+ # Open Government Licence v1.0
1442
+ "OGL-UK-1.0",
1443
+ # Open Government Licence v2.0
1444
+ "OGL-UK-2.0",
1445
+ # Open Government Licence v3.0
1446
+ "OGL-UK-3.0",
1447
+ # Open Group Test Suite License
1448
+ "OGTSL",
1449
+ # Open LDAP Public License v1.1
1450
+ "OLDAP-1.1",
1451
+ # Open LDAP Public License v1.2
1452
+ "OLDAP-1.2",
1453
+ # Open LDAP Public License v1.3
1454
+ "OLDAP-1.3",
1455
+ # Open LDAP Public License v1.4
1456
+ "OLDAP-1.4",
1457
+ # Open LDAP Public License v2.0 (or possibly 2.0A and 2.0B)
1458
+ "OLDAP-2.0",
1459
+ # Open LDAP Public License v2.0.1
1460
+ "OLDAP-2.0.1",
1461
+ # Open LDAP Public License v2.1
1462
+ "OLDAP-2.1",
1463
+ # Open LDAP Public License v2.2
1464
+ "OLDAP-2.2",
1465
+ # Open LDAP Public License v2.2.1
1466
+ "OLDAP-2.2.1",
1467
+ # Open LDAP Public License 2.2.2
1468
+ "OLDAP-2.2.2",
1469
+ # Open LDAP Public License v2.3
1470
+ "OLDAP-2.3",
1471
+ # Open LDAP Public License v2.4
1472
+ "OLDAP-2.4",
1473
+ # Open LDAP Public License v2.5
1474
+ "OLDAP-2.5",
1475
+ # Open LDAP Public License v2.6
1476
+ "OLDAP-2.6",
1477
+ # Open LDAP Public License v2.7
1478
+ "OLDAP-2.7",
1479
+ # Open LDAP Public License v2.8
1480
+ "OLDAP-2.8",
1481
+ # Open Logistics Foundation License Version 1.3
1482
+ "OLFL-1.3",
1483
+ # Open Market License
1484
+ "OML",
1485
+ # OpenPBS v2.3 Software License
1486
+ "OpenPBS-2.3",
1487
+ # OpenSSL License
1488
+ "OpenSSL",
1489
+ # OpenSSL License - standalone
1490
+ "OpenSSL-standalone",
1491
+ # OpenVision License
1492
+ "OpenVision",
1493
+ # Open Public License v1.0
1494
+ "OPL-1.0",
1495
+ # United Kingdom Open Parliament Licence v3.0
1496
+ "OPL-UK-3.0",
1497
+ # Open Publication License v1.0
1498
+ "OPUBL-1.0",
1499
+ # OSET Public License version 2.1
1500
+ "OSET-PL-2.1",
1501
+ # Open Software License 1.0
1502
+ "OSL-1.0",
1503
+ # Open Software License 1.1
1504
+ "OSL-1.1",
1505
+ # Open Software License 2.0
1506
+ "OSL-2.0",
1507
+ # Open Software License 2.1
1508
+ "OSL-2.1",
1509
+ # Open Software License 3.0
1510
+ "OSL-3.0",
1511
+ # PADL License
1512
+ "PADL",
1513
+ # The Parity Public License 6.0.0
1514
+ "Parity-6.0.0",
1515
+ # The Parity Public License 7.0.0
1516
+ "Parity-7.0.0",
1517
+ # Open Data Commons Public Domain Dedication & License 1.0
1518
+ "PDDL-1.0",
1519
+ # PHP License v3.0
1520
+ "PHP-3.0",
1521
+ # PHP License v3.01
1522
+ "PHP-3.01",
1523
+ # Pixar License
1524
+ "Pixar",
1525
+ # pkgconf License
1526
+ "pkgconf",
1527
+ # Plexus Classworlds License
1528
+ "Plexus",
1529
+ # pnmstitch License
1530
+ "pnmstitch",
1531
+ # PolyForm Noncommercial License 1.0.0
1532
+ "PolyForm-Noncommercial-1.0.0",
1533
+ # PolyForm Small Business License 1.0.0
1534
+ "PolyForm-Small-Business-1.0.0",
1535
+ # PostgreSQL License
1536
+ "PostgreSQL",
1537
+ # Peer Production License
1538
+ "PPL",
1539
+ # Python Software Foundation License 2.0
1540
+ "PSF-2.0",
1541
+ # psfrag License
1542
+ "psfrag",
1543
+ # psutils License
1544
+ "psutils",
1545
+ # Python License 2.0
1546
+ "Python-2.0",
1547
+ # Python License 2.0.1
1548
+ "Python-2.0.1",
1549
+ # Python ldap License
1550
+ "python-ldap",
1551
+ # Qhull License
1552
+ "Qhull",
1553
+ # Q Public License 1.0
1554
+ "QPL-1.0",
1555
+ # Q Public License 1.0 - INRIA 2004 variant
1556
+ "QPL-1.0-INRIA-2004",
1557
+ # radvd License
1558
+ "radvd",
1559
+ # Rdisc License
1560
+ "Rdisc",
1561
+ # Red Hat eCos Public License v1.1
1562
+ "RHeCos-1.1",
1563
+ # Reciprocal Public License 1.1
1564
+ "RPL-1.1",
1565
+ # Reciprocal Public License 1.5
1566
+ "RPL-1.5",
1567
+ # RealNetworks Public Source License v1.0
1568
+ "RPSL-1.0",
1569
+ # RSA Message-Digest License
1570
+ "RSA-MD",
1571
+ # Ricoh Source Code Public License
1572
+ "RSCPL",
1573
+ # Ruby License
1574
+ "Ruby",
1575
+ # Ruby pty extension license
1576
+ "Ruby-pty",
1577
+ # Sax Public Domain Notice
1578
+ "SAX-PD",
1579
+ # Sax Public Domain Notice 2.0
1580
+ "SAX-PD-2.0",
1581
+ # Saxpath License
1582
+ "Saxpath",
1583
+ # SCEA Shared Source License
1584
+ "SCEA",
1585
+ # Scheme Language Report License
1586
+ "SchemeReport",
1587
+ # Sendmail License
1588
+ "Sendmail",
1589
+ # Sendmail License 8.23
1590
+ "Sendmail-8.23",
1591
+ # SGI Free Software License B v1.0
1592
+ "SGI-B-1.0",
1593
+ # SGI Free Software License B v1.1
1594
+ "SGI-B-1.1",
1595
+ # SGI Free Software License B v2.0
1596
+ "SGI-B-2.0",
1597
+ # SGI OpenGL License
1598
+ "SGI-OpenGL",
1599
+ # SGP4 Permission Notice
1600
+ "SGP4",
1601
+ # Solderpad Hardware License v0.5
1602
+ "SHL-0.5",
1603
+ # Solderpad Hardware License, Version 0.51
1604
+ "SHL-0.51",
1605
+ # Simple Public License 2.0
1606
+ "SimPL-2.0",
1607
+ # Sun Industry Standards Source License v1.1
1608
+ "SISSL",
1609
+ # Sun Industry Standards Source License v1.2
1610
+ "SISSL-1.2",
1611
+ # SL License
1612
+ "SL",
1613
+ # Sleepycat License
1614
+ "Sleepycat",
1615
+ # Standard ML of New Jersey License
1616
+ "SMLNJ",
1617
+ # Secure Messaging Protocol Public License
1618
+ "SMPPL",
1619
+ # SNIA Public License 1.1
1620
+ "SNIA",
1621
+ # snprintf License
1622
+ "snprintf",
1623
+ # softSurfer License
1624
+ "softSurfer",
1625
+ # Soundex License
1626
+ "Soundex",
1627
+ # Spencer License 86
1628
+ "Spencer-86",
1629
+ # Spencer License 94
1630
+ "Spencer-94",
1631
+ # Spencer License 99
1632
+ "Spencer-99",
1633
+ # Sun Public License v1.0
1634
+ "SPL-1.0",
1635
+ # ssh-keyscan License
1636
+ "ssh-keyscan",
1637
+ # SSH OpenSSH license
1638
+ "SSH-OpenSSH",
1639
+ # SSH short notice
1640
+ "SSH-short",
1641
+ # SSLeay License - standalone
1642
+ "SSLeay-standalone",
1643
+ # Server Side Public License, v 1
1644
+ "SSPL-1.0",
1645
+ # Standard ML of New Jersey License
1646
+ "StandardML-NJ",
1647
+ # SugarCRM Public License v1.1.3
1648
+ "SugarCRM-1.1.3",
1649
+ # Sun PPP License
1650
+ "Sun-PPP",
1651
+ # Sun PPP License (2000)
1652
+ "Sun-PPP-2000",
1653
+ # SunPro License
1654
+ "SunPro",
1655
+ # Scheme Widget Library (SWL) Software License Agreement
1656
+ "SWL",
1657
+ # swrule License
1658
+ "swrule",
1659
+ # Symlinks License
1660
+ "Symlinks",
1661
+ # TAPR Open Hardware License v1.0
1662
+ "TAPR-OHL-1.0",
1663
+ # TCL/TK License
1664
+ "TCL",
1665
+ # TCP Wrappers License
1666
+ "TCP-wrappers",
1667
+ # TermReadKey License
1668
+ "TermReadKey",
1669
+ # Transitive Grace Period Public Licence 1.0
1670
+ "TGPPL-1.0",
1671
+ # 3D Slicer License v1.0
1672
+ "3D-Slicer-1.0",
1673
+ # threeparttable License
1674
+ "threeparttable",
1675
+ # TMate Open Source License
1676
+ "TMate",
1677
+ # TORQUE v2.5+ Software License v1.1
1678
+ "TORQUE-1.1",
1679
+ # Trusster Open Source License
1680
+ "TOSL",
1681
+ # Time::ParseDate License
1682
+ "TPDL",
1683
+ # THOR Public License 1.0
1684
+ "TPL-1.0",
1685
+ # TrustedQSL License
1686
+ "TrustedQSL",
1687
+ # Text-Tabs+Wrap License
1688
+ "TTWL",
1689
+ # TTYP0 License
1690
+ "TTYP0",
1691
+ # Technische Universitaet Berlin License 1.0
1692
+ "TU-Berlin-1.0",
1693
+ # Technische Universitaet Berlin License 2.0
1694
+ "TU-Berlin-2.0",
1695
+ # Ubuntu Font Licence v1.0
1696
+ "Ubuntu-font-1.0",
1697
+ # UCAR License
1698
+ "UCAR",
1699
+ # Upstream Compatibility License v1.0
1700
+ "UCL-1.0",
1701
+ # ulem License
1702
+ "ulem",
1703
+ # Michigan/Merit Networks License
1704
+ "UMich-Merit",
1705
+ # Unicode License v3
1706
+ "Unicode-3.0",
1707
+ # Unicode License Agreement - Data Files and Software (2015)
1708
+ "Unicode-DFS-2015",
1709
+ # Unicode License Agreement - Data Files and Software (2016)
1710
+ "Unicode-DFS-2016",
1711
+ # Unicode Terms of Use
1712
+ "Unicode-TOU",
1713
+ # UnixCrypt License
1714
+ "UnixCrypt",
1715
+ # The Unlicense
1716
+ "Unlicense",
1717
+ # Universal Permissive License v1.0
1718
+ "UPL-1.0",
1719
+ # Utah Raster Toolkit Run Length Encoded License
1720
+ "URT-RLE",
1721
+ # Vim License
1722
+ "Vim",
1723
+ # VOSTROM Public License for Open Source
1724
+ "VOSTROM",
1725
+ # Vovida Software License v1.0
1726
+ "VSL-1.0",
1727
+ # W3C Software Notice and License (2002-12-31)
1728
+ "W3C",
1729
+ # W3C Software Notice and License (1998-07-20)
1730
+ "W3C-19980720",
1731
+ # W3C Software Notice and Document License (2015-05-13)
1732
+ "W3C-20150513",
1733
+ # w3m License
1734
+ "w3m",
1735
+ # Sybase Open Watcom Public License 1.0
1736
+ "Watcom-1.0",
1737
+ # Widget Workshop License
1738
+ "Widget-Workshop",
1739
+ # Wsuipa License
1740
+ "Wsuipa",
1741
+ # Do What The F*ck You Want To Public License
1742
+ "WTFPL",
1743
+ # wxWindows Library License
1744
+ "wxWindows",
1745
+ # X11 License
1746
+ "X11",
1747
+ # X11 License Distribution Modification Variant
1748
+ "X11-distribute-modifications-variant",
1749
+ # X11 swapped final paragraphs
1750
+ "X11-swapped",
1751
+ # Xdebug License v 1.03
1752
+ "Xdebug-1.03",
1753
+ # Xerox License
1754
+ "Xerox",
1755
+ # Xfig License
1756
+ "Xfig",
1757
+ # XFree86 License 1.1
1758
+ "XFree86-1.1",
1759
+ # xinetd License
1760
+ "xinetd",
1761
+ # xkeyboard-config Zinoviev License
1762
+ "xkeyboard-config-Zinoviev",
1763
+ # xlock License
1764
+ "xlock",
1765
+ # X.Net License
1766
+ "Xnet",
1767
+ # XPP License
1768
+ "xpp",
1769
+ # XSkat License
1770
+ "XSkat",
1771
+ # xzoom License
1772
+ "xzoom",
1773
+ # Yahoo! Public License v1.0
1774
+ "YPL-1.0",
1775
+ # Yahoo! Public License v1.1
1776
+ "YPL-1.1",
1777
+ # Zed License
1778
+ "Zed",
1779
+ # Zeeff License
1780
+ "Zeeff",
1781
+ # Zend License v2.0
1782
+ "Zend-2.0",
1783
+ # Zimbra Public License v1.3
1784
+ "Zimbra-1.3",
1785
+ # Zimbra Public License v1.4
1786
+ "Zimbra-1.4",
1787
+ # zlib License
1788
+ "Zlib",
1789
+ # zlib/libpng License with Acknowledgement
1790
+ "zlib-acknowledgement",
1791
+ # Zope Public License 1.1
1792
+ "ZPL-1.1",
1793
+ # Zope Public License 2.0
1794
+ "ZPL-2.0",
1795
+ # Zope Public License 2.1
1796
+ "ZPL-2.1"
1797
+ ].freeze
1798
+
1799
+ # License Acknowledgement - Declared licenses and concluded licenses represent two different stages in the licensing process within software development. Declared licenses refer to the initial intention of the software authors regarding the licensing terms under which their code is released. On the other hand, concluded licenses are the result of a comprehensive analysis of the project's codebase to identify and confirm the actual licenses of the components used, which may differ from the initially declared licenses. While declared licenses provide an upfront indication of the licensing intentions, concluded licenses offer a more thorough understanding of the actual licensing within a project, facilitating proper compliance and risk management. Observed licenses are defined in `@.evidence.licenses`. Observed licenses form the evidence necessary to substantiate a concluded license.
1800
+ LICENSE_ACKNOWLEDGEMENT = [
1801
+ # Declared licenses represent the initial intentions of authors regarding the licensing terms of their code.
1802
+ "declared",
1803
+ # Concluded licenses are verified and confirmed.
1804
+ "concluded"
1805
+ ].freeze
1806
+
1807
+ # License Type
1808
+ LICENSE_TYPE = [
1809
+ # A license that grants use of software solely for the purpose of education or research.
1810
+ "academic",
1811
+ # A license covering use of software embedded in a specific piece of hardware.
1812
+ "appliance",
1813
+ # A Client Access License (CAL) allows client computers to access services provided by server software.
1814
+ "client-access",
1815
+ # A Concurrent User license (aka floating license) limits the number of licenses for a software application and licenses are shared among a larger number of users.
1816
+ "concurrent-user",
1817
+ # A license where the core of a computer's processor is assigned a specific number of points.
1818
+ "core-points",
1819
+ # A license for which consumption is measured by non-standard metrics.
1820
+ "custom-metric",
1821
+ # A license that covers a defined number of installations on computers and other types of devices.
1822
+ "device",
1823
+ # A license that grants permission to install and use software for trial purposes.
1824
+ "evaluation",
1825
+ # A license that grants access to the software to one or more pre-defined users.
1826
+ "named-user",
1827
+ # A license that grants access to the software on one or more pre-defined computers or devices.
1828
+ "node-locked",
1829
+ # An Original Equipment Manufacturer license that is delivered with hardware, cannot be transferred to other hardware, and is valid for the life of the hardware.
1830
+ "oem",
1831
+ # A license where the software is sold on a one-time basis and the licensee can use a copy of the software indefinitely.
1832
+ "perpetual",
1833
+ # A license where each installation consumes points per processor.
1834
+ "processor-points",
1835
+ # A license where the licensee pays a fee to use the software or service.
1836
+ "subscription",
1837
+ # A license that grants access to the software or service by a specified number of users.
1838
+ "user",
1839
+ # Another license type.
1840
+ "other"
1841
+ ].freeze
1842
+
1843
+ # Mode - The mode of operation in which the cryptographic algorithm (block cipher) is used.
1844
+ ALGORITHM_MODE = [
1845
+ # Cipher block chaining
1846
+ "cbc",
1847
+ # Electronic codebook
1848
+ "ecb",
1849
+ # Counter with cipher block chaining message authentication code
1850
+ "ccm",
1851
+ # Galois/counter
1852
+ "gcm",
1853
+ # Cipher feedback
1854
+ "cfb",
1855
+ # Output feedback
1856
+ "ofb",
1857
+ # Counter
1858
+ "ctr",
1859
+ # Another mode of operation
1860
+ "other",
1861
+ # The mode of operation is not known
1862
+ "unknown"
1863
+ ].freeze
1864
+
1865
+ # Output Type - Describes the type of data output.
1866
+ OUTPUT_TYPE = %w[
1867
+ artifact
1868
+ attestation
1869
+ log
1870
+ evidence
1871
+ metrics
1872
+ other
1873
+ ].freeze
1874
+
1875
+ # Padding - The padding scheme that is used for the cryptographic algorithm.
1876
+ PADDING = [
1877
+ # Public Key Cryptography Standard: Password-Based Cryptography
1878
+ "pkcs5",
1879
+ # Public Key Cryptography Standard: Cryptographic Message Syntax
1880
+ "pkcs7",
1881
+ # Public Key Cryptography Standard: RSA Cryptography v1.5
1882
+ "pkcs1v15",
1883
+ # Optimal asymmetric encryption padding
1884
+ "oaep",
1885
+ # Raw
1886
+ "raw",
1887
+ # Another padding scheme
1888
+ "other",
1889
+ # The padding scheme is not known
1890
+ "unknown"
1891
+ ].freeze
1892
+
1893
+ # Patch Type - Specifies the purpose for the patch including the resolution of defects, security issues, or new behavior or functionality.
1894
+ PATCH_TYPE = [
1895
+ # A patch which is not developed by the creators or maintainers of the software being patched. Refer to [https://en.wikipedia.org/wiki/Unofficial_patch](https://en.wikipedia.org/wiki/Unofficial_patch).
1896
+ "unofficial",
1897
+ # A patch which dynamically modifies runtime behavior. Refer to [https://en.wikipedia.org/wiki/Monkey_patch](https://en.wikipedia.org/wiki/Monkey_patch).
1898
+ "monkey",
1899
+ # A patch which takes code from a newer version of the software and applies it to older versions of the same software. Refer to [https://en.wikipedia.org/wiki/Backporting](https://en.wikipedia.org/wiki/Backporting).
1900
+ "backport",
1901
+ # A patch created by selectively applying commits from other versions or branches of the same software.
1902
+ "cherry-pick"
1903
+ ].freeze
1904
+
1905
+ # Phase - A pre-defined phase in the product lifecycle.
1906
+ PHASE = [
1907
+ # BOM produced early in the development lifecycle containing an inventory of components and services that are proposed or planned to be used. The inventory may need to be procured, retrieved, or resourced prior to use.
1908
+ "design",
1909
+ # BOM consisting of information obtained prior to a build process and may contain source files and development artifacts and manifests. The inventory may need to be resolved and retrieved prior to use.
1910
+ "pre-build",
1911
+ # BOM consisting of information obtained during a build process where component inventory is available for use. The precise versions of resolved components are usually available at this time as well as the provenance of where the components were retrieved from.
1912
+ "build",
1913
+ # BOM consisting of information obtained after a build process has completed and the resulting components(s) are available for further analysis. Built components may exist as the result of a CI/CD process, may have been installed or deployed to a system or device, and may need to be retrieved or extracted from the system or device.
1914
+ "post-build",
1915
+ # BOM produced that represents inventory that is running and operational. This may include staging or production environments and will generally encompass multiple SBOMs describing the applications and operating system, along with HBOMs describing the hardware that makes up the system. Operations Bill of Materials (OBOM) can provide full-stack inventory of runtime environments, configurations, and additional dependencies.
1916
+ "operations",
1917
+ # BOM consisting of information observed through network discovery providing point-in-time enumeration of embedded, on-premise, and cloud-native services such as server applications, connected devices, microservices, and serverless functions.
1918
+ "discovery",
1919
+ # BOM containing inventory that will be, or has been retired from operations.
1920
+ "decommission"
1921
+ ].freeze
1922
+
1923
+ # primitive - Cryptographic building blocks used in higher-level cryptographic systems and protocols. Primitives represent different cryptographic routines: deterministic random bit generators (drbg, e.g. CTR_DRBG from NIST SP800-90A-r1), message authentication codes (mac, e.g. HMAC-SHA-256), blockciphers (e.g. AES), streamciphers (e.g. Salsa20), signatures (e.g. ECDSA), hash functions (e.g. SHA-256), public-key encryption schemes (pke, e.g. RSA), extended output functions (xof, e.g. SHAKE256), key derivation functions (e.g. pbkdf2), key agreement algorithms (e.g. ECDH), key encapsulation mechanisms (e.g. ML-KEM), authenticated encryption (ae, e.g. AES-GCM) and the combination of multiple algorithms (combiner, e.g. SP800-56Cr2).
1924
+ PRIMITIVE = [
1925
+ # Deterministic Random Bit Generator (DRBG) is a type of pseudorandom number generator designed to produce a sequence of bits from an initial seed value. DRBGs are commonly used in cryptographic applications where reproducibility of random values is important.
1926
+ "drbg",
1927
+ # In cryptography, a Message Authentication Code (MAC) is information used for authenticating and integrity-checking a message.
1928
+ "mac",
1929
+ # A block cipher is a symmetric key algorithm that operates on fixed-size blocks of data. It encrypts or decrypts the data in block units, providing confidentiality. Block ciphers are widely used in various cryptographic modes and protocols for secure data transmission.
1930
+ "block-cipher",
1931
+ # A stream cipher is a symmetric key cipher where plaintext digits are combined with a pseudorandom cipher digit stream (keystream).
1932
+ "stream-cipher",
1933
+ # In cryptography, a signature is a digital representation of a message or data that proves its origin, identity, and integrity. Digital signatures are generated using cryptographic algorithms and are widely used for authentication and verification in secure communication.
1934
+ "signature",
1935
+ # A hash function is a mathematical algorithm that takes an input (or 'message') and produces a fixed-size string of characters, which is typically a hash value. Hash functions are commonly used in various cryptographic applications, including data integrity verification and password hashing.
1936
+ "hash",
1937
+ # Public Key Encryption (PKE) is a type of encryption that uses a pair of public and private keys for secure communication. The public key is used for encryption, while the private key is used for decryption. PKE is a fundamental component of public-key cryptography.
1938
+ "pke",
1939
+ # An XOF is an extendable output function that can take arbitrary input and creates a stream of output, up to a limit determined by the size of the internal state of the hash function that underlies the XOF.
1940
+ "xof",
1941
+ # A Key Derivation Function (KDF) derives key material from another source of entropy while preserving the entropy of the input.
1942
+ "kdf",
1943
+ # In cryptography, a key-agreement is a protocol whereby two or more parties agree on a cryptographic key in such a way that both influence the outcome.
1944
+ "key-agree",
1945
+ # A Key Encapsulation Mechanism (KEM) algorithm is a mechanism for transporting random keying material to a recipient using the recipient's public key.
1946
+ "kem",
1947
+ # Authenticated Encryption (AE) is a cryptographic process that provides both confidentiality and data integrity. It ensures that the encrypted data has not been tampered with and comes from a legitimate source. AE is commonly used in secure communication protocols.
1948
+ "ae",
1949
+ # A combiner aggregates many candidates for a cryptographic primitive and generates a new candidate for the same primitive.
1950
+ "combiner",
1951
+ # Another primitive type.
1952
+ "other",
1953
+ # The primitive is not known.
1954
+ "unknown"
1955
+ ].freeze
1956
+
1957
+ # Protocol Type - The concrete protocol type.
1958
+ PROTOCOL_TYPE = [
1959
+ # Transport Layer Security
1960
+ "tls",
1961
+ # Secure Shell
1962
+ "ssh",
1963
+ # Internet Protocol Security
1964
+ "ipsec",
1965
+ # Internet Key Exchange
1966
+ "ike",
1967
+ # Secure Socket Tunneling Protocol
1968
+ "sstp",
1969
+ # Wi-Fi Protected Access
1970
+ "wpa",
1971
+ # Another protocol type
1972
+ "other",
1973
+ # The protocol type is not known
1974
+ "unknown"
1975
+ ].freeze
1976
+
1977
+ # Related Crypto Material Type - The type for the related cryptographic material
1978
+ RELATED_CRYPTO_MATERIAL_TYPE = [
1979
+ # The confidential key of a key pair used in asymmetric cryptography.
1980
+ "private-key",
1981
+ # The non-confidential key of a key pair used in asymmetric cryptography.
1982
+ "public-key",
1983
+ # A key used to encrypt and decrypt messages in symmetric cryptography.
1984
+ "secret-key",
1985
+ # A piece of information, usually an octet string, which, when processed through a cryptographic algorithm, processes cryptographic data.
1986
+ "key",
1987
+ # The result of encryption performed on plaintext using an algorithm (or cipher).
1988
+ "ciphertext",
1989
+ # A cryptographic value that is calculated from the data and a key known only by the signer.
1990
+ "signature",
1991
+ # The output of the hash function.
1992
+ "digest",
1993
+ # A fixed-size random or pseudo-random value used as an input parameter for cryptographic algorithms.
1994
+ "initialization-vector",
1995
+ # A random or pseudo-random number that can only be used once in a cryptographic communication.
1996
+ "nonce",
1997
+ # The input to a pseudo-random number generator. Different seeds generate different pseudo-random sequences.
1998
+ "seed",
1999
+ # A value used in a cryptographic process, usually to ensure that the results of computations for one instance cannot be reused by an attacker.
2000
+ "salt",
2001
+ # A piece of data known only to the parties involved, in a secure communication.
2002
+ "shared-secret",
2003
+ # A message authentication code (MAC), sometimes known as an authentication tag, is a short piece of information used for authenticating and integrity-checking a message.
2004
+ "tag",
2005
+ # An unspecified collection of data with relevance to cryptographic activity.
2006
+ "additional-data",
2007
+ # A secret word, phrase, or sequence of characters used during authentication or authorization.
2008
+ "password",
2009
+ # Establishes the identity of a party to communication, usually in the form of cryptographic keys or passwords.
2010
+ "credential",
2011
+ # An object encapsulating a security identity.
2012
+ "token",
2013
+ # Another type of cryptographic asset.
2014
+ "other",
2015
+ # The type of cryptographic asset is not known.
2016
+ "unknown"
2017
+ ].freeze
2018
+
2019
+ # Related Crypto Material State - The key state as defined by NIST SP 800-57.
2020
+ RELATED_CRYPTO_MATERIAL_STATE = %w[
2021
+ pre-activation
2022
+ active
2023
+ suspended
2024
+ deactivated
2025
+ compromised
2026
+ destroyed
2027
+ ].freeze
2028
+
2029
+ # Response
2030
+ RESPONSE = [
2031
+ # Can not fix
2032
+ "can_not_fix",
2033
+ # Will not fix
2034
+ "will_not_fix",
2035
+ # Update to a different revision or release
2036
+ "update",
2037
+ # Revert to a previous revision or release
2038
+ "rollback",
2039
+ # There is a workaround available
2040
+ "workaround_available"
2041
+ ].freeze
2042
+
2043
+ # Component Scope - Specifies the scope of the component. If scope is not specified, 'required' scope SHOULD be assumed by the consumer of the BOM.
2044
+ SCOPE = [
2045
+ # The component is required for runtime
2046
+ "required",
2047
+ # The component is optional at runtime. Optional components are components that are not capable of being called due to them not being installed or otherwise accessible by any means. Components that are installed but due to configuration or other restrictions are prohibited from being called must be scoped as 'required'.
2048
+ "optional",
2049
+ # Components that are excluded provide the ability to document component usage for test and other non-runtime purposes. Excluded components are not reachable within a call graph at runtime.
2050
+ "excluded"
2051
+ ].freeze
2052
+
2053
+ # Method - Specifies the severity or risk scoring methodology or standard used.
2054
+ SCORE_METHOD = [
2055
+ # Common Vulnerability Scoring System v2.0
2056
+ "CVSSv2",
2057
+ # Common Vulnerability Scoring System v3.0
2058
+ "CVSSv3",
2059
+ # Common Vulnerability Scoring System v3.1
2060
+ "CVSSv31",
2061
+ # Common Vulnerability Scoring System v4.0
2062
+ "CVSSv4",
2063
+ # OWASP Risk Rating Methodology
2064
+ "OWASP",
2065
+ # Stakeholder Specific Vulnerability Categorization
2066
+ "SSVC",
2067
+ # Another severity or risk scoring methodology
2068
+ "other"
2069
+ ].freeze
2070
+
2071
+ # Severity - Textual representation of the severity of the vulnerability adopted by the analysis method. If the analysis method uses values other than what is provided, the user is expected to translate appropriately.
2072
+ SEVERITY = [
2073
+ # The severity is not known
2074
+ "unknown",
2075
+ # None
2076
+ "none",
2077
+ # Informational warning.
2078
+ "info",
2079
+ # Low severity
2080
+ "low",
2081
+ # Medium severity
2082
+ "medium",
2083
+ # High severity
2084
+ "high",
2085
+ # Critical severity
2086
+ "critical"
2087
+ ].freeze
2088
+
2089
+ SIGNATURE_ALGORITHM = %w[
2090
+ RS256
2091
+ RS384
2092
+ RS512
2093
+ PS256
2094
+ PS384
2095
+ PS512
2096
+ ES256
2097
+ ES384
2098
+ ES512
2099
+ Ed25519
2100
+ Ed448
2101
+ HS256
2102
+ HS384
2103
+ HS512
2104
+ ].freeze
2105
+
2106
+ SIGNATURE_KEY_TYPE = %w[
2107
+ EC
2108
+ OKP
2109
+ RSA
2110
+ ].freeze
2111
+
2112
+ SIGNATURE_EC_CRV = %w[
2113
+ P-256
2114
+ P-384
2115
+ P-521
2116
+ ].freeze
2117
+
2118
+ SIGNATURE_OKP_CRV = %w[
2119
+ Ed25519
2120
+ Ed448
2121
+ ].freeze
2122
+
2123
+ # Anonymous class from TaskType
2124
+ TASK_TYPE = [
2125
+ # A task that copies software or data used to accomplish other tasks in the workflow.
2126
+ "copy",
2127
+ # A task that clones a software repository into the workflow in order to retrieve its source code or data for use in a build step.
2128
+ "clone",
2129
+ # A task that checks source code for programmatic and stylistic errors.
2130
+ "lint",
2131
+ # A task that performs a scan against source code, or built or deployed components and services. Scans are typically run to gather or test for security vulnerabilities or policy compliance.
2132
+ "scan",
2133
+ # A task that merges changes or fixes into source code prior to a build step in the workflow.
2134
+ "merge",
2135
+ # A task that builds the source code, dependencies and/or data into an artifact that can be deployed to and executed on target systems.
2136
+ "build",
2137
+ # A task that verifies the functionality of a component or service.
2138
+ "test",
2139
+ # A task that delivers a built artifact to one or more target repositories or storage systems.
2140
+ "deliver",
2141
+ # A task that deploys a built artifact for execution on one or more target systems.
2142
+ "deploy",
2143
+ # A task that releases a built, versioned artifact to a target repository or distribution system.
2144
+ "release",
2145
+ # A task that cleans unnecessary tools, build artifacts and/or data from workflow storage.
2146
+ "clean",
2147
+ # A workflow task that does not match current task type definitions.
2148
+ "other"
2149
+ ].freeze
2150
+
2151
+ # Technique - The technique used in this method of analysis.
2152
+ TECHNIQUE = %w[
2153
+ source-code-analysis
2154
+ binary-analysis
2155
+ manifest-analysis
2156
+ ast-fingerprint
2157
+ hash-comparison
2158
+ instrumentation
2159
+ dynamic-analysis
2160
+ filename
2161
+ attestation
2162
+ other
2163
+ ].freeze
2164
+
2165
+ TRIGGER_TYPE = %w[
2166
+ manual
2167
+ api
2168
+ webhook
2169
+ scheduled
2170
+ ].freeze
2171
+
2172
+ VOLUME_MODE = %w[
2173
+ filesystem
2174
+ block
2175
+ ].freeze
2176
+ end
2177
+ end
2178
+ end