{"id":114,"date":"2023-05-03T09:28:00","date_gmt":"2023-05-03T09:28:00","guid":{"rendered":"https:\/\/cloudtechner.com\/blog\/?p=114"},"modified":"2024-06-13T11:08:03","modified_gmt":"2024-06-13T11:08:03","slug":"sbom-continuous-analysis-with-dependencytrack","status":"publish","type":"post","link":"https:\/\/cloudtechner.com\/blog\/sbom-continuous-analysis-with-dependencytrack\/","title":{"rendered":"SBOM \u2014 Continuous Analysis with DependencyTrack"},"content":{"rendered":"\n<p>Author : <a href=\"https:\/\/www.linkedin.com\/in\/sandeep070581\">Sandeep Bajpai<\/a>, Senior Architect<\/p>\n\n\n<div class=\"taxonomy-post_tag wp-block-post-terms\"><a href=\"https:\/\/cloudtechner.com\/blog\/tag\/operations\/\" rel=\"tag\">Operations<\/a><span class=\"wp-block-post-terms__separator\">, <\/span><a href=\"https:\/\/cloudtechner.com\/blog\/tag\/sbom\/\" rel=\"tag\">SBOM<\/a><span class=\"wp-block-post-terms__separator\">, <\/span><a href=\"https:\/\/cloudtechner.com\/blog\/tag\/software-bill-of-material\/\" rel=\"tag\">Software Bill of Material<\/a><span class=\"wp-block-post-terms__separator\">, <\/span><a href=\"https:\/\/cloudtechner.com\/blog\/tag\/software-inventory\/\" rel=\"tag\">Software Inventory<\/a><span class=\"wp-block-post-terms__separator\">, <\/span><a href=\"https:\/\/cloudtechner.com\/blog\/tag\/software-licenses\/\" rel=\"tag\">Software Licenses<\/a><span class=\"wp-block-post-terms__separator\">, <\/span><a href=\"https:\/\/cloudtechner.com\/blog\/tag\/software-supply-chain\/\" rel=\"tag\">Software Supply Chain<\/a><\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:1400\/1*OCbvKh5pO26VzWVmL0neGg.png\" alt=\"\"\/><figcaption class=\"wp-element-caption\">Dependency-Track<\/figcaption><\/figure>\n\n\n\n<p id=\"d44f\"><strong>\u201cWondering why are we here again to discuss SBOM ?\u201d<\/strong><\/p>\n\n\n\n<p id=\"9765\">Till now we have covered half of the journey towards implementing the SBOM in our environment. In case you missed my previous blog \u2014 Please refer \u201c<a href=\"https:\/\/medium.com\/cloudtechner\/sbom-a-way-to-increase-security-transparency-visibility-into-software-supply-chain-aaf5df1da5ed\">SBOM \u2014 A Way to increase Security, Transparency &amp; Visibility into Software Supply chain<\/a>\u201d<\/p>\n\n\n\n<p id=\"2682\">Your SBOM is ready \u2014 Whats Next ? Lets Inject it into \u201cContinuous SBOM Analysis Platform\u201c , One of the them is&nbsp;<a href=\"https:\/\/dependencytrack.org\/\" rel=\"noreferrer noopener\" target=\"_blank\">Dependency Track<\/a>.<\/p>\n\n\n\n<p id=\"6ddc\"><strong>\u201cWhy Continuous Analysis of SBOM ?\u201d<\/strong><\/p>\n\n\n\n<p id=\"e09a\">Continuous Analysis refers to the practice of continuously monitoring, analyzing, and improving software code to ensure its quality, security, and reliability. This involves using a combination of automated tools and manual reviews to identify issues, vulnerabilities, and bugs in the code, and then taking corrective action to fix them.<\/p>\n\n\n\n<p id=\"68cb\">By combining Continuous Analysis with SBOM, organizations can improve their software security posture and reduce the risk of cyber attacks. Continuous Analysis can help identify vulnerabilities in software components, while SBOM provides a comprehensive inventory of all software components, making it easier to track and manage them.<\/p>\n\n\n\n<p id=\"48bb\"><strong>\u201cWhat is Dependency-Track ?\u201d<\/strong><\/p>\n\n\n\n<p id=\"e363\">Dependency-Track is an open-source software composition analysis (SCA) tool that helps organizations identify and manage third-party software components and dependencies.<\/p>\n\n\n\n<p id=\"e446\">Dependency-Track uses a combination of automated analysis, vulnerability intelligence, and real-time monitoring to provide comprehensive visibility into the software supply chain.<\/p>\n\n\n\n<p id=\"8cd4\">Dependency-Track integrates with popular software development and DevOps tools, such as Jira, GitLab, Jenkins, and SonarQube, allowing organizations to incorporate SCA into their existing software development workflows.<\/p>\n\n\n\n<p id=\"266f\"><strong>\u201cLets Setup Dependency-Track environment\u201d<\/strong><\/p>\n\n\n\n<p id=\"0d3c\"><strong>Installation<\/strong>&nbsp;is easy and simple. Just download the Docker Compose file and run the Docker Compose command.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">curl -LO https:\/\/dependencytrack.org\/docker-compose.yml<br>docker-compose up -d<\/pre>\n\n\n\n<p id=\"7b2b\"><strong>Login<\/strong>&nbsp;to&nbsp;<a href=\"http:\/\/localhost:8080\/dashboard\" rel=\"noreferrer noopener\" target=\"_blank\">http:\/\/abc.company.com:8080\/dashboard<\/a>&nbsp;using Username \u201cadmin\u201d and Password \u201cadmin\u201d , Reset the admin user password and you are all set to start the SBOM analysis.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:1400\/1*4Z7eqW-nvV_v2B031zrb0A.png\" alt=\"\"\/><figcaption class=\"wp-element-caption\">Dependency-Track Home Screen<\/figcaption><\/figure>\n\n\n\n<p id=\"4744\"><strong>Configure<\/strong>&nbsp;your Dependency-Track environment based on your needs. By default Internal Analyser,<a href=\"https:\/\/nvd.nist.gov\/\" rel=\"noreferrer noopener\" target=\"_blank\">National Vulnerability Database&nbsp;<\/a>(NVD Vulnerability Sources and Repositories (<br>Python , Nuget , CPAN, etc ) are enabled to perfom the scan and analysis.<\/p>\n\n\n\n<p id=\"9671\"><strong>\u201cLets inject our first SBOM into the Dependency-Track environment\u201d<\/strong><\/p>\n\n\n\n<p id=\"722f\">In our previous blog topic we were able to generate the SBOM XML file in cyclone-dx format. We will inject the same file into our Depdency-Track environment. Follow the below steps :<\/p>\n\n\n\n<p id=\"5334\">Login to \u201c<a href=\"http:\/\/localhost:8080\/projects\" rel=\"noreferrer noopener\" target=\"_blank\">http:\/\/abc.company.com:8080\/projects<\/a>\u201d and Click on \u201cCreate Project\u201d<\/p>\n\n\n\n<p id=\"a75e\">Project Name -&gt; \u201cMy-First-Project\u201d<\/p>\n\n\n\n<p id=\"d43e\">Version -&gt; \u201c1.0\u201d<\/p>\n\n\n\n<p id=\"1c25\">Classifier -&gt; \u201cOperating System\u201d<\/p>\n\n\n\n<p id=\"4624\">Description -&gt; \u201cAs your wish\u201d<\/p>\n\n\n\n<p id=\"6ab8\">Click Create and \u201cMy-First-Project\u201d Project is created. Now we will Upload the SBOM Files under this project for analysis.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:1400\/1*PecJkzaqDIOpA3OGnVwQQw.png\" alt=\"\"\/><figcaption class=\"wp-element-caption\">Create Project<\/figcaption><\/figure>\n\n\n\n<p id=\"2655\">Click on \u201cMy-First-Project\u201d.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:1400\/1*Pyqd_vUzGD6HkasXQmQdCg.png\" alt=\"\"\/><figcaption class=\"wp-element-caption\">Choose Project<\/figcaption><\/figure>\n\n\n\n<p id=\"df67\">Click on \u201cComponents\u201d Tab and Choose to Upload BOM.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:1400\/1*TA-WmtxVu-TtbdSU6xpfsw.png\" alt=\"\"\/><figcaption class=\"wp-element-caption\">Upload BOM<\/figcaption><\/figure>\n\n\n\n<p id=\"8de7\">You have done a-lot , Let Dependency-Track do some work . Take A Tea Break and back in 5 minutes \ud83d\ude09<\/p>\n\n\n\n<p id=\"663d\">Go Back to your Project Dashboard Page , Click on \u201cMy-First-Projec\u201d and you can see the updated Project information. In Our case its indicating some High and Medium vulnerability.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:1400\/1*0VcwgMu71S3PlG4zA7LjJg.png\" alt=\"\"\/><figcaption class=\"wp-element-caption\">Project-Analysis<\/figcaption><\/figure>\n\n\n\n<p id=\"c45b\">Now you can further navigate to \u201cAudit Vulnerability\u201d Tab and collect the detailed Analysis around the reported vulnerability , risk , severity and possible fix as well.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:1400\/1*U2TuQbeVgiIcNYpF2T6TEA.png\" alt=\"\"\/><figcaption class=\"wp-element-caption\">Audit Vulnerability<\/figcaption><\/figure>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p id=\"b0b9\"><strong>Conclusion<\/strong>&nbsp;\u2014 Overall, Dependency-Track is a powerful SCA tool that can help organisations improve their software security posture and mitigate risks associated with third-party software components and dependencies.<\/p>\n<\/blockquote>\n\n\n\n<p id=\"303c\">Dependency-Track provides an easy and effective API Support \u2014 In Our next blog of this series we will Setup an automated SBOM Generation , Injection and Notification Framework.<\/p>\n\n\n\n<p id=\"3785\"><em>Till then Bye\u2026\u2026 !<\/em><\/p>\n\n\n\t<div id=\"respond\" class=\"comment-respond wp-block-post-comments-form\">\n\t\t<h3 id=\"reply-title\" class=\"comment-reply-title\">Leave a Reply <small><a rel=\"nofollow\" id=\"cancel-comment-reply-link\" href=\"\/blog\/wp-json\/wp\/v2\/posts\/114#respond\" style=\"display:none;\">Cancel reply<\/a><\/small><\/h3><form action=\"https:\/\/cloudtechner.com\/blog\/wp-comments-post.php\" method=\"post\" id=\"commentform\" class=\"comment-form\"><p class=\"comment-notes\"><span id=\"email-notes\">Your email address will not be published.<\/span> <span class=\"required-field-message\">Required fields are marked <span class=\"required\">*<\/span><\/span><\/p><p class=\"comment-form-comment\"><label for=\"comment\">Comment <span class=\"required\">*<\/span><\/label> <textarea id=\"comment\" name=\"comment\" cols=\"45\" rows=\"8\" maxlength=\"65525\" required=\"required\"><\/textarea><\/p><p class=\"comment-form-author\"><label for=\"author\">Name <span class=\"required\">*<\/span><\/label> <input id=\"author\" name=\"author\" type=\"text\" value=\"\" size=\"30\" maxlength=\"245\" autocomplete=\"name\" required=\"required\" \/><\/p>\n<p class=\"comment-form-email\"><label for=\"email\">Email <span class=\"required\">*<\/span><\/label> <input id=\"email\" name=\"email\" type=\"text\" value=\"\" size=\"30\" maxlength=\"100\" aria-describedby=\"email-notes\" autocomplete=\"email\" required=\"required\" \/><\/p>\n<p class=\"comment-form-url\"><label for=\"url\">Website<\/label> <input id=\"url\" name=\"url\" type=\"text\" value=\"\" size=\"30\" maxlength=\"200\" autocomplete=\"url\" \/><\/p>\n<p class=\"comment-form-cookies-consent\"><input id=\"wp-comment-cookies-consent\" name=\"wp-comment-cookies-consent\" type=\"checkbox\" value=\"yes\" \/> <label for=\"wp-comment-cookies-consent\">Save my name, email, and website in this browser for the next time I comment.<\/label><\/p>\n<p class=\"form-submit\"><span class=\"bloghash-submit-form-button\"><input name=\"submit\" type=\"submit\" id=\"submit\" class=\"submit\" value=\"Post Comment\" \/><\/span> <input type='hidden' name='comment_post_ID' value='114' id='comment_post_ID' \/>\n<input type='hidden' name='comment_parent' id='comment_parent' value='0' \/>\n<\/p><\/form>\t<\/div><!-- #respond -->\n\t\n\n\n<p><a href=\"https:\/\/medium.com\/@sandeep_83150?source=post_page-----59f759af6472--------------------------------\"><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Author : Sandeep Bajpai, Senior Architect \u201cWondering why are we here again to discuss SBOM ?\u201d Till now we have covered half of the journey towards implementing the SBOM in&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[50,49],"tags":[74,44,45,47,46,48],"_links":{"self":[{"href":"https:\/\/cloudtechner.com\/blog\/wp-json\/wp\/v2\/posts\/114"}],"collection":[{"href":"https:\/\/cloudtechner.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cloudtechner.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cloudtechner.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cloudtechner.com\/blog\/wp-json\/wp\/v2\/comments?post=114"}],"version-history":[{"count":2,"href":"https:\/\/cloudtechner.com\/blog\/wp-json\/wp\/v2\/posts\/114\/revisions"}],"predecessor-version":[{"id":151,"href":"https:\/\/cloudtechner.com\/blog\/wp-json\/wp\/v2\/posts\/114\/revisions\/151"}],"wp:attachment":[{"href":"https:\/\/cloudtechner.com\/blog\/wp-json\/wp\/v2\/media?parent=114"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cloudtechner.com\/blog\/wp-json\/wp\/v2\/categories?post=114"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cloudtechner.com\/blog\/wp-json\/wp\/v2\/tags?post=114"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}