PageSourceSearch

https://shehansanjula.github.io/blog/open-source-components-and-th…-the-future-against-cyber-security-aspects/

html shehansanjula.github.io collected 2026-10-03 09:56:21 UTC 50,344 bytes, 895 lines download raw bytes

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">&bull;</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>&bull;</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>&bull;</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>&bull;</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 &copy; 2018 - 2026</span>
846      <span>&nbsp; &bull; &nbsp;</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.