1<!DOCTYPE html> 2<html lang="en"> 3 <head> 4 <meta charset="utf-8" /> 5 <meta http-equiv="X-UA-Compatible" content="IE=edge" /> 6 7 <title>Open-source components and their dir... | Blog of Shehan</title> 8 <meta name="HandheldFriendly" content="True" /> 9 <meta name="viewport" content="width=device-width, initial-scale=1.0" /> 10 11 <link rel="preload" href="/blog/assets/css/app.css?v=cdbe8c64a5" as="style" /> 12 <link rel="preload" href="/blog/assets/js/manifest.js?v=cdbe8c64a5" as="script" /> 13 <link rel="preload" href="/blog/assets/js/vendor.js?v=cdbe8c64a5" as="script" /> 14 <link rel="preload" href="/blog/assets/js/app.js?v=cdbe8c64a5" as="script" /> 15 16 <link rel="preload" href="/blog/assets/css/post.css?v=cdbe8c64a5" as="style" /> 17 <link rel="preload" href="/blog/assets/js/post.js?v=cdbe8c64a5" as="script" /> 18 19 20 <style> 21 /* These font-faces are here to make fonts work if the Ghost instance is installed in a subdirectory */ 22 23 /* source-sans-pro-regular */ 24 @font-face { 25 font-family: 'Source Sans Pro'; 26 font-style: normal; 27 font-weight: 400; 28 font-display: swap; 29 src: local('SourceSansPro-Regular'), 30 url("/blog/assets/fonts/source-sans-pro/latin/source-sans-pro-regular.woff2?v=cdbe8c64a5") format('woff2'), 31 url("/blog/assets/fonts/source-sans-pro/latin/source-sans-pro-regular.woff?v=cdbe8c64a5") format('woff'); 32 } 33 34 /* source-sans-pro-600 */ 35 @font-face { 36 font-family: 'Source Sans Pro'; 37 font-style: normal; 38 font-weight: 600; 39 font-display: swap; 40 src: local('SourceSansPro-SemiBold'), 41 url("/blog/assets/fonts/source-sans-pro/latin/source-sans-pro-600.woff2?v=cdbe8c64a5") format('woff2'), 42 url("/blog/assets/fonts/source-sans-pro/latin/source-sans-pro-600.woff?v=cdbe8c64a5") format('woff'); 43 } 44 45 /* source-sans-pro-700 */ 46 @font-face { 47 font-family: 'Source Sans Pro'; 48 font-style: normal; 49 font-weight: 700; 50 font-display: swap; 51 src: local('SourceSansPro-Bold'), 52 url("/blog/assets/fonts/source-sans-pro/latin/source-sans-pro-700.woff2?v=cdbe8c64a5") format('woff2'), 53 url("/blog/assets/fonts/source-sans-pro/latin/source-sans-pro-700.woff?v=cdbe8c64a5") format('woff'); 54 } 55 56 /* iconmoon */ 57 @font-face { 58 font-family: 'icomoon'; 59 font-weight: normal; 60 font-style: normal; 61 font-display: swap; 62 src: url("/blog/assets/fonts/icomoon/icomoon.eot?101fc3?v=cdbe8c64a5"); 63 src: url("/blog/assets/fonts/icomoon/icomoon.eot?101fc3?v=cdbe8c64a5#iefix") format('embedded-opentype'), 64 url("/blog/assets/fonts/icomoon/icomoon.ttf?101fc3?v=cdbe8c64a5") format('truetype'), 65 url("/blog/assets/fonts/icomoon/icomoon.woff?101fc3?v=cdbe8c64a5") format('woff'), 66 url("/blog/assets/fonts/icomoon/icomoon.svg?101fc3?v=cdbe8c64a5#icomoon") format('svg'); 67 } 68 </style> 69 70 <link rel="stylesheet" type="text/css" href="/blog/assets/css/app.css?v=cdbe8c64a5" media="screen" /> 71 72 <link rel="stylesheet" type="text/css" href="/blog/assets/css/post.css?v=cdbe8c64a5" media="screen" /> 73 74 75 76 77 <meta name="description" content="Open-source components are becoming major building blocks of the application economy. The software giants have moved into the open-source..."> 78 <link rel="icon" href="https://shehansanjula.github.io/blog/content/images/size/w256h256/2021/07/shehan_logo_60px-3.png" type="image/png"> 79 <link rel="canonical" href="https://shehansanjula.github.io/blog/open-source-components-and-their-direction-towards-the-future-against-cyber-security-aspects/"> 80 <meta name="referrer" content="no-referrer-when-downgrade"> 81 82 <meta property="og:site_name" content="Blog of Shehan"> 83 <meta property="og:type" content="article"> 84 <meta property="og:title" content="Open-source components and their... | Blog of Shehan"> 85 <meta property="og:description" content="Open-source components are becoming major building blocks of the application economy. The softw
85are giants have moved into the open-source..."> 86 <meta property="og:url" content="https://shehansanjula.github.io/blog/open-source-components-and-their-direction-towards-the-future-against-cyber-security-aspects/"> 87 <meta property="og:image" content="https://shehansanjula.github.io/blog/content/images/2021/08/article-1-6.png"> 88 <meta property="article:published_time" content="2021-08-22T10:30:00.000Z"> 89 <meta property="article:modified_time" content="2023-03-06T05:25:21.000Z"> 90 <meta property="article:tag" content="Open-source Articles"> 91 <meta property="article:tag" content="Shehan Sanjula"> 92 <meta property="article:tag" content="Cybersecurity"> 93 94 <meta property="article:publisher" content="https://www.facebook.com/shehansanjula66"> 95 <meta property="article:author" content="https://www.facebook.com/shehansanjula66"> 96 <meta name="twitter:card" content="summary_large_image"> 97 <meta name="twitter:title" content="Open-source components and their direct... | Blog of Shehan"> 98 <meta name="twitter:description" content="Open-source components are becoming major building blocks of the application economy. The software giants have moved into the open-source..."> 99 <meta name="twitter:url" content="https://shehansanjula.github.io/blog/open-source-components-and-their-direction-towards-the-future-against-cyber-security-aspects/"> 100 <meta name="twitter:image" content="https://shehansanjula.github.io/blog/content/images/2021/08/article-1-6.png"> 101 <meta name="twitter:label1" content="Written by"> 102 <meta name="twitter:data1" content="Shehan Sanjula"> 103 <meta name="twitter:label2" content="Filed under"> 104 <meta name="twitter:data2" content="Open-source Articles, Shehan Sanjula, Cybersecurity"> 105 <meta name="twitter:site" content="@ShehanSanjula1"> 106 <meta name="twitter:creator" content="@ShehanSanjula1"> 107 <meta property="og:image:width" content="1000"> 108 <meta property="og:image:height" content="539"> 109 110
110<script type="application/ld+json"> 111{ 112 "@context": "https://schema.org", 113 "@type": "Article", 114 "publisher": { 115 "@type": "Organization", 116 "name": "Blog of Shehan", 117 "url": "https://shehansanjula.github.io/blog/", 118 "logo": { 119 "@type": "ImageObject", 120 "url": "https://shehansanjula.github.io/blog/content/images/2021/07/shehan_logo_600_72px-1.png" 121 } 122 }, 123 "author": { 124 "@type": "Person", 125 "name": "Shehan Sanjula", 126 "image": { 127 "@type": "ImageObject", 128 "url": "https://shehansanjula.github.io/blog/content/images/2023/06/Shehan-Sanjula.jpg", 129 "width": 1200, 130 "height": 1247 131 }, 132 "url": "https://shehansanjula.github.io/blog/author/shehansanjula/", 133 "sameAs": [ 134 "https://shehansanjula.github.io", 135 "https://www.facebook.com/shehansanjula66", 136 "https://twitter.com/ShehanSanjula1" 137 ] 138 }, 139 "headline": "Open-source components and their dir... | Blog of Shehan", 140 "url": "https://shehansanjula.github.io/blog/open-source-components-and-their-direction-towards-the-future-against-cyber-security-aspects/", 141 "datePublished": "2021-08-22T10:30:00.000Z", 142 "dateModified": "2023-03-06T05:25:21.000Z", 143 "image": { 144 "@type": "ImageObject", 145 "url": "https://shehansanjula.github.io/blog/content/images/2021/08/article-1-6.png", 146 "width": 1000, 147 "height": 539 148 },
149 "keywords": "Open-source Articles, Shehan Sanjula, Cybersecurity", 150 "description": "Open-source components are becoming major building blocks of the application economy. The software giants have moved into the open-source community in ways that were never previously imaginable. Microsoft loves Linux, IBM bought Red Hat, Oracle became the steward of the open-source Java platform and language⦠the list goes on. On the top of this ladder, companies like Google, Adobe, Oracle, Microsoft are some of the biggest supporters of open-source software. They have contributed to a range of ", 151 "mainEntityOfPage": "https://shehansanjula.github.io/blog/open-source-components-and-their-direction-towards-the-future-against-cyber-security-aspects/" 152} 153 </script>
153 154 155 <meta name="generator" content="Ghost 5.85"> 156 <link rel="alternate" type="application/rss+xml" title="Blog of Shehan" href="https://shehansanjula.github.io/blog/rss/"> 157 158
158<script defer src="https://cdn.jsdelivr.net/ghost/sodo-search@~1.1/umd/sodo-search.min.js" data-key="7fb26fe09682dc4d27f03ee2ef" data-styles="https://cdn.jsdelivr.net/ghost/sodo-search@~1.1/umd/main.css" data-sodo-search="https://shehansanjula.github.io/blog/" crossorigin="anonymous"></script>
158 159 160 <link href="https://shehansanjula.github.io/blog/webmentions/receive/" rel="webmention"> 161 <!-- link tag --> 162<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/themes/prism-tomorrow.min.css" integrity="sha512-vswe+cgvic/XBoF1OcM/TeJ2FW0OofqAVdCZiEYkd6dwGXthvkSFWOoGGJgS2CW70VK5dQM5Oh+7ne47s74VTg==" crossorigin="anonymous" referrerpolicy="no-referrer" /> 163<!-- line_numbers --> 164<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/plugins/line-numbers/prism-line-numbers.min.css" integrity="sha512-cbQXwDFK7lj2Fqfkuxbo5iD1dSbLlJGXGpfTDqbggqjHJeyzx88I3rfwjS38WJag/ihH7lzuGlGHpDBymLirZQ==" crossorigin="anonymous" referrerpolicy="no-referrer" /> 165 166<style> 167 168/** 169 * prism.js modified-default theme for JavaScript, CSS and HTML 170 * Based on dabblet (http://dabblet.com) 171 * @author Lea Verou, Shehan Sanjula 172 */ 173 174 span.foo { 175 background-color: 176navy; 177 color: 178#BFD; 179} 180 181span.bar { 182 background: 183rgba(105, 0, 12, .38); 184 color: 185hsl(30, 100%, 50%); 186 border-color: 187transparent; 188} 189 190 191code[class*="language-"], 192pre[class*="language-"] { 193 color: 194black; 195 background: none; 196 text-shadow: 0 1px 197white; 198 font-family: Cambria, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; 199 font-size: 1em; 200 text-align: left; 201 white-space: pre; 202 word-spacing: normal; 203 word-break: normal; 204 word-wrap: normal; 205 line-height: 1.5; 206 207 -moz-tab-size: 4; 208 -o-tab-size: 4; 209 tab-size: 4; 210 211 -webkit-hyphens: none; 212 -moz-hyphens: none; 213 -ms-hyphens: none; 214 hyphens: none; 215} 216 217pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, 218code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { 219 text-shadow: none; 220 background: 221#b3d4fc; 222} 223 224pre[class*="language-"]::selection, pre[class*="language-"] ::selection, 225code[class*="language-"]::selection, code[class*="language-"] ::selection { 226 text-shadow: none; 227 background: 228#b3d4fc; 229} 230 231@media print { 232 code[class*="language-"], 233 pre[class*="language-"] { 234 text-shadow: none; 235 } 236} 237 238/* Code blocks */ 239pre[class*="language-"] { 240 padding: 1em; 241 margin: .5em 0; 242 overflow: auto; 243} 244 245:not(pre) > code[class*="language-"], 246pre[class*="language-"] { 247 background: 248#f5f2f0; 249} 250 251/* Inline code */ 252:not(pre) > code[class*="language-"] { 253 padding: .1em; 254 border-radius: .3em; 255 white-space: normal; 256} 257 258.token.comment, 259.token.prolog, 260.token.doctype, 261.token.cdata { 262 color: 263slategray; 264} 265 266.token.punctuation { 267 color: 268#999; 269} 270 271.token.namespace { 272 opacity: .7; 273} 274 275.token.property, 276.token.tag, 277.token.boolean, 278.token.number, 279.token.constant, 280.token.symbol, 281.token.deleted { 282 color: 283#905; 284} 285 286.token.selector, 287.token.attr-name, 288.token.string, 289.token.char, 290.token.builtin, 291.token.inserted { 292 color: 293#690; 294} 295 296.token.operator, 297.token.entity, 298.token.url, 299.language-css .token.string, 300.style .token.string { 301 color: 302#9a6e3a; 303 /* This background color was intended by the author of this theme. */ 304 background: 305hsla(0, 0%, 100%, .5); 306} 307 308.token.atrule, 309.token.attr-value, 310.token.keyword { 311 color: 312#07a; 313} 314 315.token.function, 316.token.class-name { 317 color: 318#DD4A68; 319} 320 321.token.regex, 322.token.important, 323.token.variable { 324 color: 325#e90; 326} 327 328.token.important, 329.token.bold { 330 font-weight: bold; 331} 332.token.italic { 333 font-style: italic; 334} 335 336.token.entity { 337 cursor: help; 338} 339 340</style> 341 342 343<!-- clipboard --> 344<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/plugins/toolbar/prism-toolbar.min.css" integrity="sha512-Dqf5696xtofgH089BgZJo2lSWTvev4GFo+gA2o4GullFY65rzQVQLQVlzLvYwTo0Bb2Gpb6IqwxYWtoMonfdhQ==" crossorigin="anonymous" referrerpolicy="no-referrer" /> 345<!-- footer --> 346<style> 347.m-footer-copyright span:nth-child(2), .m-footer-copyright span:nth-child(3) { 348 display: none; 349}<style>:root {--ghost-accent-color: #1ebba3;}</style> 350 351 <style> 352 :root { 353 --primary-subtle-color: var(--ghost-accent-color) !important; 354 } 355 </style> 356 357
357<script> 358 // @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt Expat 359 const ghostHost = "https://shehansanjula.github.io/blog" 360 // @license-end 361 </script>
361 362 363 364 365 366
366<script> 367 if (typeof Storage !== 'undefined') { 368 const currentSavedTheme = localStorage.getItem('theme') 369 370 if (currentSavedTheme && currentSavedTheme === 'dark') { 371 document.documentElement.setAttribute('data-theme', 'dark') 372 } else { 373 document.documentElement.setAttribute('data-theme', 'light') 374 } 375 } 376 </script>
376 377 </head> 378 <body class="post-template tag-open-source-articles tag-shehan-sanjula tag-cybersecurity tag-hash-import-2023-01-15-12-45"> 379 380 381 382 383 384<header class="m-header with-picture js-header" data-animate="fade-down"> 385 <div class="m-mobile-topbar"> 386 <button class="m-icon-button in-mobile-topbar js-open-menu" aria-label="Open menu"> 387 <span class="icon-menu" aria-hidden="true"></span> 388 </button> 389 <a href="https://shehansanjula.github.io/blog" class="m-logo in-mobile-topbar"> 390 <img src="https://shehansanjula.github.io/blog/content/images/2021/07/shehan_logo_600_72px-1.png" alt="Blog of Shehan" class=""> 391 </a> 392 <button class="m-icon-button in-mobile-topbar js-open-search" aria-label="Open search"> 393 <span class="icon-search" aria-hidden="true"></span> 394 </button> 395 </div> 396 397 <div class="m-menu js-menu"> 398 <button class="m-icon-button outlined as-close-menu js-close-menu" aria-label="Close menu"> 399 <span class="icon-close"></span> 400 </button> 401 <div class="m-menu__main"> 402 <div class="l-wrapper"> 403 <div class="m-nav js-main-nav"> 404 <nav class="m-nav__left js-main-nav-left" role="navigation" aria-label="Main menu"> 405 <ul> 406 <li class="only-desktop"> 407 <a href="https://shehansanjula.github.io/blog" class="m-logo"> 408 <img src="https://shehansanjula.github.io/blog/content/images/2021/07/shehan_logo_600_72px-1.png" alt="Blog of Shehan" class=""> 409 </a> 410 </li> 411 412 <li class="nav-me"> 413 <a href="https://shehansanjula.github.io/">Me</a> 414 </li> 415 <li class="nav-blog"> 416 <a href="https://shehansanjula.github.io/blog/">Blog</a> 417 </li> 418 <li class="nav-starting-point"> 419 <a href="https://shehansanjula.github.io/blog/tag/startingpoint-walkthrough-htb/">Starting Point</a> 420 </li> 421 <li class="nav-cybersecurity"> 422 <a href="https://shehansanjula.github.io/blog/tag/cybersecurity/">Cybersecurity</a> 423 </li> 424 <li class="nav-open-source"> 425 <a href="https://shehansanjula.github.io/blog/tag/open-source-articles/">Open Source</a> 426 </li> 427 <li class="nav-publications"> 428 <a href="https://shehansanjula.github.io/blog/tag/publications/">Publications</a> 429 </li> 430 <li class="nav-entertainment"> 431 <a href="https://shehansanjula.github.io/blog/tag/entertainment/">Entertainment</a> 432 </li> 433 434 <li class="more"> 435 <span> 436 <a href="javascript:void(0);" class="js-open-secondary-menu"> 437 More 438 <span class="icon-chevron-down" aria-hidden="true"></span> 439 </a> 440 </span> 441 </li> 442 <li class="submenu-option js-submenu-option"> 443 <button class="m-icon-button in-menu-main more js-toggle-submenu" aria-label="Open submenu"> 444 <span class="icon-more" aria-hidden="true"></span> 445 </button> 446 <div class="m-submenu js-submenu"> 447 <div class="l-wrapper in-submenu"> 448 <section class="m-recent-articles"> 449 <h3 class="m-submenu-title in-recent-articles">Recent articles</h3> 450 <div class="swiper js-recent-slider"> 451 <div class="swiper-wrapper"> 452 <div class="swiper-slide"> 453 <a href="/blog/challenges-of-cloud-forensics/" class="m-recent-article"> 454 <div class="m-recent-article__picture "> 455 <img src="/blog/content/images/size/w300/2022/07/Challenges-of-Cloud-Forensics.png" loading="lazy" alt=""> 456 </div> 457 <h3 class="m-recent-article__title js-recent-article-title" title="Challenges of Cloud Forensics"> 458 Challenges of Cloud Forensics 459 </h3>
460 <span class="m-recent-article__date">3 years ago</span> 461 </a> 462 </div> 463 <div class="swiper-slide"> 464 <a href="/blog/spam-detection-in-email-using-machine-learning/" class="m-recent-article"> 465 <div class="m-recent-article__picture "> 466 <img src="/blog/content/images/size/w300/2022/07/Spam-Detection-in-Email-using-Machine-Learning-1.png" loading="lazy" alt=""> 467 </div> 468 <h3 class="m-recent-article__title js-recent-article-title" title="Spam Detection in Email using Machine Learning"> 469 Spam Detection in Email using Machine Learning 470 </h3> 471 <span class="m-recent-article__date">3 years ago</span> 472 </a> 473 </div> 474 <div class="swiper-slide"> 475 <a href="/blog/cyber-guardian-enews-letter-march/" class="m-recent-article"> 476 <div class="m-recent-article__picture "> 477 <img src="/blog/content/images/size/w300/2022/03/Tips-to-maintain-your-mental-health-on-social-media-without-being-a-victim-of-cyberspace-2.png" loading="lazy" alt=""> 478 </div> 479 <h3 class="m-recent-article__title js-recent-article-title" title="Tips to maintain your mental health on social media without being a victim of cyberspace"> 480 Tips to maintain your mental health on social media without being a victim of cyberspace 481 </h3> 482 <span class="m-recent-article__date">4 years ago</span> 483 </a> 484 </div> 485 <div class="swiper-slide"> 486 <a href="/blog/privacy-policy-implementation-in-organizations/" class="m-recent-article"> 487 <div class="m-recent-article__picture "> 488 <img src="/blog/content/images/size/w300/2021/11/privacy-policy-sanjula.png" loading="lazy" alt=""> 489 </div> 490 <h3 class="m-recent-article__title js-recent-article-title" title="Introduction to privacy policy implementation in organisations"> 491 Introduction to privacy policy implementation in organisations 492 </h3> 493 <span class="m-recent-article__date">4 years ago</span> 494 </a> 495 </div> 496 </div> 497 </div> 498 </section> 499 <section class="m-tags"> 500 <h3 class="m-submenu-title">Tags</h3> 501 <ul> 502 <li> 503 <a href="/blog/tag/academic/">Academic</a> 504 </li> 505 <li> 506 <a href="/blog/tag/archetype-walkthrough/">Archetype walkthrough</a> 507 </li> 508 <li> 509 <a href="/blog/tag/artificial-general-intelligence/">Artificial General Intelligence</a> 510 </li> 511 <li> 512 <a href="/blog/tag/cloud-forensics/">Cloud Forensics</a> 513 </li> 514 <li> 515 <a href="/blog/tag/cyber-attacks/">Cyber-Attacks</a> 516 </li> 517 <li> 518 <a href="/blog/tag/cybersecurity/">Cybersecurity</a> 519 </li> 520 <li> 521 <a href="/blog/tag/data-breach/">Data breach</a> 522 </li> 523 <li> 524 <a href="/blog/tag/endpoint-security/">Endpoint Security</a> 525 </li> 526 <li> 527 <a href="/blog/tag/entertainment/">Entertainment</a> 528 </li> 529 </ul> 530 </section> 531 </div> 532 </div> 533 </li> 534 </ul> 535 </nav> 536 <div class="m-nav__right"> 537 <button class="m-icon-button in-menu-main js-open-search" aria-label="Open search">
538 <span class="icon-search" aria-hidden="true"></span> 539 </button> 540 <div class="m-toggle-darkmode js-tooltip" data-tippy-content="Toggle light/dark mode" tabindex="0"> 541 <label for="toggle-darkmode" class="sr-only"> 542 Toggle light/dark mode 543 </label> 544 <input id="toggle-darkmode" type="checkbox" class="js-toggle-darkmode"> 545 <div> 546 <span class="icon-moon moon" aria-hidden="true"></span> 547 <span class="icon-sunny sun" aria-hidden="true"></span> 548 </div> 549 </div> 550 </div> 551 </div> 552 </div> 553 </div> 554 </div> 555 556 <div id="secondary-navigation-template" style="display: none;"> 557 558 <ul class="m-secondary-menu"> 559 <li class="nav-tryhackme-write-ups"> 560 <a href="https://shehansanjula.github.io/blog/tag/tryhackme-write-ups/">TryHackMe Write-ups</a> 561 </li> 562 <li class="nav-hackthebox-write-ups"> 563 <a href="https://shehansanjula.github.io/blog/tag/hackthebox-write-ups/">HackTheBox Write-ups</a> 564 </li> 565 <li class="nav-iso-iec-27017"> 566 <a href="https://shehansanjula.github.io/blog/tag/iso-iec-27017/">ISO/IEC 27017</a> 567 </li> 568 <li class="nav-income-tax-calculator"> 569 <a href="https://shehansanjula.github.io/blog/income-tax-calculator/">Income Tax Calculator</a> 570 </li> 571 </ul> 572 573 </div> 574</header> 575 576<main class="main-wrap"> 577 578 <section class="m-hero with-picture" data-animate="fade"> 579 <div class="m-hero__picture in-post"> 580 <img 581 srcset=" 582 /blog/content/images/size/w300/2021/08/article-1-6.png 300w, 583 /blog/content/images/size/w600/2021/08/article-1-6.png 600w, 584 /blog/content/images/size/w1000/2021/08/article-1-6.png 1000w, 585 /blog/content/images/size/w2000/2021/08/article-1-6.png 2000w 586 " 587 sizes="(max-width: 600px) 600px, (max-width: 1000px) 1000px, 2000px" 588 src="/blog/content/images/size/w1000/2021/08/article-1-6.png" 589 alt="" 590 /> 591 </div> 592 </section> 593 594 <article> 595 <div class="l-content in-post"> 596 <div class="l-wrapper in-post js-animation-wrapper" data-animate="fade-up"> 597 <div 598 class="l-post-content js-progress-content"> 599 <header class="m-heading"> 600 <h1 class="m-heading__title in-post">Open-source components and their direction towards the future against cyber security aspects</h1> 601 <div class="m-heading__meta"> 602 <a href="https://shehansanjula.github.io/blog/tag/open-source-articles/" class="m-heading__meta__tag">Open-source Articles</a> 603 <span class="m-heading__meta__divider" aria-hidden="true">•</span> 604 <span class="m-heading__meta__time">Aug 22, 2021</span> 605 </div> 606 </header> 607 <div class="pos-relative js-post-content"> 608 <div class="m-share"> 609 <div class="m-share__content js-sticky"> 610 <a href="https://www.facebook.com/sharer/sharer.php?u=https://shehansanjula.github.io/blog/open-source-components-and-their-direction-towards-the-future-against-cyber-security-aspects/" 611 class="m-icon-button filled in-share" target="_blank" rel="noopener" aria-label="Facebook"> 612 <span class="icon-facebook" aria-hidden="true"></span> 613 </a> 614 <a href="https://twitter.com/intent/tweet?text=Open-source%20components%20and%20their%20direction%20towards%20the%20future%20against%20cyber%20security%20aspects&url=https://shehansanjula.github.io/blog/open-source-components-and-their-direction-towards-the-future-against-cyber-security-aspects/" 615 class="m-icon-button filled in-share" target="_blank" rel="noopener" aria-label="Twitter"> 616 <span class="icon-twitter" aria-hidden="true"></span> 617 </a> 618 <button class="m-icon-button filled in-share progress js-scrolltop" aria-label="Scroll to top">
619 <span class="icon-arrow-top" aria-hidden="true"></span> 620 <svg aria-hidden="true"> 621 <circle class="progress-ring__circle js-progress" fill="transparent" r="0" /> 622 </svg> 623 </button> 624 </div> 625 </div> 626 <p>Open-source components are becoming major building blocks of the application economy. The software giants have moved into the open-source community in ways that were never previously imaginable. Microsoft loves Linux, IBM bought Red Hat, Oracle became the steward of the open-source Java platform and language⦠the list goes on. On the top of this ladder, companies like Google, Adobe, Oracle, Microsoft are some of the biggest supporters of open-source software. They have contributed to a range of open-source projects over the years.</p><p>Open-source software is a rapidly growing market. It is mainly because of its features. It allows any user to access the particular programming code. The user can get an idea of what the codeâs functionality does by examining the source code. Apart from that, even users can modify the code to fit specific requirements or contribute to making the code even better.</p><blockquote>â<strong>Total global revenue in the open-source services market will reach over 17 billion U.S. dollars in 2019 and is expected to grow into a 30-billion-dollar industry by 2022, a number which would represent a tripling in size over the span of just five years.</strong>â<em><em> source:</em></em><a href="https://www.statista.com/statistics/270805/projected-revenue-of-open-source-software-since-2008/" rel="noopener"><em><em>Statista</em></em></a></blockquote><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://shehansanjula.github.io/blog/content/images/2021/08/Projected-revenue-of-open-source-services.png" class="kg-image" alt loading="lazy" width="875" height="577" srcset="https://shehansanjula.github.io/blog/content/images/size/w600/2021/08/Projected-revenue-of-open-source-services.png 600w, https://shehansanjula.github.io/blog/content/images/2021/08/Projected-revenue-of-open-source-services.png 875w" sizes="(min-width: 720px) 720px"><figcaption><strong>Projected revenue of open-source services from 2017 to 2022 (in billion U.S. dollars)</strong></figcaption></figure><p>According to a WhiteSource survey titled â<a href="https://www.whitesourcesoftware.com/resources/research-reports/the-state-of-open-source-vulnerabilities/">The State of Open Source Vulnerabilities Management</a>,â</p><!--kg-card-begin: markdown--><ul> 627<li><strong>96.8% of developers</strong> reported that they use open-source components â<strong>all the time</strong>â, <strong>âvery oftenâ</strong> or â<strong>sometimes</strong>.â</li> 628<li><strong>Only 3.2% of developers</strong> reported that they <strong>did not use</strong> open source at all since some companies do not allow them to do so in their organizations due to policies.</li> 629<li>Almost 97% rely on open-source components significantly, which explains why no one responds to their usage as â<strong>rarely</strong>.â</li> 630</ul> 631<!--kg-card-end: markdown--><figure class="kg-card kg-image-card"><img src="https://shehansanjula.github.io/blog/content/images/2021/08/2021-OSSRA-report.jpeg" class="kg-image" alt loading="lazy" width="752" height="452" srcset="https://shehansanjula.github.io/blog/content/images/size/w600/2021/08/2021-OSSRA-report.jpeg 600w, https://shehansanjula.github.io/blog/content/images/2021/08/2021-OSSRA-report.jpeg 752w" sizes="(min-width: 720px) 720px"></figure><h3 id="now-let%E2%80%99s-find-out-what-the-2021-ossra-report-tells-us-about-the-state-of-open-source-in-commercial-software">Now, letâs find out what the 2021 OSSRA report tells us about the state of open source in commercial software!</h3><!--kg-card-begin: markdown--><blockquote> 632<p>âThe 2021 Open-Source Security and Risk Analysisâ (OSSRA) report, produced by the Synopsys Cybersecurity Research Center (CyRC), examines the results of more than 1,500 audits of commercial co
632debases, performed by the Black Duck® Audit Services team.</p> 633</blockquote> 634<!--kg-card-end: markdown--><h3 id="the-pandemic-has-involved-explosive-growth-in-both-apps-and-vulnerabilities-%F0%9F%93%88">The pandemic has involved explosive growth in both apps and vulnerabilities ð</h3><p>As result of the COVID-19 pandemic, it has impacted the growth of mobile app downloads rapidly. It has also increased the corresponding likelihood that open-source vulnerabilities will be present in those apps. The âPeril in a Pandemic: State of Mobile Application Securityâ report shows that the number of open-source vulnerabilities increased in the audits reported in the 2021 OSSRA, and that increase is especially pronounced when looking at industry breakdowns.</p><figure class="kg-card kg-image-card"><img src="https://shehansanjula.github.io/blog/content/images/2021/08/app-vulnn-1.png" class="kg-image" alt loading="lazy" width="2000" height="441" srcset="https://shehansanjula.github.io/blog/content/images/size/w600/2021/08/app-vulnn-1.png 600w, https://shehansanjula.github.io/blog/content/images/size/w1000/2021/08/app-vulnn-1.png 1000w, https://shehansanjula.github.io/blog/content/images/size/w1600/2021/08/app-vulnn-1.png 1600w, https://shehansanjula.github.io/blog/content/images/size/w2400/2021/08/app-vulnn-1.png 2400w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://shehansanjula.github.io/blog/content/images/2021/08/app-vuln.png" class="kg-image" alt loading="lazy" width="2000" height="564" srcset="https://shehansanjula.github.io/blog/content/images/size/w600/2021/08/app-vuln.png 600w, https://shehansanjula.github.io/blog/content/images/size/w1000/2021/08/app-vuln.png 1000w, https://shehansanjula.github.io/blog/content/images/size/w1600/2021/08/app-vuln.png 1600w, https://shehansanjula.github.io/blog/content/images/size/w2400/2021/08/app-vuln.png 2400w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://shehansanjula.github.io/blog/content/images/2021/08/2021-OSSRA-syn.png" class="kg-image" alt loading="lazy" width="1000" height="1236" srcset="https://shehansanjula.github.io/blog/content/images/size/w600/2021/08/2021-OSSRA-syn.png 600w, https://shehansanjula.github.io/blog/content/images/2021/08/2021-OSSRA-syn.png 1000w" sizes="(min-width: 720px) 720px"><figcaption><strong>Source: </strong><a href="https://www.synopsys.com/" rel="noopener"><strong>Synopsys, Inc.</strong></a></figcaption></figure><p>Here are some critical insights from the 2021 OSSRA report:</p><ul><li><strong><strong>95% of the marketing tech codebases</strong></strong> also contained open-source vulnerabilities.</li><li><strong><strong>71% of the audited retail and e-commerce codebases</strong></strong> contained vulnerabilities.</li><li>As far as we know from the 2020 IBMâs cost of a data breach report, the <a href="https://blog.shehansanjula.me/critical-infrastructure-security-in-the-healthcare-sector/" rel="noopener"><strong><strong>healthcare sector</strong></strong></a> moved into the top spot as the most attacked industry over the years. After all, OSSRA confirms that both the <strong><strong>financial services/fintech and the healthcare industry sectors had codebases</strong></strong> with open-source vulnerabilities exceeding <strong><strong>60%.</strong></strong></li></ul><blockquote>No software is perfect⦠All computer software, whether open source or proprietary, has had bugs, currently have bugs, and will continue to have bugs â but we can minimize the volume and the severity of the bugs present, as well as their impact on the users or the business.</blockquote><h3 id="in-the-end%E2%80%A6">In the endâ¦</h3><p>The digital transformation we are witnessing today is almost because of the power of open-source components. Companies of all sizes, in all industry verticals, tend to use open source to their infrastructure at some point. Yet, all that great power comes with great responsibility. Acknowledging these risks should be the first step, and investment and maintenance for Open-source security should keep continuing well. It includes continuous security testing and monitoring.</p><p>So, we came to the end of our article. I think you will learn something from this article regarding the open-source components and their security. Thank y
634ou and letâs meet with another article. Stay safe and Bye ð.</p> 635 <section class="m-tags in-post"> 636 <h3 class="m-submenu-title">Tags</h3> 637 <ul> 638 <li> 639 <a href="/blog/tag/open-source-articles/" title="Open-source Articles">Open-source Articles</a> 640 </li> 641 <li> 642 <a href="/blog/tag/shehan-sanjula/" title="Shehan Sanjula">Shehan Sanjula</a> 643 </li> 644 <li> 645 <a href="/blog/tag/cybersecurity/" title="Cybersecurity">Cybersecurity</a> 646 </li> 647 </ul> 648 </section> 649 </div> 650 </div> 651 </div> 652 653 <section class="m-author"> 654 <div class="m-author__content"> 655 <div class="m-author__picture"> 656 <a href="https://shehansanjula.github.io/blog/author/shehansanjula/" class="m-author-picture" aria-label="Shehan Sanjula"> 657 <div style="background-image: url(https://shehansanjula.github.io/blog/content/images/2023/06/Shehan-Sanjula.jpg);"></div> 658 </a> 659 </div> 660 <div class="m-author__info"> 661 <h4 class="m-author__name"> 662 <a href="https://shehansanjula.github.io/blog/author/shehansanjula/">Shehan Sanjula</a> 663 </h4> 664 <p class="m-author__bio">Information Security Engineer at Sri Lanka CERT | CC</p> 665 <ul class="m-author-links"> 666 <li> 667 <a href="https://shehansanjula.github.io" target="_blank" rel="noopener" aria-label="Website"> 668 <span class="icon-globe" aria-hidden="true"></span> 669 </a> 670 </li> 671 <li> 672 <a href="https://facebook.com/shehansanjula66" target="_blank" rel="noopener" aria-label="Facebook"> 673 <span class="icon-facebook" aria-hidden="true"></span> 674 </a> 675 </li> 676 <li> 677 <a href="https://twitter.com/@ShehanSanjula1" target="_blank" rel="noopener" aria-label="Twitter"> 678 <span class="icon-twitter" aria-hidden="true"></span> 679 </a> 680 </li> 681 </ul> 682 </div> 683 </div> 684 </section> 685 <section class="m-recommended"> 686 <div class="l-wrapper in-recommended"> 687 <h3 class="m-section-title in-recommended">Recommended for you</h3> 688 <div class="m-recommended-articles"> 689 <div class="m-recommended-slider swiper js-recommended-slider"> 690 <div class="swiper-wrapper"> 691 692 <div class="m-recommended-slider__item swiper-slide"> 693 <article class="m-article-card post tag-cybersecurity tag-cloud-forensics tag-academic tag-shehan-sanjula tag-hash-import-2023-01-15-12-45"> 694 <div class="m-article-card__picture"> 695 <a href="/blog/challenges-of-cloud-forensics/" class="m-article-card__picture-link" aria-hidden="true" tabindex="-1"></a> 696 <img class="m-article-card__picture-background" src="/blog/content/images/size/w600/2022/07/Challenges-of-Cloud-Forensics.png" loading="lazy" alt=""> 697 <a href="https://shehansanjula.github.io/blog/author/shehansanjula/" class="m-article-card__author js-tooltip" aria-label="Shehan Sanjula" data-tippy-content="Posted by Shehan Sanjula "> 698 <div style="background-image: url(/blog/content/images/size/w100/2023/06/Shehan-Sanjula.jpg);"></div> 699 </a> 700 </div> 701 <div class="m-article-card__info"> 702 <a href="https://shehansanjula.github.io/blog/tag/cybersecurity/" class="m-article-card__tag">Cybersecurity</a> 703 <a href="/blog/challenges-of-cloud-forensics/" class="m-article-card__info-link" aria-label="Challenges of Cloud Forensics"> 704 <div> 705 <h2 class="m-article-card__title js-article-card-title " title="Challenges of Cloud Forensics"> 706 Challenges of Cloud Forensics 707 </h2> 708 </div> 709 <div class="m-article-card__timestamp">
710 <span>3 years ago</span> 711 <span>•</span> 712 <span>1 min read</span> 713 </div> 714 </a> 715 </div> 716 </article> 717 </div> 718 <div class="m-recommended-slider__item swiper-slide"> 719 <article class="m-article-card post tag-publications tag-machine-learning tag-spam-detection tag-spam-filtering tag-linear-regression tag-python tag-heroku tag-scikit-learn tag-jupyter-notebook tag-pandas tag-academic tag-research-papers tag-shehan-sanjula tag-hash-import-2023-01-15-12-45 featured"> 720 <div class="m-article-card__picture"> 721 <a href="/blog/spam-detection-in-email-using-machine-learning/" class="m-article-card__picture-link" aria-hidden="true" tabindex="-1"></a> 722 <img class="m-article-card__picture-background" src="/blog/content/images/size/w600/2022/07/Spam-Detection-in-Email-using-Machine-Learning-1.png" loading="lazy" alt=""> 723 <a href="https://shehansanjula.github.io/blog/author/shehansanjula/" class="m-article-card__author js-tooltip" aria-label="Shehan Sanjula" data-tippy-content="Posted by Shehan Sanjula "> 724 <div style="background-image: url(/blog/content/images/size/w100/2023/06/Shehan-Sanjula.jpg);"></div> 725 </a> 726 <a href="/blog/spam-detection-in-email-using-machine-learning/" class="m-article-card__featured js-tooltip" data-tippy-content="Featured" aria-label="Featured"> 727 <span class="icon-star" aria-hidden="true"></span> 728 </a> 729 </div> 730 <div class="m-article-card__info"> 731 <a href="https://shehansanjula.github.io/blog/tag/publications/" class="m-article-card__tag">Publications</a> 732 <a href="/blog/spam-detection-in-email-using-machine-learning/" class="m-article-card__info-link" aria-label="Spam Detection in Email using Machine Learning"> 733 <div> 734 <h2 class="m-article-card__title js-article-card-title " title="Spam Detection in Email using Machine Learning"> 735 Spam Detection in Email using Machine Learning 736 </h2> 737 </div> 738 <div class="m-article-card__timestamp"> 739 <span>3 years ago</span> 740 <span>•</span> 741 <span>3 min read</span> 742 </div> 743 </a> 744 </div> 745 </article> 746 </div> 747 <div class="m-recommended-slider__item swiper-slide"> 748 <article class="m-article-card post tag-publications tag-cybersecurity tag-open-source-articles tag-shehan-sanjula tag-hash-import-2023-01-15-12-45"> 749 <div class="m-article-card__picture"> 750 <a href="/blog/cyber-guardian-enews-letter-march/" class="m-article-card__picture-link" aria-hidden="true" tabindex="-1"></a> 751 <img class="m-article-card__picture-background" src="/blog/content/images/size/w600/2022/03/Tips-to-maintain-your-mental-health-on-social-media-without-being-a-victim-of-cyberspace-2.png" loading="lazy" alt=""> 752 <a href="https://shehansanjula.github.io/blog/author/shehansanjula/" class="m-article-card__author js-tooltip" aria-label="Shehan Sanjula" data-tippy-content="Posted by Shehan Sanjula "> 753 <div style="background-image: url(/blog/content/images/size/w100/2023/06/Shehan-Sanjula.jpg);"></div> 754 </a> 755 </div> 756 <div class="m-article-card__info"> 757 <a href="https://shehansanjula.github.io/blog/tag/publications/" class="m-article-card__tag">Publications</a> 758 <a href="/blog/cyber-guardian-enews-letter-march/" class="m-article-card__info-link" aria-label="Tips to maintain your mental health on social media without being a victim of cyberspace"> 759 <div> 760 <h2 class="m-article-card__title js-article-card-title " title="Tips to maintain your mental health on social media without being a victim of cyberspace"> 761 Tips to maintain your mental health on social media without being a victim of cyberspace 762 </h2> 763 </div> 764 <div class="m-article-card__timestamp"> 765 <span>4 years ago</span> 766 <span>•</span> 767 <span>1 min read</span> 768 </div> 769 </a> 770 </div> 771 </article> 772 </div> 773 </div> 774 <button class="m-icon-button filled in-recommended-articles swiper-button-prev" aria-label="Previous">
775 <span class="icon-arrow-left" aria-hidden="true"></span> 776 </button> 777 <button class="m-icon-button filled in-recommended-articles swiper-button-next" aria-label="Next"> 778 <span class="icon-arrow-right" aria-hidden="true"></span> 779 </button> 780 </div> 781 </div> 782 </div> 783 </section> 784 </div> 785 </article> 786</main> 787 788 789 790 791<div class="m-search js-search" role="dialog" aria-modal="true" aria-label="Search"> 792 <button class="m-icon-button outlined as-close-search js-close-search" aria-label="Close search"> 793 <span class="icon-close" aria-hidden="true"></span> 794 </button> 795 <div class="m-search__content"> 796 <form class="m-search__form"> 797 <div class="pos-relative"> 798 <span class="icon-search m-search-icon" aria-hidden="true"></span> 799 <label for="search-input" class="sr-only"> 800 Type to search 801 </label> 802 <input id="search-input" type="text" class="m-input in-search js-input-search" placeholder="Type to search"> 803 </div> 804 </form> 805 <div class="js-search-results hide"></div> 806 <p class="m-not-found align-center hide js-no-results"> 807 No results for your search, please try with something else. 808 </p> 809 </div> 810</div> 811 812 813<footer class="m-footer"> 814 <div class="m-footer__content"> 815 <nav class="m-footer__nav-secondary" role="navigation" aria-label="Secondary menu in footer"> 816 817 <ul class="m-secondary-menu"> 818 <li class="nav-tryhackme-write-ups"> 819 <a href="https://shehansanjula.github.io/blog/tag/tryhackme-write-ups/">TryHackMe Write-ups</a> 820 </li> 821 <li class="nav-hackthebox-write-ups"> 822 <a href="https://shehansanjula.github.io/blog/tag/hackthebox-write-ups/">HackTheBox Write-ups</a> 823 </li> 824 <li class="nav-iso-iec-27017"> 825 <a href="https://shehansanjula.github.io/blog/tag/iso-iec-27017/">ISO/IEC 27017</a> 826 </li> 827 <li class="nav-income-tax-calculator"> 828 <a href="https://shehansanjula.github.io/blog/income-tax-calculator/">Income Tax Calculator</a> 829 </li> 830 </ul> 831 832 </nav> 833 <nav class="m-footer-social"> 834 <a href="https://www.facebook.com/shehansanjula66" target="_blank" rel="noopener" aria-label="Facebook"> 835 <span class="icon-facebook" aria-hidden="true"></span> 836 </a> 837 <a href="https://twitter.com/ShehanSanjula1" target="_blank" rel="noopener" aria-label="Twitter"> 838 <span class="icon-twitter" aria-hidden="true"></span> 839 </a> 840 <a href="https://shehansanjula.github.io/blog/rss" aria-label="RSS"> 841 <span class="icon-rss" aria-hidden="true"></span> 842 </a> 843 </nav> 844 <p class="m-footer-copyright"> 845 <span>Blog of Shehan © 2018 - 2026</span> 846 <span> • </span> 847 </p> 848 <p class="m-footer-copyright jslicense"> 849 <span>Published with ⤠</span> 850 </p> 851 </div> 852</footer> 853 854
854<script defer src="/blog/assets/js/manifest.js?v=cdbe8c64a5"></script>
854 855
855<script defer src="/blog/assets/js/vendor.js?v=cdbe8c64a5"></script>
855 856
856<script defer src="/blog/assets/js/app.js?v=cdbe8c64a5"></script>
856 857 858
858<script defer src="/blog/assets/js/post.js?v=cdbe8c64a5"></script>
858 859 860 861 <!-- script tag -->
862<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/prism.min.js" integrity="sha512-7Z9J3l1+EYfeaPKcGXu3MS/7T+w19WtKQY/n+xzmw4hZhJ9tyYmcUS+4QqAlzhicE5LAfMQSF3iFTK9bQdTxXg==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
vendor: 1 bytes, line 862
862
863<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/components/prism-python.min.js" integrity="sha512-AKaNmg8COK0zEbjTdMHJAPJ0z6VeNqvRvH4/d5M4sHJbQQUToMBtodq4HaV4fa+WV2UTfoperElm66c9/8cKmQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
vendor: 1 bytes, line 863
863
864<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/components/prism-bash.min.js" integrity="sha512-whYhDwtTmlC/NpZlCr6PSsAaLOrfjVg/iXAnC4H/dtiHawpShhT2SlIMbpIhT/IL/NrpdMm+Hq2C13+VKpHTYw==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
vendor: 1 bytes, line 864
864
865<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/components/prism-sql.min.js" integrity="sha512-sijCOJblSCXYYmXdwvqV0tak8QJW5iy2yLB1wAbbLc3OOIueqymizRFWUS/mwKctnzPKpNdPJV3aK1zlDMJmXQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
vendor: 1 bytes, line 865
865
866<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/components/prism-powershell.min.js" integrity="sha512-mNRS5mGSidY0juPNlXC17z6atUusuE8Fdbu5+zK6drBDbroYeaEfudGKSRoFvRpzseJq2v3bNOwpEFHi6L82Aw==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
vendor: 1 bytes, line 866
866
867<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/components/prism-ruby.min.js" integrity="sha512-/Dti0iV9cxgJe8r0U/89YJIv9ZBQu1ExEWffVyBj4juMQ4GNglQ3TQ0Up4gcbiHvg0g87arcUFbKBtw2PxH1Dw==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
vendor: 1 bytes, line 867
867
868<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/components/prism-csharp.min.js" integrity="sha512-pmt3kb6dRndjFXFFwCa3rSzuUQ0GjeCfC5QULWde+8ZBIsUzuP1heOIOSAMfAyXHSufrrTp8h7UHw85K4IJ2/g==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
vendor: 1 bytes, line 868
868
869<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/components/prism-cpp.min.js" integrity="sha512-namzGTZvHaug0jeipHRN2pMepMiJj+EbrloktVFlMYGnA0EwZhbdLeENjBYLCgoghVbZGinIz/FFYHmB0o3wLw==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
869 870<!-- line_numbers -->
871<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/plugins/line-numbers/prism-line-numbers.min.js" integrity="sha512-BttltKXFyWnGZQcRWj6osIg7lbizJchuAMotOkdLxHxwt/Hyo+cl47bZU0QADg+Qt5DJwni3SbYGXeGMB5cBcw==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
871 872
873<script> 874 window.addEventListener('DOMContentLoaded', (event) => { 875 document.querySelectorAll('pre[class*=language-]').forEach(function (node) { 876 node.classList.add('line-numbers'); 877 }); 878 Prism.highlightAll(); 879 }); 880</script>
880 881 882<!-- clipboard -->
883<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/plugins/toolbar/prism-toolbar.min.js" integrity="sha512-st608h+ZqzliahyzEpETxzU0f7z7a9acN6AFvYmHvpFhmcFuKT8a22TT5TpKpjDa3pt3Wv7Z3SdQBCBdDPhyWA==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
vendor: 1 bytes, line 883
883
884<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/plugins/copy-to-clipboard/prism-copy-to-clipboard.min.js" integrity="sha512-/kVH1uXuObC0iYgxxCKY41JdWOkKOxorFVmip+YVifKsJ4Au/87EisD1wty7vxN2kAhnWh6Yc8o/dSAXj6Oz7A==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
884 885<!-- Global site tag (gtag.js) - Google Analytics -->
vendor: 64 bytes, lines 885-886
885 886<script async src="https://www.googletagmanager.com/gtag/js?id=
886G-0H273PRXH1
vendor: 12 bytes, line 886
886"></script>
887<script> 888
vendor: 134 bytes, lines 888-892
888window.dataLayer = window.dataLayer || []; 889 function gtag(){dataLayer.push(arguments);} 890 gtag('js', new Date()); 891 892 gtag('config', '
892G-0H273PRXH1
vendor: 4 bytes, line 892
892');
893</script>
893 894 </body> 895</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.