scanoss 0.12.2 → 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 +6 -0
- package/assets/ReportHTMLTemplate/index.html +82 -37
- package/build/main/cli/bin/cli-bin.js +2 -1
- package/build/main/cli/commands/crypto.js +5 -2
- package/build/main/cli/commands/scan.js +3 -1
- package/build/main/sdk/Cryptography/CryptoCfg.d.ts +10 -2
- package/build/main/sdk/Cryptography/CryptoCfg.js +11 -4
- package/build/main/sdk/Cryptography/CryptoProvider/LocalCrypto.d.ts +3 -8
- package/build/main/sdk/Cryptography/CryptoProvider/LocalCrypto.js +10 -43
- package/build/main/sdk/Cryptography/CryptographyScanner.js +2 -2
- package/build/main/sdk/Cryptography/Worker/ThreadPool.d.ts +21 -0
- package/build/main/sdk/Cryptography/Worker/ThreadPool.js +86 -0
- package/build/main/sdk/Cryptography/Worker/Worker.d.ts +16 -0
- package/build/main/sdk/Cryptography/Worker/Worker.js +68 -0
- package/build/main/sdk/Cryptography/utils/adapters/cryptoAdapters.js +2 -2
- 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 +72 -14
- package/build/module/cli/bin/cli-bin.js +2 -1
- package/build/module/cli/commands/crypto.js +5 -2
- package/build/module/cli/commands/scan.js +3 -1
- package/build/module/sdk/Cryptography/CryptoCfg.d.ts +10 -2
- package/build/module/sdk/Cryptography/CryptoCfg.js +11 -4
- package/build/module/sdk/Cryptography/CryptoProvider/LocalCrypto.d.ts +3 -8
- package/build/module/sdk/Cryptography/CryptoProvider/LocalCrypto.js +10 -40
- package/build/module/sdk/Cryptography/CryptographyScanner.js +2 -2
- package/build/module/sdk/Cryptography/Worker/ThreadPool.d.ts +21 -0
- package/build/module/sdk/Cryptography/Worker/ThreadPool.js +83 -0
- package/build/module/sdk/Cryptography/Worker/Worker.d.ts +16 -0
- package/build/module/sdk/Cryptography/Worker/Worker.js +65 -0
- package/build/module/sdk/Cryptography/utils/adapters/cryptoAdapters.js +2 -2
- 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 +72 -14
- package/package.json +1 -1
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2
|
+
exports.Worker = void 0;
|
|
3
|
+
const worker_threads_1 = require("worker_threads");
|
|
4
|
+
const stringWorker = `
|
|
5
|
+
const { parentPort } = require('worker_threads');
|
|
6
|
+
const fs = require('fs');
|
|
7
|
+
|
|
8
|
+
parentPort.on('message', async (data) => {
|
|
9
|
+
|
|
10
|
+
const MAX_FILE_SIZE = 2 * 1024 * 1024 * 1024;
|
|
11
|
+
|
|
12
|
+
const { item, rules , cryptoMapper, id } = data;
|
|
13
|
+
|
|
14
|
+
const cryptoFound = new Array();
|
|
15
|
+
const stats = await fs.promises.stat(item.file);
|
|
16
|
+
if (stats.size > MAX_FILE_SIZE) {
|
|
17
|
+
item.algorithms = [];
|
|
18
|
+
parentPort.postMessage({ result: item, id });
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
let content = fs.readFileSync(item.file, 'utf-8');
|
|
23
|
+
rules.forEach((value, key) => {
|
|
24
|
+
try {
|
|
25
|
+
const matches = content.match(value);
|
|
26
|
+
if (matches) {
|
|
27
|
+
cryptoFound.push(key);
|
|
28
|
+
}
|
|
29
|
+
} catch (e){
|
|
30
|
+
console.error(e);
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
const results = [];
|
|
34
|
+
cryptoFound.forEach((cf)=>{
|
|
35
|
+
results.push(cryptoMapper.get(cf));
|
|
36
|
+
});
|
|
37
|
+
item.algorithms = results;
|
|
38
|
+
parentPort.postMessage({ result: item, id });
|
|
39
|
+
});
|
|
40
|
+
`;
|
|
41
|
+
class Worker extends worker_threads_1.Worker {
|
|
42
|
+
constructor() {
|
|
43
|
+
super(stringWorker, { eval: true });
|
|
44
|
+
this.free = true;
|
|
45
|
+
}
|
|
46
|
+
getId() {
|
|
47
|
+
return this.threadId;
|
|
48
|
+
}
|
|
49
|
+
release() {
|
|
50
|
+
this.free = true;
|
|
51
|
+
}
|
|
52
|
+
isFree() {
|
|
53
|
+
return this.free;
|
|
54
|
+
}
|
|
55
|
+
on(event, listener) {
|
|
56
|
+
if (event === 'error') {
|
|
57
|
+
this.free = true;
|
|
58
|
+
}
|
|
59
|
+
// Call super.on with the provided arguments
|
|
60
|
+
return super.on(event, listener);
|
|
61
|
+
}
|
|
62
|
+
run(value, transferList) {
|
|
63
|
+
this.free = false;
|
|
64
|
+
this.postMessage(Object.assign(Object.assign({}, value), { id: this.threadId }));
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
exports.Worker = Worker;
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV29ya2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3Nkay9DcnlwdG9ncmFwaHkvV29ya2VyL1dvcmtlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLG1EQUE4RTtBQUk5RSxNQUFNLFlBQVksR0FBRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBb0NwQixDQUFDO0FBT0YsTUFBYSxNQUFPLFNBQVEsdUJBQUM7SUFLM0I7UUFDRSxLQUFLLENBQUMsWUFBWSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUVNLEtBQUs7UUFDVixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVNLE9BQU87UUFDWixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUNuQixDQUFDO0lBRU0sTUFBTTtRQUNYLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNuQixDQUFDO0lBRUQsRUFBRSxDQUFDLEtBQUssRUFBRSxRQUFRO1FBQ2hCLElBQUksS0FBSyxLQUFLLE9BQU8sRUFBRTtZQUNyQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztTQUNsQjtRQUNELDRDQUE0QztRQUMzQyxPQUFPLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBRXBDLENBQUM7SUFDTSxHQUFHLENBQUUsS0FBVSxFQUFFLFlBQThDO1FBQ3BFLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxXQUFXLGlDQUFLLEtBQUssS0FBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLFFBQVEsSUFBRyxDQUFDO0lBQ25ELENBQUM7Q0FFRjtBQW5DRCx3QkFtQ0MifQ==
|
|
@@ -6,10 +6,10 @@ exports.mapToILocalCryptographyResponse = void 0;
|
|
|
6
6
|
* @returns An ILocalCryptographyResponse object containing mapped cryptographic items.
|
|
7
7
|
*/
|
|
8
8
|
function mapToILocalCryptographyResponse(ci) {
|
|
9
|
-
const fileList = ci.map((c) => ({ file: c.
|
|
9
|
+
const fileList = ci.map((c) => ({ file: c.file, algorithms: c.algorithms }));
|
|
10
10
|
return {
|
|
11
11
|
fileList
|
|
12
12
|
};
|
|
13
13
|
}
|
|
14
14
|
exports.mapToILocalCryptographyResponse = mapToILocalCryptographyResponse;
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3J5cHRvQWRhcHRlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvc2RrL0NyeXB0b2dyYXBoeS91dGlscy9hZGFwdGVycy9jcnlwdG9BZGFwdGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUdBOzs7O0dBSUc7QUFDSCxTQUFnQiwrQkFBK0IsQ0FBQyxFQUFxQjtJQUNuRSxNQUFNLFFBQVEsR0FBdUIsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsQ0FBQyxFQUFHLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFHLFVBQVUsRUFBRSxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2xHLE9BQU87UUFDTCxRQUFRO0tBQ1QsQ0FBQTtBQUNILENBQUM7QUFMRCwwRUFLQyJ9
|
|
@@ -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
|
|
@@ -1186,33 +1186,43 @@
|
|
|
1186
1186
|
"signature": "42ef1caff70c5da8c9c6ebc82ac2ebdc21bf60274786a6a4707b7d983e47f50c",
|
|
1187
1187
|
"affectsGlobalScope": false
|
|
1188
1188
|
},
|
|
1189
|
+
"../../src/sdk/Cryptography/Worker/Worker.ts": {
|
|
1190
|
+
"version": "63d1850409c989b9486228d957316f536f1ff586ab0731eb763ab888148ea822",
|
|
1191
|
+
"signature": "ccb42ecdc7e2a04167368763d46f7eb3c79a44fbeda79498b8b42f0223c72909",
|
|
1192
|
+
"affectsGlobalScope": false
|
|
1193
|
+
},
|
|
1194
|
+
"../../src/sdk/Cryptography/Worker/ThreadPool.ts": {
|
|
1195
|
+
"version": "e8c8885745c6d05a2ed9c216322bf729908e3e60a8a1e47a08140557c9fb15ca",
|
|
1196
|
+
"signature": "37421d8f7f9700f710ad8a654635bdc1a42d46e8cf101604eedc49a23e6f877c",
|
|
1197
|
+
"affectsGlobalScope": false
|
|
1198
|
+
},
|
|
1189
1199
|
"../../src/sdk/Cryptography/CryptoProvider/LocalCrypto.ts": {
|
|
1190
|
-
"version": "
|
|
1191
|
-
"signature": "
|
|
1200
|
+
"version": "7eff76625475ea0d15e0026797b4ba166acc54a6e8373e4993c32b85b12ac7da",
|
|
1201
|
+
"signature": "a26649da45a1cb7044e9ff16c813111ca599f24fde0b7a275ad4cafa200556fe",
|
|
1192
1202
|
"affectsGlobalScope": false
|
|
1193
1203
|
},
|
|
1194
1204
|
"../../src/sdk/Cryptography/CryptoCfg.ts": {
|
|
1195
|
-
"version": "
|
|
1196
|
-
"signature": "
|
|
1205
|
+
"version": "9d7472e2a06ed91f0d97cdb0be0aab4e805fe7b89d1b99024e0dc7bea2bd9975",
|
|
1206
|
+
"signature": "556b688ca25d64662be634b41ba6613f442f17b9e34608105f0d6c01c5e821b3",
|
|
1197
1207
|
"affectsGlobalScope": false
|
|
1198
1208
|
},
|
|
1199
1209
|
"../../src/sdk/Cryptography/utils/adapters/cryptoAdapters.ts": {
|
|
1200
|
-
"version": "
|
|
1210
|
+
"version": "ca0db37074d84c4c8d2a3ef96d5d3811ad92e4def2a03349ee05e08000d7fbbe",
|
|
1201
1211
|
"signature": "07fb866e2304237f9fde84da70e3443430d2a377c0b463ec475ac50ab69ce8e3",
|
|
1202
1212
|
"affectsGlobalScope": false
|
|
1203
1213
|
},
|
|
1204
1214
|
"../../src/sdk/Cryptography/CryptographyScanner.ts": {
|
|
1205
|
-
"version": "
|
|
1215
|
+
"version": "6468e7d976bd50b3388685836539234a8fad3b9feae5c36c72f88dc7312c4f98",
|
|
1206
1216
|
"signature": "8c3e8e247c583b1144e13ee4ffe30b01377687eb25d88af8828d69e96f17ddd4",
|
|
1207
1217
|
"affectsGlobalScope": false
|
|
1208
1218
|
},
|
|
1209
1219
|
"../../src/sdk/Report/DataLayer/DataLayerTypes.ts": {
|
|
1210
|
-
"version": "
|
|
1211
|
-
"signature": "
|
|
1220
|
+
"version": "e9e9d3016d8d3270231816877a3cb30bb3247b4b36bd0b76ccc1b8de561dd23a",
|
|
1221
|
+
"signature": "8eab1457b27a3bf565d75952fc5732a583a732f58caf45aa8e09b102073b8b2e",
|
|
1212
1222
|
"affectsGlobalScope": false
|
|
1213
1223
|
},
|
|
1214
1224
|
"../../src/sdk/Report/DataLayer/DataProviderManager.ts": {
|
|
1215
|
-
"version": "
|
|
1225
|
+
"version": "2bdc1567cf4a01b31a828630cecb537236aa179f7844f11fe290303fd6678d06",
|
|
1216
1226
|
"signature": "6ac2d5cf00bfdf922dd4a044ca9a615bec171bc37f6fc7a15f9b0e37428f24b4",
|
|
1217
1227
|
"affectsGlobalScope": false
|
|
1218
1228
|
},
|
|
@@ -1351,8 +1361,13 @@
|
|
|
1351
1361
|
"signature": "32757bb69660a0ac7cf0e6e1d6d76b506613a499b56d4ef09ca08905945cb13d",
|
|
1352
1362
|
"affectsGlobalScope": false
|
|
1353
1363
|
},
|
|
1364
|
+
"../../src/sdk/Report/DataLayer/DataProviders/CryptographyDataProvider.ts": {
|
|
1365
|
+
"version": "1d5eb05485e6990d80095ca9b8182c8dd0474e4fea5b1f96488bc5027ad4ead3",
|
|
1366
|
+
"signature": "17526d69c3c8accab8f9f30a1ffe9449da6f5a6a39811b3938dfa2b690300e7d",
|
|
1367
|
+
"affectsGlobalScope": false
|
|
1368
|
+
},
|
|
1354
1369
|
"../../src/cli/commands/scan.ts": {
|
|
1355
|
-
"version": "
|
|
1370
|
+
"version": "28f9db3f8331f3109295e4bdb1f49f27c8cb32e8b05492b3084335dd604658c3",
|
|
1356
1371
|
"signature": "f2270f14186fb9298c65d83f391db3cefc5e9c40bfae8007515176acc583e131",
|
|
1357
1372
|
"affectsGlobalScope": false
|
|
1358
1373
|
},
|
|
@@ -1362,12 +1377,12 @@
|
|
|
1362
1377
|
"affectsGlobalScope": false
|
|
1363
1378
|
},
|
|
1364
1379
|
"../../src/cli/commands/crypto.ts": {
|
|
1365
|
-
"version": "
|
|
1380
|
+
"version": "406a726fb9349e5bc24ac82927f6cbc01b7029fae72362a47f4ac71d34ec4193",
|
|
1366
1381
|
"signature": "7facac4a5ac19854614a21eacbcb2f83eaadab500bd6f73aa80c7f8100cce221",
|
|
1367
1382
|
"affectsGlobalScope": false
|
|
1368
1383
|
},
|
|
1369
1384
|
"../../src/cli/bin/cli-bin.ts": {
|
|
1370
|
-
"version": "
|
|
1385
|
+
"version": "8556937d76e99dfb660e52ff7f714829ebe1cb548ded334a65d7d36c770d9bb3",
|
|
1371
1386
|
"signature": "43e818adf60173644896298637f47b01d5819b17eda46eaa32d0c7d64724d012",
|
|
1372
1387
|
"affectsGlobalScope": false
|
|
1373
1388
|
},
|
|
@@ -2581,6 +2596,7 @@
|
|
|
2581
2596
|
"../../src/sdk/Dependencies/DependencyTypes.ts",
|
|
2582
2597
|
"../../src/sdk/Report/DataLayer/DataProviderManager.ts",
|
|
2583
2598
|
"../../src/sdk/Report/DataLayer/DataProviders/ComponentDataProvider.ts",
|
|
2599
|
+
"../../src/sdk/Report/DataLayer/DataProviders/CryptographyDataProvider.ts",
|
|
2584
2600
|
"../../src/sdk/Report/DataLayer/DataProviders/DependencyDataProvider.ts",
|
|
2585
2601
|
"../../src/sdk/Report/DataLayer/DataProviders/LicenseDataProvider.ts",
|
|
2586
2602
|
"../../src/sdk/Report/DataLayer/DataProviders/LicenseObligationDataProvider.ts",
|
|
@@ -2656,7 +2672,8 @@
|
|
|
2656
2672
|
"../../node_modules/@types/node/util.d.ts",
|
|
2657
2673
|
"../../src/sdk/Cryptography/CryptoDef/CryptoDef.ts",
|
|
2658
2674
|
"../../src/sdk/Cryptography/CryptographyTypes.ts",
|
|
2659
|
-
"../../src/sdk/Cryptography/Scanneable/CryptoItem.ts"
|
|
2675
|
+
"../../src/sdk/Cryptography/Scanneable/CryptoItem.ts",
|
|
2676
|
+
"../../src/sdk/Cryptography/Worker/ThreadPool.ts"
|
|
2660
2677
|
],
|
|
2661
2678
|
"../../src/sdk/Cryptography/CryptographyScanner.ts": [
|
|
2662
2679
|
"../../node_modules/@types/node/fs.d.ts",
|
|
@@ -2675,6 +2692,18 @@
|
|
|
2675
2692
|
"../../node_modules/@types/node/util.d.ts",
|
|
2676
2693
|
"../../src/sdk/Cryptography/CryptographyTypes.ts"
|
|
2677
2694
|
],
|
|
2695
|
+
"../../src/sdk/Cryptography/Worker/ThreadPool.ts": [
|
|
2696
|
+
"../../node_modules/@types/node/util.d.ts",
|
|
2697
|
+
"../../src/sdk/Cryptography/CryptographyTypes.ts",
|
|
2698
|
+
"../../src/sdk/Cryptography/Scanneable/CryptoItem.ts",
|
|
2699
|
+
"../../src/sdk/Cryptography/Worker/Worker.ts"
|
|
2700
|
+
],
|
|
2701
|
+
"../../src/sdk/Cryptography/Worker/Worker.ts": [
|
|
2702
|
+
"../../node_modules/@types/node/url.d.ts",
|
|
2703
|
+
"../../node_modules/@types/node/util.d.ts",
|
|
2704
|
+
"../../node_modules/@types/node/worker_threads.d.ts",
|
|
2705
|
+
"../../src/sdk/Cryptography/Scanneable/CryptoItem.ts"
|
|
2706
|
+
],
|
|
2678
2707
|
"../../src/sdk/Cryptography/utils/adapters/cryptoAdapters.ts": [
|
|
2679
2708
|
"../../node_modules/@types/node/util.d.ts",
|
|
2680
2709
|
"../../src/sdk/Cryptography/CryptographyTypes.ts",
|
|
@@ -2842,7 +2871,9 @@
|
|
|
2842
2871
|
"../../node_modules/@types/node/util.d.ts"
|
|
2843
2872
|
],
|
|
2844
2873
|
"../../src/sdk/Report/DataLayer/DataLayerTypes.ts": [
|
|
2845
|
-
"../../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"
|
|
2846
2877
|
],
|
|
2847
2878
|
"../../src/sdk/Report/DataLayer/DataProviderManager.ts": [
|
|
2848
2879
|
"../../node_modules/@types/node/util.d.ts",
|
|
@@ -2854,6 +2885,13 @@
|
|
|
2854
2885
|
"../../src/sdk/Report/DataLayer/DataLayerTypes.ts",
|
|
2855
2886
|
"../../src/sdk/scanner/ScannerTypes.ts"
|
|
2856
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
|
+
],
|
|
2857
2895
|
"../../src/sdk/Report/DataLayer/DataProviders/DependencyDataProvider.ts": [
|
|
2858
2896
|
"../../node_modules/@types/node/util.d.ts",
|
|
2859
2897
|
"../../src/sdk/Dependencies/DependencyTypes.ts",
|
|
@@ -4242,6 +4280,14 @@
|
|
|
4242
4280
|
"../../src/sdk/Cryptography/Scanneable/CryptoItem.ts": [
|
|
4243
4281
|
"../../src/sdk/Cryptography/CryptographyTypes.ts"
|
|
4244
4282
|
],
|
|
4283
|
+
"../../src/sdk/Cryptography/Worker/ThreadPool.ts": [
|
|
4284
|
+
"../../src/sdk/Cryptography/CryptographyTypes.ts",
|
|
4285
|
+
"../../src/sdk/Cryptography/Scanneable/CryptoItem.ts"
|
|
4286
|
+
],
|
|
4287
|
+
"../../src/sdk/Cryptography/Worker/Worker.ts": [
|
|
4288
|
+
"../../node_modules/@types/node/worker_threads.d.ts",
|
|
4289
|
+
"../../src/sdk/Cryptography/Scanneable/CryptoItem.ts"
|
|
4290
|
+
],
|
|
4245
4291
|
"../../src/sdk/Cryptography/utils/adapters/cryptoAdapters.ts": [
|
|
4246
4292
|
"../../src/sdk/Cryptography/CryptographyTypes.ts",
|
|
4247
4293
|
"../../src/sdk/Cryptography/Scanneable/CryptoItem.ts"
|
|
@@ -4301,6 +4347,10 @@
|
|
|
4301
4347
|
"../../src/sdk/Filtering/DefaultFilterForScanning.ts": [
|
|
4302
4348
|
"../../src/sdk/Filtering/Filtering.ts"
|
|
4303
4349
|
],
|
|
4350
|
+
"../../src/sdk/Report/DataLayer/DataLayerTypes.ts": [
|
|
4351
|
+
"../../src/sdk/Cryptography/CryptographyTypes.ts",
|
|
4352
|
+
"../../src/sdk/Cryptography/Scanneable/CryptoItem.ts"
|
|
4353
|
+
],
|
|
4304
4354
|
"../../src/sdk/Report/DataLayer/DataProviderManager.ts": [
|
|
4305
4355
|
"../../src/sdk/Report/DataLayer/DataLayerTypes.ts"
|
|
4306
4356
|
],
|
|
@@ -4309,6 +4359,11 @@
|
|
|
4309
4359
|
"../../src/sdk/Report/DataLayer/DataLayerTypes.ts",
|
|
4310
4360
|
"../../src/sdk/scanner/ScannerTypes.ts"
|
|
4311
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
|
+
],
|
|
4312
4367
|
"../../src/sdk/Report/DataLayer/DataProviders/DependencyDataProvider.ts": [
|
|
4313
4368
|
"../../src/sdk/Dependencies/DependencyTypes.ts",
|
|
4314
4369
|
"../../src/sdk/Report/DataLayer/DataLayerTypes.ts"
|
|
@@ -4670,6 +4725,8 @@
|
|
|
4670
4725
|
"../../src/sdk/Cryptography/CryptographyScanner.ts",
|
|
4671
4726
|
"../../src/sdk/Cryptography/CryptographyTypes.ts",
|
|
4672
4727
|
"../../src/sdk/Cryptography/Scanneable/CryptoItem.ts",
|
|
4728
|
+
"../../src/sdk/Cryptography/Worker/ThreadPool.ts",
|
|
4729
|
+
"../../src/sdk/Cryptography/Worker/Worker.ts",
|
|
4673
4730
|
"../../src/sdk/Cryptography/utils/adapters/cryptoAdapters.ts",
|
|
4674
4731
|
"../../src/sdk/Decompress/DecompressionManager.ts",
|
|
4675
4732
|
"../../src/sdk/Decompress/Decompressor/DecompressTgz.ts",
|
|
@@ -4702,6 +4759,7 @@
|
|
|
4702
4759
|
"../../src/sdk/Report/DataLayer/DataLayerTypes.ts",
|
|
4703
4760
|
"../../src/sdk/Report/DataLayer/DataProviderManager.ts",
|
|
4704
4761
|
"../../src/sdk/Report/DataLayer/DataProviders/ComponentDataProvider.ts",
|
|
4762
|
+
"../../src/sdk/Report/DataLayer/DataProviders/CryptographyDataProvider.ts",
|
|
4705
4763
|
"../../src/sdk/Report/DataLayer/DataProviders/DependencyDataProvider.ts",
|
|
4706
4764
|
"../../src/sdk/Report/DataLayer/DataProviders/LicenseDataProvider.ts",
|
|
4707
4765
|
"../../src/sdk/Report/DataLayer/DataProviders/LicenseObligationDataProvider.ts",
|
|
@@ -72,6 +72,7 @@ async function main() {
|
|
|
72
72
|
// Options
|
|
73
73
|
cryptography.addOption(new Option("-r, --rules <rules>", "Crypto rules"));
|
|
74
74
|
cryptography.addOption(new Option("-o, --output <filename>", "Output result file name (optional - default stdout)"));
|
|
75
|
+
cryptography.addOption(new Option("-T, --threads <threads>", "Number of threads to use while scanning (optional - default 5)"));
|
|
75
76
|
cryptography.action((source, options) => {
|
|
76
77
|
cryptoHandler(source, options).catch((e) => {
|
|
77
78
|
CLIErrorHandler(e);
|
|
@@ -93,4 +94,4 @@ catch (e) {
|
|
|
93
94
|
console.error(e);
|
|
94
95
|
process.exit(1);
|
|
95
96
|
}
|
|
96
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLWJpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jbGkvYmluL2NsaS1iaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUV0RCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRW5ELFNBQVMsZUFBZSxDQUFDLENBQVE7SUFDL0IsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNuQixPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2pCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEIsQ0FBQztBQUVELEtBQUssVUFBVSxJQUFJO0lBRWpCLE1BQU0sSUFBSSxHQUFHLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2pDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUMzQyxJQUFJLENBQUMsV0FBVyxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDdkMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsaUVBQWlFLENBQUMsQ0FBQztJQUU3RixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksTUFBTSxDQUFDLFdBQVcsRUFBRSxzQ0FBc0MsQ0FBQyxDQUFDLENBQUM7SUFDaEYsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxZQUFZLEVBQUUsOENBQThDLENBQUMsQ0FBQyxDQUFDO0lBQ3pGLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxNQUFNLENBQUMsZUFBZSxFQUFFLDZFQUE2RSxDQUFDLENBQUMsQ0FBQztJQUMzSCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksTUFBTSxDQUFDLHdCQUF3QixFQUFFLCtDQUErQyxDQUFDLENBQUMsQ0FBQztJQUN0RyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksTUFBTSxDQUFDLDRCQUE0QixFQUFFLGlDQUFpQyxDQUFDLENBQUMsQ0FBQztJQUM1RixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksTUFBTSxDQUFDLDhCQUE4QixFQUFFLGlDQUFpQyxDQUFDLENBQUMsQ0FBQztJQUM5RixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksTUFBTSxDQUFDLDRCQUE0QixFQUFFLCtFQUErRSxDQUFDLENBQUMsQ0FBQztJQUMxSSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksTUFBTSxDQUFDLHVCQUF1QixFQUFFLDhDQUE4QyxDQUFDLENBQUMsQ0FBQztJQUNwRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksTUFBTSxDQUFDLHlCQUF5QixFQUFFLHFEQUFxRCxDQUFDLENBQUMsQ0FBQztJQUM3RyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksTUFBTSxDQUFDLHVCQUF1QixFQUFFLHNCQUFzQixDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN0RyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksTUFBTSxDQUFDLHFCQUFxQixFQUFFLG1SQUFtUixDQUFDLENBQUMsQ0FBQztJQUN2VSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksTUFBTSxDQUFDLDJCQUEyQixFQUFFLGlGQUFpRixDQUFDLENBQUMsQ0FBQztJQUMzSSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksTUFBTSxDQUFDLHlCQUF5QixFQUFFLDJEQUEyRCxDQUFDLENBQUMsQ0FBQztJ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
|
|
@@ -10,7 +10,10 @@ export async function cryptoHandler(rootPath, options) {
|
|
|
10
10
|
let cryptoRules = null;
|
|
11
11
|
if (options.rules)
|
|
12
12
|
cryptoRules = options.rules;
|
|
13
|
-
|
|
13
|
+
let threads = null;
|
|
14
|
+
if (options.threads)
|
|
15
|
+
threads = options.threads;
|
|
16
|
+
const cryptoScanner = new CryptographyScanner(new CryptoCfg({ threads, rulesPath: cryptoRules }));
|
|
14
17
|
let fileList = [];
|
|
15
18
|
fileList.push(rootPath);
|
|
16
19
|
if (pathIsFolder) {
|
|
@@ -28,4 +31,4 @@ export async function cryptoHandler(rootPath, options) {
|
|
|
28
31
|
console.log(JSON.stringify(results, null, 2));
|
|
29
32
|
}
|
|
30
33
|
}
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3J5cHRvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NsaS9jb21tYW5kcy9jcnlwdG8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUtyQyxPQUFPLEVBQ0wsbUJBQW1CLEVBQ3BCLE1BQU0sNENBQTRDLENBQUM7QUFDcEQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUM3RCxPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFFcEIsTUFBTSxDQUFDLEtBQUssVUFBVSxhQUFhLENBQUMsUUFBZ0IsRUFBRSxPQUFZO0lBQ2hFLFFBQVEsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFFLGtDQUFrQztJQUMzRSxRQUFRLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFFLDBDQUEwQztJQUNoRyxNQUFNLFlBQVksR0FBRyxNQUFNLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUU5QyxJQUFJLFdBQVcsR0FBRyxJQUFJLENBQUM7SUFDdkIsSUFBRyxPQUFPLENBQUMsS0FBSztRQUFFLFdBQVcsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO0lBRTlDLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQztJQUNuQixJQUFHLE9BQU8sQ0FBQyxPQUFPO1FBQUUsT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUM7SUFFOUMsTUFBTSxhQUFhLEdBQUcsSUFBSSxtQkFBbUIsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxFQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFDLENBQUMsQ0FBQyxDQUFDO0lBRWhHLElBQUksUUFBUSxHQUFrQixFQUFFLENBQUM7SUFDakMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUV4QixJQUFJLFlBQVksRUFBRTtRQUNoQixNQUFNLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDYixRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUNuQztJQUVELE9BQU8sQ0FBQyxHQUFHLENBQUMscUNBQXFDLENBQUMsQ0FBQTtJQUNsRCxNQUFNLE9BQU8sR0FBRyxNQUFNLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFbkQsSUFBRyxPQUFPLENBQUMsTUFBTSxFQUFFO1FBQ2pCLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM5RSxPQUFPLENBQUMsR0FBRyxDQUFDLG9CQUFvQixPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztLQUNuRDtTQUFNO1FBQ0wsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUMvQztBQUVILENBQUMifQ==
|
|
@@ -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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
|
|
@@ -2,15 +2,23 @@
|
|
|
2
2
|
* Represents a configuration for cryptography scanner.
|
|
3
3
|
*/
|
|
4
4
|
export declare class CryptoCfg {
|
|
5
|
+
private readonly DEFAULT_THREADS;
|
|
5
6
|
private readonly rulesPath;
|
|
7
|
+
private readonly threads;
|
|
6
8
|
/**
|
|
7
9
|
* Creates an instance of CryptoCfg.
|
|
8
|
-
* @param
|
|
10
|
+
* @param {Object} cfg - Configuration object.
|
|
11
|
+
* @param {number} [cfg.threads=5] - The number of threads to use. Defaults to 5 if not provided.
|
|
12
|
+
* @param {string} [cfg.rulesPath] - Optional. Path to the cryptography rules file.
|
|
9
13
|
*/
|
|
10
|
-
constructor(
|
|
14
|
+
constructor(cfg: {
|
|
15
|
+
threads: number;
|
|
16
|
+
rulesPath: string;
|
|
17
|
+
});
|
|
11
18
|
/**
|
|
12
19
|
* Gets the path to the cryptography rules file.
|
|
13
20
|
* @returns The path to the cryptography rules file.
|
|
14
21
|
*/
|
|
15
22
|
getRulesPath(): string;
|
|
23
|
+
getNumberOfThreads(): number;
|
|
16
24
|
}
|
|
@@ -4,10 +4,14 @@
|
|
|
4
4
|
export class CryptoCfg {
|
|
5
5
|
/**
|
|
6
6
|
* Creates an instance of CryptoCfg.
|
|
7
|
-
* @param
|
|
7
|
+
* @param {Object} cfg - Configuration object.
|
|
8
|
+
* @param {number} [cfg.threads=5] - The number of threads to use. Defaults to 5 if not provided.
|
|
9
|
+
* @param {string} [cfg.rulesPath] - Optional. Path to the cryptography rules file.
|
|
8
10
|
*/
|
|
9
|
-
constructor(
|
|
10
|
-
this.
|
|
11
|
+
constructor(cfg) {
|
|
12
|
+
this.DEFAULT_THREADS = 5;
|
|
13
|
+
this.rulesPath = cfg.rulesPath;
|
|
14
|
+
this.threads = cfg.threads ? Number(cfg.threads) : this.DEFAULT_THREADS;
|
|
11
15
|
}
|
|
12
16
|
/**
|
|
13
17
|
* Gets the path to the cryptography rules file.
|
|
@@ -16,5 +20,8 @@ export class CryptoCfg {
|
|
|
16
20
|
getRulesPath() {
|
|
17
21
|
return this.rulesPath;
|
|
18
22
|
}
|
|
23
|
+
getNumberOfThreads() {
|
|
24
|
+
return this.threads;
|
|
25
|
+
}
|
|
19
26
|
}
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3J5cHRvQ2ZnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3Nkay9DcnlwdG9ncmFwaHkvQ3J5cHRvQ2ZnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFNBQVM7SUFRcEI7Ozs7O09BS0c7SUFDRixZQUFhLEdBQTJDO1FBWnhDLG9CQUFlLEdBQUcsQ0FBQyxDQUFDO1FBYWxDLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQztRQUMvQixJQUFJLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDMUUsQ0FBQztJQUVGOzs7T0FHRztJQUNLLFlBQVk7UUFDakIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFFTSxrQkFBa0I7UUFDdkIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7Q0FFSCJ9
|
|
@@ -6,21 +6,16 @@ import { CryptoAlgorithmRules } from '../CryptographyTypes';
|
|
|
6
6
|
export declare class LocalCrypto {
|
|
7
7
|
private cryptoMapper;
|
|
8
8
|
private cryptoRules;
|
|
9
|
-
private
|
|
9
|
+
private threads;
|
|
10
10
|
/**
|
|
11
11
|
* Constructs a new LocalCrypto.
|
|
12
12
|
* @param cryptoRules An array of CryptoAlgorithmRules used to create the search rules.
|
|
13
|
+
* @param threads Number of threads to be use to scan local cryptography (default = 5).
|
|
13
14
|
*/
|
|
14
|
-
constructor(cryptoRules: Array<CryptoAlgorithmRules
|
|
15
|
+
constructor(cryptoRules: Array<CryptoAlgorithmRules>, threads: number);
|
|
15
16
|
/**
|
|
16
17
|
* Searches for cryptographic algorithms in the content of a files.
|
|
17
18
|
* @param files The files to search.
|
|
18
19
|
*/
|
|
19
20
|
search(files: Array<string>): Promise<Array<CryptoItem>>;
|
|
20
|
-
/**
|
|
21
|
-
* Asynchronously searches for cryptographic algorithms in the content of a file.
|
|
22
|
-
* @param cryptoItem The CryptoItem to search for cryptographic algorithms.
|
|
23
|
-
* @returns A promise that resolves when the search is complete.
|
|
24
|
-
*/
|
|
25
|
-
private searchCrypto;
|
|
26
21
|
}
|