UNPKG

@appthreat/cdx-proto

Version:

Library to serialize/deserialize CycloneDX BOM with protocol buffers

33 lines (32 loc) 22.4 kB
<!DOCTYPE html><html class="default" lang="en" data-base="../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>Bom | cdx-proto</title><meta name="description" content="Documentation for cdx-proto"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="../index.html" class="title">cdx-proto</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="" aria-current="page">Bom</a></li></ul><h1>Type Alias Bom</h1></div><div class="tsd-signature"><span class="tsd-kind-type-alias">Bom</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Message</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">&quot;cyclonedx.v1_6.Bom&quot;</span><span class="tsd-signature-symbol">&gt;</span> <span class="tsd-signature-symbol">&amp;</span> <span class="tsd-signature-symbol">{</span><br/>    <span class="tsd-kind-property">annotations</span><span class="tsd-signature-symbol">:</span> <a href="Annotation.html" class="tsd-signature-type tsd-kind-type-alias">Annotation</a><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">;</span><br/>    <span class="tsd-kind-property">components</span><span class="tsd-signature-symbol">:</span> <a href="Component.html" class="tsd-signature-type tsd-kind-type-alias">Component</a><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">;</span><br/>    <span class="tsd-kind-property">compositions</span><span class="tsd-signature-symbol">:</span> <a href="Composition.html" class="tsd-signature-type tsd-kind-type-alias">Composition</a><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">;</span><br/>    <span class="tsd-kind-property">declarations</span><span class="tsd-signature-symbol">:</span> <a href="Declarations.html" class="tsd-signature-type tsd-kind-type-alias">Declarations</a><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">;</span><br/>    <span class="tsd-kind-property">definitions</span><span class="tsd-signature-symbol">:</span> <a href="Definition.html" class="tsd-signature-type tsd-kind-type-alias">Definition</a><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">;</span><br/>    <span class="tsd-kind-property">dependencies</span><span class="tsd-signature-symbol">:</span> <a href="Dependency.html" class="tsd-signature-type tsd-kind-type-alias">Dependency</a><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">;</span><br/>    <span class="tsd-kind-property">externalReferences</span><span class="tsd-signature-symbol">:</span> <a href="ExternalReference.html" class="tsd-signature-type tsd-kind-type-alias">ExternalReference</a><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">;</span><br/>    <span class="tsd-kind-property">formulation</span><span class="tsd-signature-symbol">:</span> <a href="Formula.html" class="tsd-signature-type tsd-kind-type-alias">Formula</a><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">;</span><br/>    <span class="tsd-kind-property">metadata</span><span class="tsd-signature-symbol">?:</span> <a href="Metadata.html" class="tsd-signature-type tsd-kind-type-alias">Metadata</a><span class="tsd-signature-symbol">;</span><br/>    <span class="tsd-kind-property">properties</span><span class="tsd-signature-symbol">:</span> <a href="Property.html" class="tsd-signature-type tsd-kind-type-alias">Property</a><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">;</span><br/>    <span class="tsd-kind-property">serialNumber</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <span class="tsd-kind-property">services</span><span class="tsd-signature-symbol">:</span> <a href="Service.html" class="tsd-signature-type tsd-kind-type-alias">Service</a><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">;</span><br/>    <span class="tsd-kind-property">specVersion</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <span class="tsd-kind-property">version</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">;</span><br/>    <span class="tsd-kind-property">vulnerabilities</span><span class="tsd-signature-symbol">:</span> <a href="Vulnerability.html" class="tsd-signature-type tsd-kind-type-alias">Vulnerability</a><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">;</span><br/><span class="tsd-signature-symbol">}</span></div><div class="tsd-type-declaration"><h4>Type declaration</h4><ul class="tsd-parameters"><li class="tsd-parameter"><h5><span class="tsd-kind-property">annotations</span><span class="tsd-signature-symbol">: </span><a href="Annotation.html" class="tsd-signature-type tsd-kind-type-alias">Annotation</a><span class="tsd-signature-symbol">[]</span></h5><div class="tsd-comment tsd-typography"><p>Comments made by people, organizations, or tools about any object with a bom-ref, such as components, services, vulnerabilities, or the BOM itself. Unlike inventory information, annotations may contain opinion or commentary from various stakeholders.</p> </div><div class="tsd-comment tsd-typography"><div class="tsd-tag-generated"><h4 class="tsd-anchor-link" id="generated">Generated<a href="#generated" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p>from field: repeated cyclonedx.v1_6.Annotation annotations = 11;</p> </div></div></li><li class="tsd-parameter"><h5><span class="tsd-kind-property">components</span><span class="tsd-signature-symbol">: </span><a href="Component.html" class="tsd-signature-type tsd-kind-type-alias">Component</a><span class="tsd-signature-symbol">[]</span></h5><div class="tsd-comment tsd-typography"><p>Provides the ability to document a list of components.</p> </div><div class="tsd-comment tsd-typography"><div class="tsd-tag-generated"><h4 class="tsd-anchor-link" id="generated-1">Generated<a href="#generated-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p>from field: repeated cyclonedx.v1_6.Component components = 5;</p> </div></div></li><li class="tsd-parameter"><h5><span class="tsd-kind-property">compositions</span><span class="tsd-signature-symbol">: </span><a href="Composition.html" class="tsd-signature-type tsd-kind-type-alias">Composition</a><span class="tsd-signature-symbol">[]</span></h5><div class="tsd-comment tsd-typography"><p>Compositions describe constituent parts (including components, services, and dependency relationships) and their completeness. The completeness of vulnerabilities expressed in a BOM may also be described.</p> </div><div class="tsd-comment tsd-typography"><div class="tsd-tag-generated"><h4 class="tsd-anchor-link" id="generated-2">Generated<a href="#generated-2" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p>from field: repeated cyclonedx.v1_6.Composition compositions = 9;</p> </div></div></li><li class="tsd-parameter"><h5><span class="tsd-kind-property">declarations</span><span class="tsd-signature-symbol">: </span><a href="Declarations.html" class="tsd-signature-type tsd-kind-type-alias">Declarations</a><span class="tsd-signature-symbol">[]</span></h5><div class="tsd-comment tsd-typography"><p>The list of declarations which describe the conformance to standards. Each declaration may include attestations, claims, and evidence.</p> </div><div class="tsd-comment tsd-typography"><div class="tsd-tag-generated"><h4 class="tsd-anchor-link" id="generated-3">Generated<a href="#generated-3" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p>from field: repeated cyclonedx.v1_6.Declarations declarations = 14;</p> </div></div></li><li class="tsd-parameter"><h5><span class="tsd-kind-property">definitions</span><span class="tsd-signature-symbol">: </span><a href="Definition.html" class="tsd-signature-type tsd-kind-type-alias">Definition</a><span class="tsd-signature-symbol">[]</span></h5><div class="tsd-comment tsd-typography"><p>A collection of reusable objects that are defined and may be used elsewhere in the BOM.</p> </div><div class="tsd-comment tsd-typography"><div class="tsd-tag-generated"><h4 class="tsd-anchor-link" id="generated-4">Generated<a href="#generated-4" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p>from field: repeated cyclonedx.v1_6.Definition definitions = 15;</p> </div></div></li><li class="tsd-parameter"><h5><span class="tsd-kind-property">dependencies</span><span class="tsd-signature-symbol">: </span><a href="Dependency.html" class="tsd-signature-type tsd-kind-type-alias">Dependency</a><span class="tsd-signature-symbol">[]</span></h5><div class="tsd-comment tsd-typography"><p>Provides the ability to document dependency relationships.</p> </div><div class="tsd-comment tsd-typography"><div class="tsd-tag-generated"><h4 class="tsd-anchor-link" id="generated-5">Generated<a href="#generated-5" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p>from field: repeated cyclonedx.v1_6.Dependency dependencies = 8;</p> </div></div></li><li class="tsd-parameter"><h5><span class="tsd-kind-property">externalReferences</span><span class="tsd-signature-symbol">: </span><a href="ExternalReference.html" class="tsd-signature-type tsd-kind-type-alias">ExternalReference</a><span class="tsd-signature-symbol">[]</span></h5><div class="tsd-comment tsd-typography"><p>Provides the ability to document external references related to the BOM or to the project the BOM describes.</p> </div><div class="tsd-comment tsd-typography"><div class="tsd-tag-generated"><h4 class="tsd-anchor-link" id="generated-6">Generated<a href="#generated-6" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p>from field: repeated cyclonedx.v1_6.ExternalReference external_references = 7;</p> </div></div></li><li class="tsd-parameter"><h5><span class="tsd-kind-property">formulation</span><span class="tsd-signature-symbol">: </span><a href="Formula.html" class="tsd-signature-type tsd-kind-type-alias">Formula</a><span class="tsd-signature-symbol">[]</span></h5><div class="tsd-comment tsd-typography"><p>Describes how a component or service was manufactured or deployed. This is achieved through the use of formulas, workflows, tasks, and steps, which declare the precise steps to reproduce along with the observed formulas describing the steps which transpired in the manufacturing process.</p> </div><div class="tsd-comment tsd-typography"><div class="tsd-tag-generated"><h4 class="tsd-anchor-link" id="generated-7">Generated<a href="#generated-7" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p>from field: repeated cyclonedx.v1_6.Formula formulation = 13;</p> </div></div></li><li class="tsd-parameter"><h5><code class="tsd-tag">Optional</code><span class="tsd-kind-property">metadata</span><span class="tsd-signature-symbol">?: </span><a href="Metadata.html" class="tsd-signature-type tsd-kind-type-alias">Metadata</a></h5><div class="tsd-comment tsd-typography"><p>Provides additional information about a BOM.</p> </div><div class="tsd-comment tsd-typography"><div class="tsd-tag-generated"><h4 class="tsd-anchor-link" id="generated-8">Generated<a href="#generated-8" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p>from field: optional cyclonedx.v1_6.Metadata metadata = 4;</p> </div></div></li><li class="tsd-parameter"><h5><span class="tsd-kind-property">properties</span><span class="tsd-signature-symbol">: </span><a href="Property.html" class="tsd-signature-type tsd-kind-type-alias">Property</a><span class="tsd-signature-symbol">[]</span></h5><div class="tsd-comment tsd-typography"><p>Specifies optional, custom, properties</p> </div><div class="tsd-comment tsd-typography"><div class="tsd-tag-generated"><h4 class="tsd-anchor-link" id="generated-9">Generated<a href="#generated-9" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p>from field: repeated cyclonedx.v1_6.Property properties = 12;</p> </div></div></li><li class="tsd-parameter"><h5><code class="tsd-tag">Optional</code><span class="tsd-kind-property">serialNumber</span><span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span></h5><div class="tsd-comment tsd-typography"><p>Every BOM generated should have a unique serial number, even if the contents of the BOM being generated have not changed over time. The process or tool responsible for creating the BOM should create random UUID's for every BOM generated.</p> </div><div class="tsd-comment tsd-typography"><div class="tsd-tag-generated"><h4 class="tsd-anchor-link" id="generated-10">Generated<a href="#generated-10" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p>from field: optional string serial_number = 3;</p> </div></div></li><li class="tsd-parameter"><h5><span class="tsd-kind-property">services</span><span class="tsd-signature-symbol">: </span><a href="Service.html" class="tsd-signature-type tsd-kind-type-alias">Service</a><span class="tsd-signature-symbol">[]</span></h5><div class="tsd-comment tsd-typography"><p>Provides the ability to document a list of external services.</p> </div><div class="tsd-comment tsd-typography"><div class="tsd-tag-generated"><h4 class="tsd-anchor-link" id="generated-11">Generated<a href="#generated-11" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p>from field: repeated cyclonedx.v1_6.Service services = 6;</p> </div></div></li><li class="tsd-parameter"><h5><span class="tsd-kind-property">specVersion</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></h5><div class="tsd-comment tsd-typography"><p>The version of the CycloneDX specification a BOM is written to (starting at version 1.3)</p> </div><div class="tsd-comment tsd-typography"><div class="tsd-tag-generated"><h4 class="tsd-anchor-link" id="generated-12">Generated<a href="#generated-12" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p>from field: string spec_version = 1;</p> </div></div></li><li class="tsd-parameter"><h5><code class="tsd-tag">Optional</code><span class="tsd-kind-property">version</span><span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">number</span></h5><div class="tsd-comment tsd-typography"><p>The version allows component publishers/authors to make changes to existing BOMs to update various aspects of the document such as description or licenses. When a system is presented with multiple BOMs for the same component, the system should use the most recent version of the BOM. The default version is '1' and should be incremented for each version of the BOM that is published. Each version of a component should have a unique BOM and if no changes are made to the BOMs, then each BOM will have a version of '1'.</p> </div><div class="tsd-comment tsd-typography"><div class="tsd-tag-generated"><h4 class="tsd-anchor-link" id="generated-13">Generated<a href="#generated-13" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p>from field: optional int32 version = 2;</p> </div></div></li><li class="tsd-parameter"><h5><span class="tsd-kind-property">vulnerabilities</span><span class="tsd-signature-symbol">: </span><a href="Vulnerability.html" class="tsd-signature-type tsd-kind-type-alias">Vulnerability</a><span class="tsd-signature-symbol">[]</span></h5><div class="tsd-comment tsd-typography"><p>Vulnerabilities identified in components or services.</p> </div><div class="tsd-comment tsd-typography"><div class="tsd-tag-generated"><h4 class="tsd-anchor-link" id="generated-14">Generated<a href="#generated-14" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p>from field: repeated cyclonedx.v1_6.Vulnerability vulnerabilities = 10;</p> </div></div></li></ul></div><div class="tsd-comment tsd-typography"><div class="tsd-tag-generated"><h4 class="tsd-anchor-link" id="generated-15">Generated<a href="#generated-15" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p>from message cyclonedx.v1_6.Bom</p> </div></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/AppThreat/cdx-proto/blob/ee0eb327d1a2138d9d5ffcf4f868b93ffd2f7190/source/lib/bom-1.6_pb.ts#L55">bom-1.6_pb.ts:55</a></li></ul></aside></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">cdx-proto</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>