scanoss 0.13.0 → 0.13.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/assets/ReportHTMLTemplate/index.html +82 -37
- package/build/main/cli/commands/scan.js +3 -1
- package/build/main/sdk/Report/DataLayer/DataLayerTypes.d.ts +13 -0
- package/build/main/sdk/Report/DataLayer/DataProviderManager.js +2 -1
- package/build/main/sdk/Report/DataLayer/DataProviders/CryptographyDataProvider.d.ts +14 -0
- package/build/main/sdk/Report/DataLayer/DataProviders/CryptographyDataProvider.js +54 -0
- package/build/main/tsconfig.tsbuildinfo +30 -5
- package/build/module/cli/commands/scan.js +3 -1
- package/build/module/sdk/Report/DataLayer/DataLayerTypes.d.ts +13 -0
- package/build/module/sdk/Report/DataLayer/DataProviderManager.js +2 -1
- package/build/module/sdk/Report/DataLayer/DataProviders/CryptographyDataProvider.d.ts +14 -0
- package/build/module/sdk/Report/DataLayer/DataProviders/CryptographyDataProvider.js +51 -0
- package/build/module/tsconfig.module.tsbuildinfo +30 -5
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
### [0.13.1](https://github.com/scanoss/scanoss.js/compare/v0.13.0...v0.13.1) (2024-05-15)
|
|
6
|
+
|
|
5
7
|
### [0.13.0](https://github.com/scanoss/scanoss.js/compare/v0.12.2...v0.13.0) (2024-05-13)
|
|
6
8
|
|
|
7
9
|
### [0.12.2](https://github.com/scanoss/scanoss.js/compare/v0.12.0...v0.12.2) (2024-05-10)
|
|
@@ -658,29 +658,61 @@
|
|
|
658
658
|
</template>
|
|
659
659
|
</section>
|
|
660
660
|
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
661
|
+
<!-- cryptography -->
|
|
662
|
+
<section aria-labelledby="nav-cryptography-tab" class="tab-pane fade" id="nav-cryptography" role="tabpanel"
|
|
663
|
+
tabindex="0">
|
|
664
|
+
<nav>
|
|
665
|
+
<div class="nav nav-tabs" id="nav-tab-crypto" role="tablist">
|
|
666
|
+
<button aria-controls="pane-local-cryptography" class="nav-link visible active" aria-selected="false" data-bs-target="#pane-local-cryptography"
|
|
667
|
+
data-bs-toggle="tab" id="crypto-file-tab" role="tab" type="button">Files</button>
|
|
668
|
+
<button aria-controls="pane-component-cryptography" class="nav-link visible" aria-selected="true" data-bs-target="#pane-component-cryptography"
|
|
669
|
+
data-bs-toggle="tab" id="crypto-component-tab" role="tab" type="button">Components</button>
|
|
670
|
+
</div>
|
|
671
|
+
</nav>
|
|
672
|
+
|
|
673
|
+
<div class="tab-content" id="myTabContent">
|
|
674
|
+
<div class="tab-pane" id="pane-component-cryptography" aria-labelledby="crypto-component-tab" role="tabpanel" tabindex="0">
|
|
675
|
+
<table class="table main-table" id="table-cryptography" >
|
|
676
|
+
<thead>
|
|
677
|
+
<tr>
|
|
678
|
+
<th>Component</th>
|
|
679
|
+
<th>Version</th>
|
|
680
|
+
<th>Cryptography</th>
|
|
681
|
+
</tr>
|
|
682
|
+
</thead>
|
|
683
|
+
<tbody>
|
|
684
|
+
</tbody>
|
|
685
|
+
</table>
|
|
686
|
+
|
|
687
|
+
<template id="tpl-cryptography-row">
|
|
688
|
+
<tr>
|
|
689
|
+
<td></td>
|
|
690
|
+
<td></td>
|
|
691
|
+
<td></td>
|
|
692
|
+
</tr>
|
|
693
|
+
</template>
|
|
694
|
+
</div>
|
|
695
|
+
<div class="tab-pane active" id="pane-local-cryptography" role="tabpanel" aria-labelledby="crypto-file-tab" tabindex="0">
|
|
696
|
+
<table class="table main-table" id="table-local-cryptography">
|
|
697
|
+
<thead>
|
|
698
|
+
<tr>
|
|
699
|
+
<th>File</th>
|
|
700
|
+
<th>Cryptography</th>
|
|
701
|
+
</tr>
|
|
702
|
+
</thead>
|
|
703
|
+
<tbody>
|
|
704
|
+
</tbody>
|
|
705
|
+
</table>
|
|
706
|
+
|
|
707
|
+
<template id="tpl-local-cryptography-row">
|
|
708
|
+
<tr>
|
|
709
|
+
<td></td>
|
|
710
|
+
<td></td>
|
|
711
|
+
</tr>
|
|
712
|
+
</template>
|
|
713
|
+
</div>
|
|
714
|
+
</div>
|
|
715
|
+
</section>
|
|
684
716
|
|
|
685
717
|
<!-- quality -->
|
|
686
718
|
<section aria-labelledby="nav-quality-tab" class="tab-pane fade" id="nav-quality" role="tabpanel"
|
|
@@ -809,7 +841,8 @@
|
|
|
809
841
|
renderDependenciesTable();
|
|
810
842
|
renderVulnerabilitiesTable();
|
|
811
843
|
renderCopyrightTable();
|
|
812
|
-
|
|
844
|
+
renderComponentCryptographyTable();
|
|
845
|
+
renderLocalCryptographyTable();
|
|
813
846
|
renderQualityTable();
|
|
814
847
|
renderHealthTable();
|
|
815
848
|
}
|
|
@@ -842,7 +875,7 @@
|
|
|
842
875
|
if (data.dependencies) showTab('nav-dependencies-tab');
|
|
843
876
|
if (data.vulnerabilities) showTab('nav-vulnerabilities-tab');
|
|
844
877
|
if (existVersionKey('copyrights', data.component)) showTab('nav-copyrights-tab');
|
|
845
|
-
if (
|
|
878
|
+
if (data.cryptography) showTab('nav-cryptography-tab');
|
|
846
879
|
if (existVersionKey('quality', data.component)) showTab('nav-quality-tab');
|
|
847
880
|
if (existComponentKey('health', data.component)) showTab('nav-health-tab');
|
|
848
881
|
}
|
|
@@ -1135,24 +1168,36 @@
|
|
|
1135
1168
|
}
|
|
1136
1169
|
}
|
|
1137
1170
|
|
|
1138
|
-
function
|
|
1171
|
+
function renderComponentCryptographyTable() {
|
|
1139
1172
|
const template = document.querySelector("#tpl-cryptography-row");
|
|
1140
1173
|
const table = document.querySelector("#table-cryptography tbody");
|
|
1141
1174
|
|
|
1142
|
-
const {
|
|
1175
|
+
const { cryptography } = data;
|
|
1143
1176
|
|
|
1144
|
-
if (!
|
|
1177
|
+
if (!cryptography && !cryptography.components) return false;
|
|
1145
1178
|
|
|
1146
|
-
for (const
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
|
|
1179
|
+
for (const crypto of cryptography.components) {
|
|
1180
|
+
const clon = template.content.cloneNode(true);
|
|
1181
|
+
clon.querySelector('td:nth-child(1)').innerHTML = crypto.purl;
|
|
1182
|
+
clon.querySelector('td:nth-child(2)').innerHTML = crypto.version;
|
|
1183
|
+
clon.querySelector('td:nth-child(3)').innerHTML = crypto.algorithms.map(e => `${e.algorithm} (${e.strength})`).join(' - ');
|
|
1184
|
+
table.appendChild(clon);
|
|
1185
|
+
}
|
|
1186
|
+
}
|
|
1153
1187
|
|
|
1154
|
-
|
|
1155
|
-
|
|
1188
|
+
function renderLocalCryptographyTable(){
|
|
1189
|
+
const template = document.querySelector("#tpl-local-cryptography-row");
|
|
1190
|
+
const table = document.querySelector("#table-local-cryptography tbody");
|
|
1191
|
+
|
|
1192
|
+
const { cryptography } = data;
|
|
1193
|
+
|
|
1194
|
+
if (!cryptography && !cryptography.files) return false;
|
|
1195
|
+
|
|
1196
|
+
for (const crypto of cryptography.files) {
|
|
1197
|
+
const clon = template.content.cloneNode(true);
|
|
1198
|
+
clon.querySelector('td:nth-child(1)').innerHTML = crypto.file;
|
|
1199
|
+
clon.querySelector('td:nth-child(2)').innerHTML = crypto.algorithms.map(e => `${e.algorithm} (${e.strength})`).join(' - ');
|
|
1200
|
+
table.appendChild(clon);
|
|
1156
1201
|
}
|
|
1157
1202
|
}
|
|
1158
1203
|
|
|
@@ -24,6 +24,7 @@ const DecompressionFilter_1 = require("../../sdk/tree/Filters/DecompressionFilte
|
|
|
24
24
|
const DecompressionManager_1 = require("../../sdk/Decompress/DecompressionManager");
|
|
25
25
|
const path_1 = __importDefault(require("path"));
|
|
26
26
|
const LicenseObligationDataProvider_1 = require("../../sdk/Report/DataLayer/DataProviders/LicenseObligationDataProvider");
|
|
27
|
+
const CryptographyDataProvider_1 = require("../../sdk/Report/DataLayer/DataProviders/CryptographyDataProvider");
|
|
27
28
|
async function scanHandler(rootPath, options) {
|
|
28
29
|
rootPath = path_1.default.resolve(rootPath);
|
|
29
30
|
const pathIsFolder = await helpers_1.isFolder(rootPath);
|
|
@@ -147,6 +148,7 @@ async function scanHandler(rootPath, options) {
|
|
|
147
148
|
dataProviderManager.addDataProvider(new LicenseDataProvider_1.LicenseDataProvider(scannersResults.scanner, scannersResults.dependencies));
|
|
148
149
|
dataProviderManager.addDataProvider(new SummaryDataProvider_1.SummaryDataProvider(projectName, new Date(), scannersResults.scanner));
|
|
149
150
|
dataProviderManager.addDataProvider(new LicenseObligationDataProvider_1.LicenseObligationDataProvider(scannersResults.scanner, scannersResults.dependencies));
|
|
151
|
+
dataProviderManager.addDataProvider(new CryptographyDataProvider_1.CryptographyDataProvider(null, scannersResults.scanner));
|
|
150
152
|
const report = new Report_1.Report(dataProviderManager);
|
|
151
153
|
scannerResultsString = await report.getHTML();
|
|
152
154
|
}
|
|
@@ -156,4 +158,4 @@ async function scanHandler(rootPath, options) {
|
|
|
156
158
|
console.log(scannerResultsString);
|
|
157
159
|
}
|
|
158
160
|
exports.scanHandler = scanHandler;
|
|
159
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
161
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nhbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jbGkvY29tbWFuZHMvc2Nhbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDRDQUFvQjtBQUVwQix1REFBb0Q7QUFDcEQsaUVBTXdDO0FBQ3hDLDZEQUEwRDtBQUMxRCw4Q0FBMkM7QUFDM0MsZ0VBQXVDO0FBRXZDLHVDQUE2RDtBQUU3RCxzRkFBbUY7QUFDbkYsZ0ZBQTZFO0FBRTdFLGtFQUErRDtBQUMvRCw4RUFBMkU7QUFDM0Usb0RBQWlEO0FBQ2pELHdGQUFxRjtBQUNyRiwwR0FBdUc7QUFDdkcsNEdBQXlHO0FBQ3pHLHNHQUFtRztBQUNuRyxzR0FBbUc7QUFDbkcsb0ZBQWlGO0FBQ2pGLG9GQUFpRjtBQUNqRixnREFBd0I7QUFDeEIsMEhBQXVIO0FBQ3ZILGdIQUUyRTtBQUVwRSxLQUFLLFVBQVUsV0FBVyxDQUMvQixRQUFnQixFQUNoQixPQUFZO0lBRVosUUFBUSxHQUFHLGNBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFbEMsTUFBTSxZQUFZLEdBQUcsTUFBTSxrQkFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzlDLE1BQU0sV0FBVyxHQUFHLGdDQUFzQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRXJELCtDQUErQztJQUMvQyxJQUFJLGVBQWUsR0FBa0IsRUFBRSxDQUFDO0lBQ3hDLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSwyQ0FBb0IsRUFBRSxDQUFDO0lBQ3hELElBQUksT0FBTyxDQUFDLE9BQU87UUFBRSxvQkFBb0IsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQztJQUNwRSxJQUFJLE9BQU8sQ0FBQyxLQUFLO1FBQUUsb0JBQW9CLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFDOUQsSUFBSSxPQUFPLENBQUMsR0FBRztRQUFFLG9CQUFvQixDQUFDLEdBQUcsR0FBRyxPQUFPLENB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
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { CryptoAlgorithm } from '../../Cryptography/CryptographyTypes';
|
|
2
|
+
import { CryptoItem } from '../../Cryptography/Scanneable/CryptoItem';
|
|
1
3
|
/************* Component interface definition *************/
|
|
2
4
|
export interface ComponentDataLayer {
|
|
3
5
|
key: string;
|
|
@@ -101,6 +103,16 @@ export interface SummaryDataLayer {
|
|
|
101
103
|
noMatchFiles: number;
|
|
102
104
|
totalFiles: number;
|
|
103
105
|
}
|
|
106
|
+
export interface ComponentCryptography {
|
|
107
|
+
purl: string;
|
|
108
|
+
version: string;
|
|
109
|
+
algorithms: Array<CryptoAlgorithm>;
|
|
110
|
+
}
|
|
111
|
+
/*********************** Files ****************************/
|
|
112
|
+
export interface CryptographyDataLayer {
|
|
113
|
+
files: Array<CryptoItem>;
|
|
114
|
+
components: Array<ComponentCryptography>;
|
|
115
|
+
}
|
|
104
116
|
export interface IDataLayers {
|
|
105
117
|
licenses: LicenseDataLayer[];
|
|
106
118
|
licensesObligations: LicenseObligation[];
|
|
@@ -108,6 +120,7 @@ export interface IDataLayers {
|
|
|
108
120
|
dependencies: DependencyDataLayer[];
|
|
109
121
|
vulnerabilities: VulnerabilityDataLayer[];
|
|
110
122
|
summary: SummaryDataLayer;
|
|
123
|
+
cryptography: CryptographyDataLayer;
|
|
111
124
|
}
|
|
112
125
|
export interface DataProvider {
|
|
113
126
|
getData(): Promise<IDataLayers>;
|
|
@@ -15,6 +15,7 @@ class DataProviderManager {
|
|
|
15
15
|
summary: null,
|
|
16
16
|
licenses: null,
|
|
17
17
|
licensesObligations: null,
|
|
18
|
+
cryptography: null,
|
|
18
19
|
};
|
|
19
20
|
for (const layer of this.dataLayersProviders)
|
|
20
21
|
Object.assign(dataLayer, await layer.getData());
|
|
@@ -22,4 +23,4 @@ class DataProviderManager {
|
|
|
22
23
|
}
|
|
23
24
|
}
|
|
24
25
|
exports.DataProviderManager = DataProviderManager;
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0YVByb3ZpZGVyTWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9zZGsvUmVwb3J0L0RhdGFMYXllci9EYXRhUHJvdmlkZXJNYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUEsTUFBYSxtQkFBbUI7SUFHOUI7UUFDRSxJQUFJLENBQUMsbUJBQW1CLEdBQUcsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFTSxlQUFlLENBQUMsQ0FBZTtRQUNwQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFTSxLQUFLLENBQUMsWUFBWTtRQUN2QixJQUFJLFNBQVMsR0FBZ0I7WUFDM0IsU0FBUyxFQUFFLElBQUk7WUFDZixZQUFZLEVBQUUsSUFBSTtZQUNsQixlQUFlLEVBQUUsSUFBSTtZQUNyQixPQUFPLEVBQUUsSUFBSTtZQUNiLFFBQVEsRUFBRSxJQUFJO1lBQ2QsbUJBQW1CLEVBQUUsSUFBSTtZQUN6QixZQUFZLEVBQUUsSUFBSTtTQUNuQixDQUFDO1FBRUYsS0FBSyxNQUFNLEtBQUssSUFBSSxJQUFJLENBQUMsbUJBQW1CO1lBQzFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLE1BQU0sS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDbEQsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztDQUNGO0FBMUJELGtEQTBCQyJ9
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { DataProvider, IDataLayers } from '../DataLayerTypes';
|
|
2
|
+
import { ScannerResults } from '../../../scanner/ScannerTypes';
|
|
3
|
+
import { ICryptoItem } from '../../../Cryptography/CryptographyTypes';
|
|
4
|
+
export declare class CryptographyDataProvider implements DataProvider {
|
|
5
|
+
private files;
|
|
6
|
+
private scanRawResults;
|
|
7
|
+
private componentList;
|
|
8
|
+
constructor(files: Array<ICryptoItem>, scanRawResults: ScannerResults);
|
|
9
|
+
getData(): Promise<IDataLayers>;
|
|
10
|
+
private getCrypto;
|
|
11
|
+
private normalizeAlgorithms;
|
|
12
|
+
private removeRepeatedAlgorithms;
|
|
13
|
+
getLayerName(): string;
|
|
14
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2
|
+
exports.CryptographyDataProvider = void 0;
|
|
3
|
+
class CryptographyDataProvider {
|
|
4
|
+
constructor(files, scanRawResults) {
|
|
5
|
+
this.files = files;
|
|
6
|
+
this.scanRawResults = scanRawResults;
|
|
7
|
+
}
|
|
8
|
+
async getData() {
|
|
9
|
+
if (!this.files && !this.scanRawResults)
|
|
10
|
+
return { cryptography: null };
|
|
11
|
+
this.componentList = Object.values(this.scanRawResults).flat();
|
|
12
|
+
this.componentList = this.componentList.filter((component) => component.id !== 'none');
|
|
13
|
+
const componentCryptography = this.getCrypto(this.componentList);
|
|
14
|
+
return {
|
|
15
|
+
cryptography: {
|
|
16
|
+
files: this.files,
|
|
17
|
+
components: componentCryptography,
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
getCrypto(scanComponents) {
|
|
22
|
+
const componentCrypto = [];
|
|
23
|
+
scanComponents.forEach((c) => {
|
|
24
|
+
if (c.cryptography.length > 0) {
|
|
25
|
+
const crypto = {
|
|
26
|
+
purl: c.purl,
|
|
27
|
+
version: c.version,
|
|
28
|
+
algorithms: c.cryptography
|
|
29
|
+
};
|
|
30
|
+
componentCrypto.push(crypto);
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
return this.normalizeAlgorithms(componentCrypto);
|
|
34
|
+
}
|
|
35
|
+
normalizeAlgorithms(crypto) {
|
|
36
|
+
crypto.forEach((c) => {
|
|
37
|
+
c.algorithms = this.removeRepeatedAlgorithms(c.algorithms);
|
|
38
|
+
});
|
|
39
|
+
return crypto;
|
|
40
|
+
}
|
|
41
|
+
removeRepeatedAlgorithms(algorithms) {
|
|
42
|
+
const algorithmsMapper = new Map();
|
|
43
|
+
algorithms.forEach((a) => {
|
|
44
|
+
const algorithmToLowerCase = a.algorithm.toLowerCase();
|
|
45
|
+
algorithmsMapper.set(algorithmToLowerCase, Object.assign(Object.assign({}, a), { algorithm: algorithmToLowerCase }));
|
|
46
|
+
});
|
|
47
|
+
return Array.from(algorithmsMapper.values());
|
|
48
|
+
}
|
|
49
|
+
getLayerName() {
|
|
50
|
+
return '';
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
exports.CryptographyDataProvider = CryptographyDataProvider;
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3J5cHRvZ3JhcGh5RGF0YVByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3Nkay9SZXBvcnQvRGF0YUxheWVyL0RhdGFQcm92aWRlcnMvQ3J5cHRvZ3JhcGh5RGF0YVByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBZUEsTUFBYSx3QkFBd0I7SUFJbkMsWUFBWSxLQUF5QixFQUFJLGNBQThCO1FBQ3JFLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFDO0lBQ3ZDLENBQUM7SUFDRCxLQUFLLENBQUMsT0FBTztRQUVYLElBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWM7WUFBRSxPQUFvQixFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsQ0FBQTtRQUVsRixJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQy9ELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQzVDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxLQUFLLE1BQU0sQ0FDdkMsQ0FBQztRQUVGLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFbEUsT0FBb0I7WUFDakIsWUFBWSxFQUFDO2dCQUNYLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztnQkFDakIsVUFBVSxFQUFFLHFCQUFxQjthQUNsQztTQUNILENBQUE7SUFDRixDQUFDO0lBRU8sU0FBUyxDQUFDLGNBQXVDO1FBQ3ZELE1BQU0sZUFBZSxHQUFHLEVBQUUsQ0FBQztRQUMzQixjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUU7WUFDeEIsSUFBRyxDQUFDLENBQUMsWUFBWSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUM7Z0JBQzNCLE1BQU0sTUFBTSxHQUFHO29CQUNiLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSTtvQkFDWixPQUFPLEVBQUUsQ0FBQyxDQUFDLE9BQU87b0JBQ2xCLFVBQVUsRUFBRSxDQUFDLENBQUMsWUFBWTtpQkFDM0IsQ0FBQTtnQkFDRCxlQUFlLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQzlCO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxlQUFlLENBQUMsQ0FBQTtJQUNsRCxDQUFDO0lBRU8sbUJBQW1CLENBQUMsTUFBb0M7UUFDOUQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBQyxFQUFFO1lBQ2xCLENBQUMsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM3RCxDQUFDLENBQUMsQ0FBQTtRQUVGLE9BQU8sTUFBTSxDQUFDO0lBRWhCLENBQUM7SUFFTyx3QkFBd0IsQ0FBQyxVQUFrQztRQUNqRSxNQUFNLGdCQUFnQixHQUFHLElBQUksR0FBRyxFQUFtRCxDQUFDO1FBQ3BGLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUN2QixNQUFNLG9CQUFvQixHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdkQsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLG9CQUFvQixrQ0FBTSxDQUFDLEtBQUUsU0FBUyxFQUFFLG9CQUFvQixJQUFFLENBQUE7UUFDckYsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsWUFBWTtRQUNWLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztDQUNGO0FBL0RELDREQStEQyJ9
|
|
@@ -1217,12 +1217,12 @@
|
|
|
1217
1217
|
"affectsGlobalScope": false
|
|
1218
1218
|
},
|
|
1219
1219
|
"../../src/sdk/Report/DataLayer/DataLayerTypes.ts": {
|
|
1220
|
-
"version": "
|
|
1221
|
-
"signature": "
|
|
1220
|
+
"version": "e9e9d3016d8d3270231816877a3cb30bb3247b4b36bd0b76ccc1b8de561dd23a",
|
|
1221
|
+
"signature": "8eab1457b27a3bf565d75952fc5732a583a732f58caf45aa8e09b102073b8b2e",
|
|
1222
1222
|
"affectsGlobalScope": false
|
|
1223
1223
|
},
|
|
1224
1224
|
"../../src/sdk/Report/DataLayer/DataProviderManager.ts": {
|
|
1225
|
-
"version": "
|
|
1225
|
+
"version": "2bdc1567cf4a01b31a828630cecb537236aa179f7844f11fe290303fd6678d06",
|
|
1226
1226
|
"signature": "6ac2d5cf00bfdf922dd4a044ca9a615bec171bc37f6fc7a15f9b0e37428f24b4",
|
|
1227
1227
|
"affectsGlobalScope": false
|
|
1228
1228
|
},
|
|
@@ -1361,8 +1361,13 @@
|
|
|
1361
1361
|
"signature": "32757bb69660a0ac7cf0e6e1d6d76b506613a499b56d4ef09ca08905945cb13d",
|
|
1362
1362
|
"affectsGlobalScope": false
|
|
1363
1363
|
},
|
|
1364
|
+
"../../src/sdk/Report/DataLayer/DataProviders/CryptographyDataProvider.ts": {
|
|
1365
|
+
"version": "1d5eb05485e6990d80095ca9b8182c8dd0474e4fea5b1f96488bc5027ad4ead3",
|
|
1366
|
+
"signature": "17526d69c3c8accab8f9f30a1ffe9449da6f5a6a39811b3938dfa2b690300e7d",
|
|
1367
|
+
"affectsGlobalScope": false
|
|
1368
|
+
},
|
|
1364
1369
|
"../../src/cli/commands/scan.ts": {
|
|
1365
|
-
"version": "
|
|
1370
|
+
"version": "28f9db3f8331f3109295e4bdb1f49f27c8cb32e8b05492b3084335dd604658c3",
|
|
1366
1371
|
"signature": "f2270f14186fb9298c65d83f391db3cefc5e9c40bfae8007515176acc583e131",
|
|
1367
1372
|
"affectsGlobalScope": false
|
|
1368
1373
|
},
|
|
@@ -2591,6 +2596,7 @@
|
|
|
2591
2596
|
"../../src/sdk/Dependencies/DependencyTypes.ts",
|
|
2592
2597
|
"../../src/sdk/Report/DataLayer/DataProviderManager.ts",
|
|
2593
2598
|
"../../src/sdk/Report/DataLayer/DataProviders/ComponentDataProvider.ts",
|
|
2599
|
+
"../../src/sdk/Report/DataLayer/DataProviders/CryptographyDataProvider.ts",
|
|
2594
2600
|
"../../src/sdk/Report/DataLayer/DataProviders/DependencyDataProvider.ts",
|
|
2595
2601
|
"../../src/sdk/Report/DataLayer/DataProviders/LicenseDataProvider.ts",
|
|
2596
2602
|
"../../src/sdk/Report/DataLayer/DataProviders/LicenseObligationDataProvider.ts",
|
|
@@ -2865,7 +2871,9 @@
|
|
|
2865
2871
|
"../../node_modules/@types/node/util.d.ts"
|
|
2866
2872
|
],
|
|
2867
2873
|
"../../src/sdk/Report/DataLayer/DataLayerTypes.ts": [
|
|
2868
|
-
"../../node_modules/@types/node/util.d.ts"
|
|
2874
|
+
"../../node_modules/@types/node/util.d.ts",
|
|
2875
|
+
"../../src/sdk/Cryptography/CryptographyTypes.ts",
|
|
2876
|
+
"../../src/sdk/Cryptography/Scanneable/CryptoItem.ts"
|
|
2869
2877
|
],
|
|
2870
2878
|
"../../src/sdk/Report/DataLayer/DataProviderManager.ts": [
|
|
2871
2879
|
"../../node_modules/@types/node/util.d.ts",
|
|
@@ -2877,6 +2885,13 @@
|
|
|
2877
2885
|
"../../src/sdk/Report/DataLayer/DataLayerTypes.ts",
|
|
2878
2886
|
"../../src/sdk/scanner/ScannerTypes.ts"
|
|
2879
2887
|
],
|
|
2888
|
+
"../../src/sdk/Report/DataLayer/DataProviders/CryptographyDataProvider.ts": [
|
|
2889
|
+
"../../node_modules/@types/node/util.d.ts",
|
|
2890
|
+
"../../src/sdk/Cryptography/CryptographyTypes.ts",
|
|
2891
|
+
"../../src/sdk/Dependencies/DependencyTypes.ts",
|
|
2892
|
+
"../../src/sdk/Report/DataLayer/DataLayerTypes.ts",
|
|
2893
|
+
"../../src/sdk/scanner/ScannerTypes.ts"
|
|
2894
|
+
],
|
|
2880
2895
|
"../../src/sdk/Report/DataLayer/DataProviders/DependencyDataProvider.ts": [
|
|
2881
2896
|
"../../node_modules/@types/node/util.d.ts",
|
|
2882
2897
|
"../../src/sdk/Dependencies/DependencyTypes.ts",
|
|
@@ -4332,6 +4347,10 @@
|
|
|
4332
4347
|
"../../src/sdk/Filtering/DefaultFilterForScanning.ts": [
|
|
4333
4348
|
"../../src/sdk/Filtering/Filtering.ts"
|
|
4334
4349
|
],
|
|
4350
|
+
"../../src/sdk/Report/DataLayer/DataLayerTypes.ts": [
|
|
4351
|
+
"../../src/sdk/Cryptography/CryptographyTypes.ts",
|
|
4352
|
+
"../../src/sdk/Cryptography/Scanneable/CryptoItem.ts"
|
|
4353
|
+
],
|
|
4335
4354
|
"../../src/sdk/Report/DataLayer/DataProviderManager.ts": [
|
|
4336
4355
|
"../../src/sdk/Report/DataLayer/DataLayerTypes.ts"
|
|
4337
4356
|
],
|
|
@@ -4340,6 +4359,11 @@
|
|
|
4340
4359
|
"../../src/sdk/Report/DataLayer/DataLayerTypes.ts",
|
|
4341
4360
|
"../../src/sdk/scanner/ScannerTypes.ts"
|
|
4342
4361
|
],
|
|
4362
|
+
"../../src/sdk/Report/DataLayer/DataProviders/CryptographyDataProvider.ts": [
|
|
4363
|
+
"../../src/sdk/Cryptography/CryptographyTypes.ts",
|
|
4364
|
+
"../../src/sdk/Report/DataLayer/DataLayerTypes.ts",
|
|
4365
|
+
"../../src/sdk/scanner/ScannerTypes.ts"
|
|
4366
|
+
],
|
|
4343
4367
|
"../../src/sdk/Report/DataLayer/DataProviders/DependencyDataProvider.ts": [
|
|
4344
4368
|
"../../src/sdk/Dependencies/DependencyTypes.ts",
|
|
4345
4369
|
"../../src/sdk/Report/DataLayer/DataLayerTypes.ts"
|
|
@@ -4735,6 +4759,7 @@
|
|
|
4735
4759
|
"../../src/sdk/Report/DataLayer/DataLayerTypes.ts",
|
|
4736
4760
|
"../../src/sdk/Report/DataLayer/DataProviderManager.ts",
|
|
4737
4761
|
"../../src/sdk/Report/DataLayer/DataProviders/ComponentDataProvider.ts",
|
|
4762
|
+
"../../src/sdk/Report/DataLayer/DataProviders/CryptographyDataProvider.ts",
|
|
4738
4763
|
"../../src/sdk/Report/DataLayer/DataProviders/DependencyDataProvider.ts",
|
|
4739
4764
|
"../../src/sdk/Report/DataLayer/DataProviders/LicenseDataProvider.ts",
|
|
4740
4765
|
"../../src/sdk/Report/DataLayer/DataProviders/LicenseObligationDataProvider.ts",
|
|
@@ -19,6 +19,7 @@ import { DecompressionFilter } from '../../sdk/tree/Filters/DecompressionFilter'
|
|
|
19
19
|
import { DecompressionManager } from '../../sdk/Decompress/DecompressionManager';
|
|
20
20
|
import path from 'path';
|
|
21
21
|
import { LicenseObligationDataProvider } from '../../sdk/Report/DataLayer/DataProviders/LicenseObligationDataProvider';
|
|
22
|
+
import { CryptographyDataProvider } from '../../sdk/Report/DataLayer/DataProviders/CryptographyDataProvider';
|
|
22
23
|
export async function scanHandler(rootPath, options) {
|
|
23
24
|
rootPath = path.resolve(rootPath);
|
|
24
25
|
const pathIsFolder = await isFolder(rootPath);
|
|
@@ -145,6 +146,7 @@ export async function scanHandler(rootPath, options) {
|
|
|
145
146
|
dataProviderManager.addDataProvider(new LicenseDataProvider(scannersResults.scanner, scannersResults.dependencies));
|
|
146
147
|
dataProviderManager.addDataProvider(new SummaryDataProvider(projectName, new Date(), scannersResults.scanner));
|
|
147
148
|
dataProviderManager.addDataProvider(new LicenseObligationDataProvider(scannersResults.scanner, scannersResults.dependencies));
|
|
149
|
+
dataProviderManager.addDataProvider(new CryptographyDataProvider(null, scannersResults.scanner));
|
|
148
150
|
const report = new Report(dataProviderManager);
|
|
149
151
|
scannerResultsString = await report.getHTML();
|
|
150
152
|
}
|
|
@@ -153,4 +155,4 @@ export async function scanHandler(rootPath, options) {
|
|
|
153
155
|
else
|
|
154
156
|
console.log(scannerResultsString);
|
|
155
157
|
}
|
|
156
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
158
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nhbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jbGkvY29tbWFuZHMvc2Nhbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFFcEIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3BELE9BQU8sRUFDTCxRQUFRLEVBQ1IsYUFBYSxFQUdiLGFBQWEsR0FDZCxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDM0MsT0FBTyxXQUFXLE1BQU0sY0FBYyxDQUFDO0FBRXZDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFN0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDbkYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFFN0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNyRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQztBQUN2RyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxpRUFBaUUsQ0FBQztBQUN6RyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUNuRyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUNuRyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUs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
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { CryptoAlgorithm } from '../../Cryptography/CryptographyTypes';
|
|
2
|
+
import { CryptoItem } from '../../Cryptography/Scanneable/CryptoItem';
|
|
1
3
|
/************* Component interface definition *************/
|
|
2
4
|
export interface ComponentDataLayer {
|
|
3
5
|
key: string;
|
|
@@ -101,6 +103,16 @@ export interface SummaryDataLayer {
|
|
|
101
103
|
noMatchFiles: number;
|
|
102
104
|
totalFiles: number;
|
|
103
105
|
}
|
|
106
|
+
export interface ComponentCryptography {
|
|
107
|
+
purl: string;
|
|
108
|
+
version: string;
|
|
109
|
+
algorithms: Array<CryptoAlgorithm>;
|
|
110
|
+
}
|
|
111
|
+
/*********************** Files ****************************/
|
|
112
|
+
export interface CryptographyDataLayer {
|
|
113
|
+
files: Array<CryptoItem>;
|
|
114
|
+
components: Array<ComponentCryptography>;
|
|
115
|
+
}
|
|
104
116
|
export interface IDataLayers {
|
|
105
117
|
licenses: LicenseDataLayer[];
|
|
106
118
|
licensesObligations: LicenseObligation[];
|
|
@@ -108,6 +120,7 @@ export interface IDataLayers {
|
|
|
108
120
|
dependencies: DependencyDataLayer[];
|
|
109
121
|
vulnerabilities: VulnerabilityDataLayer[];
|
|
110
122
|
summary: SummaryDataLayer;
|
|
123
|
+
cryptography: CryptographyDataLayer;
|
|
111
124
|
}
|
|
112
125
|
export interface DataProvider {
|
|
113
126
|
getData(): Promise<IDataLayers>;
|
|
@@ -13,10 +13,11 @@ export class DataProviderManager {
|
|
|
13
13
|
summary: null,
|
|
14
14
|
licenses: null,
|
|
15
15
|
licensesObligations: null,
|
|
16
|
+
cryptography: null,
|
|
16
17
|
};
|
|
17
18
|
for (const layer of this.dataLayersProviders)
|
|
18
19
|
Object.assign(dataLayer, await layer.getData());
|
|
19
20
|
return dataLayer;
|
|
20
21
|
}
|
|
21
22
|
}
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0YVByb3ZpZGVyTWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9zZGsvUmVwb3J0L0RhdGFMYXllci9EYXRhUHJvdmlkZXJNYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxtQkFBbUI7SUFHOUI7UUFDRSxJQUFJLENBQUMsbUJBQW1CLEdBQUcsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFTSxlQUFlLENBQUMsQ0FBZTtRQUNwQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFTSxLQUFLLENBQUMsWUFBWTtRQUN2QixJQUFJLFNBQVMsR0FBZ0I7WUFDM0IsU0FBUyxFQUFFLElBQUk7WUFDZixZQUFZLEVBQUUsSUFBSTtZQUNsQixlQUFlLEVBQUUsSUFBSTtZQUNyQixPQUFPLEVBQUUsSUFBSTtZQUNiLFFBQVEsRUFBRSxJQUFJO1lBQ2QsbUJBQW1CLEVBQUUsSUFBSTtZQUN6QixZQUFZLEVBQUUsSUFBSTtTQUNuQixDQUFDO1FBRUYsS0FBSyxNQUFNLEtBQUssSUFBSSxJQUFJLENBQUMsbUJBQW1CO1lBQzFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLE1BQU0sS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDbEQsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztDQUNGIn0=
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { DataProvider, IDataLayers } from '../DataLayerTypes';
|
|
2
|
+
import { ScannerResults } from '../../../scanner/ScannerTypes';
|
|
3
|
+
import { ICryptoItem } from '../../../Cryptography/CryptographyTypes';
|
|
4
|
+
export declare class CryptographyDataProvider implements DataProvider {
|
|
5
|
+
private files;
|
|
6
|
+
private scanRawResults;
|
|
7
|
+
private componentList;
|
|
8
|
+
constructor(files: Array<ICryptoItem>, scanRawResults: ScannerResults);
|
|
9
|
+
getData(): Promise<IDataLayers>;
|
|
10
|
+
private getCrypto;
|
|
11
|
+
private normalizeAlgorithms;
|
|
12
|
+
private removeRepeatedAlgorithms;
|
|
13
|
+
getLayerName(): string;
|
|
14
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
export class CryptographyDataProvider {
|
|
2
|
+
constructor(files, scanRawResults) {
|
|
3
|
+
this.files = files;
|
|
4
|
+
this.scanRawResults = scanRawResults;
|
|
5
|
+
}
|
|
6
|
+
async getData() {
|
|
7
|
+
if (!this.files && !this.scanRawResults)
|
|
8
|
+
return { cryptography: null };
|
|
9
|
+
this.componentList = Object.values(this.scanRawResults).flat();
|
|
10
|
+
this.componentList = this.componentList.filter((component) => component.id !== 'none');
|
|
11
|
+
const componentCryptography = this.getCrypto(this.componentList);
|
|
12
|
+
return {
|
|
13
|
+
cryptography: {
|
|
14
|
+
files: this.files,
|
|
15
|
+
components: componentCryptography,
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
getCrypto(scanComponents) {
|
|
20
|
+
const componentCrypto = [];
|
|
21
|
+
scanComponents.forEach((c) => {
|
|
22
|
+
if (c.cryptography.length > 0) {
|
|
23
|
+
const crypto = {
|
|
24
|
+
purl: c.purl,
|
|
25
|
+
version: c.version,
|
|
26
|
+
algorithms: c.cryptography
|
|
27
|
+
};
|
|
28
|
+
componentCrypto.push(crypto);
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
return this.normalizeAlgorithms(componentCrypto);
|
|
32
|
+
}
|
|
33
|
+
normalizeAlgorithms(crypto) {
|
|
34
|
+
crypto.forEach((c) => {
|
|
35
|
+
c.algorithms = this.removeRepeatedAlgorithms(c.algorithms);
|
|
36
|
+
});
|
|
37
|
+
return crypto;
|
|
38
|
+
}
|
|
39
|
+
removeRepeatedAlgorithms(algorithms) {
|
|
40
|
+
const algorithmsMapper = new Map();
|
|
41
|
+
algorithms.forEach((a) => {
|
|
42
|
+
const algorithmToLowerCase = a.algorithm.toLowerCase();
|
|
43
|
+
algorithmsMapper.set(algorithmToLowerCase, { ...a, algorithm: algorithmToLowerCase });
|
|
44
|
+
});
|
|
45
|
+
return Array.from(algorithmsMapper.values());
|
|
46
|
+
}
|
|
47
|
+
getLayerName() {
|
|
48
|
+
return '';
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3J5cHRvZ3JhcGh5RGF0YVByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3Nkay9SZXBvcnQvRGF0YUxheWVyL0RhdGFQcm92aWRlcnMvQ3J5cHRvZ3JhcGh5RGF0YVByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWVBLE1BQU0sT0FBTyx3QkFBd0I7SUFJbkMsWUFBWSxLQUF5QixFQUFJLGNBQThCO1FBQ3JFLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFDO0lBQ3ZDLENBQUM7SUFDRCxLQUFLLENBQUMsT0FBTztRQUVYLElBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWM7WUFBRSxPQUFvQixFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsQ0FBQTtRQUVsRixJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQy9ELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQzVDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxLQUFLLE1BQU0sQ0FDdkMsQ0FBQztRQUVGLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFbEUsT0FBb0I7WUFDakIsWUFBWSxFQUFDO2dCQUNYLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztnQkFDakIsVUFBVSxFQUFFLHFCQUFxQjthQUNsQztTQUNILENBQUE7SUFDRixDQUFDO0lBRU8sU0FBUyxDQUFDLGNBQXVDO1FBQ3ZELE1BQU0sZUFBZSxHQUFHLEVBQUUsQ0FBQztRQUMzQixjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUU7WUFDeEIsSUFBRyxDQUFDLENBQUMsWUFBWSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUM7Z0JBQzNCLE1BQU0sTUFBTSxHQUFHO29CQUNiLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSTtvQkFDWixPQUFPLEVBQUUsQ0FBQyxDQUFDLE9BQU87b0JBQ2xCLFVBQVUsRUFBRSxDQUFDLENBQUMsWUFBWTtpQkFDM0IsQ0FBQTtnQkFDRCxlQUFlLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQzlCO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxlQUFlLENBQUMsQ0FBQTtJQUNsRCxDQUFDO0lBRU8sbUJBQW1CLENBQUMsTUFBb0M7UUFDOUQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBQyxFQUFFO1lBQ2xCLENBQUMsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM3RCxDQUFDLENBQUMsQ0FBQTtRQUVGLE9BQU8sTUFBTSxDQUFDO0lBRWhCLENBQUM7SUFFTyx3QkFBd0IsQ0FBQyxVQUFrQztRQUNqRSxNQUFNLGdCQUFnQixHQUFHLElBQUksR0FBRyxFQUFtRCxDQUFDO1FBQ3BGLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUN2QixNQUFNLG9CQUFvQixHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdkQsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLG9CQUFvQixFQUFFLEVBQUMsR0FBRyxDQUFDLEVBQUUsU0FBUyxFQUFFLG9CQUFvQixFQUFDLENBQUMsQ0FBQTtRQUNyRixDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxZQUFZO1FBQ1YsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0NBQ0YifQ==
|
|
@@ -1217,12 +1217,12 @@
|
|
|
1217
1217
|
"affectsGlobalScope": false
|
|
1218
1218
|
},
|
|
1219
1219
|
"../../src/sdk/Report/DataLayer/DataLayerTypes.ts": {
|
|
1220
|
-
"version": "
|
|
1221
|
-
"signature": "
|
|
1220
|
+
"version": "e9e9d3016d8d3270231816877a3cb30bb3247b4b36bd0b76ccc1b8de561dd23a",
|
|
1221
|
+
"signature": "8eab1457b27a3bf565d75952fc5732a583a732f58caf45aa8e09b102073b8b2e",
|
|
1222
1222
|
"affectsGlobalScope": false
|
|
1223
1223
|
},
|
|
1224
1224
|
"../../src/sdk/Report/DataLayer/DataProviderManager.ts": {
|
|
1225
|
-
"version": "
|
|
1225
|
+
"version": "2bdc1567cf4a01b31a828630cecb537236aa179f7844f11fe290303fd6678d06",
|
|
1226
1226
|
"signature": "6ac2d5cf00bfdf922dd4a044ca9a615bec171bc37f6fc7a15f9b0e37428f24b4",
|
|
1227
1227
|
"affectsGlobalScope": false
|
|
1228
1228
|
},
|
|
@@ -1361,8 +1361,13 @@
|
|
|
1361
1361
|
"signature": "32757bb69660a0ac7cf0e6e1d6d76b506613a499b56d4ef09ca08905945cb13d",
|
|
1362
1362
|
"affectsGlobalScope": false
|
|
1363
1363
|
},
|
|
1364
|
+
"../../src/sdk/Report/DataLayer/DataProviders/CryptographyDataProvider.ts": {
|
|
1365
|
+
"version": "1d5eb05485e6990d80095ca9b8182c8dd0474e4fea5b1f96488bc5027ad4ead3",
|
|
1366
|
+
"signature": "17526d69c3c8accab8f9f30a1ffe9449da6f5a6a39811b3938dfa2b690300e7d",
|
|
1367
|
+
"affectsGlobalScope": false
|
|
1368
|
+
},
|
|
1364
1369
|
"../../src/cli/commands/scan.ts": {
|
|
1365
|
-
"version": "
|
|
1370
|
+
"version": "28f9db3f8331f3109295e4bdb1f49f27c8cb32e8b05492b3084335dd604658c3",
|
|
1366
1371
|
"signature": "f2270f14186fb9298c65d83f391db3cefc5e9c40bfae8007515176acc583e131",
|
|
1367
1372
|
"affectsGlobalScope": false
|
|
1368
1373
|
},
|
|
@@ -2591,6 +2596,7 @@
|
|
|
2591
2596
|
"../../src/sdk/Dependencies/DependencyTypes.ts",
|
|
2592
2597
|
"../../src/sdk/Report/DataLayer/DataProviderManager.ts",
|
|
2593
2598
|
"../../src/sdk/Report/DataLayer/DataProviders/ComponentDataProvider.ts",
|
|
2599
|
+
"../../src/sdk/Report/DataLayer/DataProviders/CryptographyDataProvider.ts",
|
|
2594
2600
|
"../../src/sdk/Report/DataLayer/DataProviders/DependencyDataProvider.ts",
|
|
2595
2601
|
"../../src/sdk/Report/DataLayer/DataProviders/LicenseDataProvider.ts",
|
|
2596
2602
|
"../../src/sdk/Report/DataLayer/DataProviders/LicenseObligationDataProvider.ts",
|
|
@@ -2865,7 +2871,9 @@
|
|
|
2865
2871
|
"../../node_modules/@types/node/util.d.ts"
|
|
2866
2872
|
],
|
|
2867
2873
|
"../../src/sdk/Report/DataLayer/DataLayerTypes.ts": [
|
|
2868
|
-
"../../node_modules/@types/node/util.d.ts"
|
|
2874
|
+
"../../node_modules/@types/node/util.d.ts",
|
|
2875
|
+
"../../src/sdk/Cryptography/CryptographyTypes.ts",
|
|
2876
|
+
"../../src/sdk/Cryptography/Scanneable/CryptoItem.ts"
|
|
2869
2877
|
],
|
|
2870
2878
|
"../../src/sdk/Report/DataLayer/DataProviderManager.ts": [
|
|
2871
2879
|
"../../node_modules/@types/node/util.d.ts",
|
|
@@ -2877,6 +2885,13 @@
|
|
|
2877
2885
|
"../../src/sdk/Report/DataLayer/DataLayerTypes.ts",
|
|
2878
2886
|
"../../src/sdk/scanner/ScannerTypes.ts"
|
|
2879
2887
|
],
|
|
2888
|
+
"../../src/sdk/Report/DataLayer/DataProviders/CryptographyDataProvider.ts": [
|
|
2889
|
+
"../../node_modules/@types/node/util.d.ts",
|
|
2890
|
+
"../../src/sdk/Cryptography/CryptographyTypes.ts",
|
|
2891
|
+
"../../src/sdk/Dependencies/DependencyTypes.ts",
|
|
2892
|
+
"../../src/sdk/Report/DataLayer/DataLayerTypes.ts",
|
|
2893
|
+
"../../src/sdk/scanner/ScannerTypes.ts"
|
|
2894
|
+
],
|
|
2880
2895
|
"../../src/sdk/Report/DataLayer/DataProviders/DependencyDataProvider.ts": [
|
|
2881
2896
|
"../../node_modules/@types/node/util.d.ts",
|
|
2882
2897
|
"../../src/sdk/Dependencies/DependencyTypes.ts",
|
|
@@ -4332,6 +4347,10 @@
|
|
|
4332
4347
|
"../../src/sdk/Filtering/DefaultFilterForScanning.ts": [
|
|
4333
4348
|
"../../src/sdk/Filtering/Filtering.ts"
|
|
4334
4349
|
],
|
|
4350
|
+
"../../src/sdk/Report/DataLayer/DataLayerTypes.ts": [
|
|
4351
|
+
"../../src/sdk/Cryptography/CryptographyTypes.ts",
|
|
4352
|
+
"../../src/sdk/Cryptography/Scanneable/CryptoItem.ts"
|
|
4353
|
+
],
|
|
4335
4354
|
"../../src/sdk/Report/DataLayer/DataProviderManager.ts": [
|
|
4336
4355
|
"../../src/sdk/Report/DataLayer/DataLayerTypes.ts"
|
|
4337
4356
|
],
|
|
@@ -4340,6 +4359,11 @@
|
|
|
4340
4359
|
"../../src/sdk/Report/DataLayer/DataLayerTypes.ts",
|
|
4341
4360
|
"../../src/sdk/scanner/ScannerTypes.ts"
|
|
4342
4361
|
],
|
|
4362
|
+
"../../src/sdk/Report/DataLayer/DataProviders/CryptographyDataProvider.ts": [
|
|
4363
|
+
"../../src/sdk/Cryptography/CryptographyTypes.ts",
|
|
4364
|
+
"../../src/sdk/Report/DataLayer/DataLayerTypes.ts",
|
|
4365
|
+
"../../src/sdk/scanner/ScannerTypes.ts"
|
|
4366
|
+
],
|
|
4343
4367
|
"../../src/sdk/Report/DataLayer/DataProviders/DependencyDataProvider.ts": [
|
|
4344
4368
|
"../../src/sdk/Dependencies/DependencyTypes.ts",
|
|
4345
4369
|
"../../src/sdk/Report/DataLayer/DataLayerTypes.ts"
|
|
@@ -4735,6 +4759,7 @@
|
|
|
4735
4759
|
"../../src/sdk/Report/DataLayer/DataLayerTypes.ts",
|
|
4736
4760
|
"../../src/sdk/Report/DataLayer/DataProviderManager.ts",
|
|
4737
4761
|
"../../src/sdk/Report/DataLayer/DataProviders/ComponentDataProvider.ts",
|
|
4762
|
+
"../../src/sdk/Report/DataLayer/DataProviders/CryptographyDataProvider.ts",
|
|
4738
4763
|
"../../src/sdk/Report/DataLayer/DataProviders/DependencyDataProvider.ts",
|
|
4739
4764
|
"../../src/sdk/Report/DataLayer/DataProviders/LicenseDataProvider.ts",
|
|
4740
4765
|
"../../src/sdk/Report/DataLayer/DataProviders/LicenseObligationDataProvider.ts",
|
package/package.json
CHANGED