scanoss 0.19.0 → 0.21.0
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 +15 -0
- package/build/main/index.d.ts +6 -2
- package/build/main/index.js +9 -3
- package/build/main/sdk/BaseConfig.js +1 -2
- package/build/main/sdk/Clients/Cryptography/{CryptographyClient.d.ts → CryptographyGRPCClient.d.ts} +2 -2
- package/build/main/sdk/Clients/Cryptography/CryptographyGRPCClient.js +142 -0
- package/build/main/sdk/Clients/Cryptography/CryptographyHttpClient.d.ts +1 -1
- package/build/main/sdk/Clients/Cryptography/CryptographyHttpClient.js +3 -3
- package/build/main/sdk/Clients/Cryptography/ICryptographyClient.d.ts +1 -1
- package/build/main/sdk/Clients/Dependency/{DependencyClient.d.ts → DependencyGRPCClient.d.ts} +1 -1
- package/build/main/sdk/Clients/Dependency/{DependencyClient.js → DependencyGRPCClient.js} +6 -6
- package/build/main/sdk/Clients/Dependency/IDependencyClient.d.ts +1 -1
- package/build/main/sdk/Clients/Grpc/BaseGRPCClient.js +1 -1
- package/build/main/sdk/Clients/Vulnerability/IVulnerabilityClient.d.ts +4 -3
- package/build/main/sdk/Clients/Vulnerability/VulnerabilityHttpClient.d.ts +4 -3
- package/build/main/sdk/Clients/Vulnerability/VulnerabilityHttpClient.js +5 -10
- package/build/main/sdk/Clients/helper/clientHelper.d.ts +1 -1
- package/build/main/sdk/Clients/helper/clientHelper.js +2 -2
- package/build/main/sdk/Cryptography/Algorithm/Components/ComponentAlgorithmScanner.d.ts +1 -1
- package/build/main/sdk/Cryptography/Algorithm/Components/ComponentAlgorithmScanner.js +3 -3
- package/build/main/sdk/Cryptography/CryptoCfg.js +6 -7
- package/build/main/sdk/Cryptography/CryptographyScanner.d.ts +1 -1
- package/build/main/sdk/Cryptography/CryptographyScanner.js +1 -1
- package/build/main/sdk/Cryptography/CryptographyTypes.d.ts +1 -1
- package/build/main/sdk/Cryptography/Hint/Components/ComponentHintScanner.d.ts +1 -1
- package/build/main/sdk/Cryptography/Hint/Components/ComponentHintScanner.js +3 -3
- package/build/main/sdk/Dependencies/DependencyScannerCfg.js +6 -10
- package/build/main/sdk/Dependencies/LocalDependency/parsers/npmParser.d.ts +1 -0
- package/build/main/sdk/Dependencies/LocalDependency/parsers/npmParser.js +40 -3
- package/build/main/sdk/Dependencies/LocalDependency/parsers/parser.spec.js +22 -4
- package/build/main/sdk/Report/DataLayer/DataLayerTypes.d.ts +1 -11
- package/build/main/sdk/Vulnerability/VulnerabilityCfg.d.ts +1 -1
- package/build/main/sdk/Vulnerability/VulnerabilityCfg.js +10 -7
- package/build/main/sdk/Vulnerability/VulnerabilityScanner.d.ts +4 -2
- package/build/main/sdk/Vulnerability/VulnerabilityScanner.js +64 -10
- package/build/main/sdk/types/common/types.js +3 -0
- package/build/main/sdk/types/vulnerability/types.d.ts +35 -0
- package/build/main/sdk/types/vulnerability/types.js +3 -0
- package/build/main/tsconfig.tsbuildinfo +1 -1
- package/build/module/index.d.ts +6 -2
- package/build/module/index.js +9 -3
- package/build/module/sdk/BaseConfig.js +1 -2
- package/build/module/sdk/Clients/Cryptography/{CryptographyClient.d.ts → CryptographyGRPCClient.d.ts} +2 -2
- package/build/module/sdk/Clients/Cryptography/CryptographyGRPCClient.js +131 -0
- package/build/module/sdk/Clients/Cryptography/CryptographyHttpClient.d.ts +1 -1
- package/build/module/sdk/Clients/Cryptography/CryptographyHttpClient.js +3 -3
- package/build/module/sdk/Clients/Cryptography/ICryptographyClient.d.ts +1 -1
- package/build/module/sdk/Clients/Dependency/{DependencyClient.d.ts → DependencyGRPCClient.d.ts} +1 -1
- package/build/module/sdk/Clients/Dependency/DependencyGRPCClient.js +74 -0
- package/build/module/sdk/Clients/Dependency/IDependencyClient.d.ts +1 -1
- package/build/module/sdk/Clients/Grpc/BaseGRPCClient.js +1 -1
- package/build/module/sdk/Clients/Vulnerability/IVulnerabilityClient.d.ts +4 -3
- package/build/module/sdk/Clients/Vulnerability/VulnerabilityHttpClient.d.ts +4 -3
- package/build/module/sdk/Clients/Vulnerability/VulnerabilityHttpClient.js +5 -10
- package/build/module/sdk/Clients/helper/clientHelper.d.ts +1 -1
- package/build/module/sdk/Clients/helper/clientHelper.js +2 -2
- package/build/module/sdk/Cryptography/Algorithm/Components/ComponentAlgorithmScanner.d.ts +1 -1
- package/build/module/sdk/Cryptography/Algorithm/Components/ComponentAlgorithmScanner.js +3 -3
- package/build/module/sdk/Cryptography/CryptoCfg.js +6 -7
- package/build/module/sdk/Cryptography/CryptographyScanner.d.ts +1 -1
- package/build/module/sdk/Cryptography/CryptographyScanner.js +1 -1
- package/build/module/sdk/Cryptography/CryptographyTypes.d.ts +1 -1
- package/build/module/sdk/Cryptography/Hint/Components/ComponentHintScanner.d.ts +1 -1
- package/build/module/sdk/Cryptography/Hint/Components/ComponentHintScanner.js +3 -3
- package/build/module/sdk/Dependencies/DependencyScannerCfg.js +6 -10
- package/build/module/sdk/Dependencies/LocalDependency/parsers/npmParser.d.ts +1 -0
- package/build/module/sdk/Dependencies/LocalDependency/parsers/npmParser.js +39 -2
- package/build/module/sdk/Dependencies/LocalDependency/parsers/parser.spec.js +22 -4
- package/build/module/sdk/Report/DataLayer/DataLayerTypes.d.ts +1 -11
- package/build/module/sdk/Vulnerability/VulnerabilityCfg.d.ts +1 -1
- package/build/module/sdk/Vulnerability/VulnerabilityCfg.js +9 -7
- package/build/module/sdk/Vulnerability/VulnerabilityScanner.d.ts +4 -2
- package/build/module/sdk/Vulnerability/VulnerabilityScanner.js +64 -10
- package/build/module/sdk/types/common/types.js +2 -0
- package/build/module/sdk/types/vulnerability/types.d.ts +35 -0
- package/build/module/sdk/types/vulnerability/types.js +2 -0
- package/build/module/tsconfig.module.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/build/main/sdk/Clients/Cryptography/CryptographyClient.js +0 -142
- package/build/main/sdk/shared/interfaces/Component.js +0 -3
- package/build/module/sdk/Clients/Cryptography/CryptographyClient.js +0 -131
- package/build/module/sdk/Clients/Dependency/DependencyClient.js +0 -74
- package/build/module/sdk/shared/interfaces/Component.js +0 -2
- /package/build/main/sdk/{shared/interfaces/Component.d.ts → types/common/types.d.ts} +0 -0
- /package/build/module/sdk/{shared/interfaces/Component.d.ts → types/common/types.d.ts} +0 -0
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import { CryptographyClient as GrpcCryptographyClient } from '../Grpc/scanoss/api/cryptography/v2/scanoss-cryptography_grpc_pb';
|
|
2
|
+
import { BaseGRPCClient } from '../Grpc/BaseGRPCClient';
|
|
3
|
+
import { logger } from '../../Logger';
|
|
4
|
+
export class CryptographyGRPCClient extends BaseGRPCClient {
|
|
5
|
+
static clientName = 'Cryptography gRPC Client';
|
|
6
|
+
client;
|
|
7
|
+
/**
|
|
8
|
+
* Creates CryptographyService Instance.
|
|
9
|
+
* @param {string} token - Optional. API TOKEN.
|
|
10
|
+
* @param {string} hostName - Optional. Destination Host.
|
|
11
|
+
* @param {string} proxyHost -Optional. Proxy Host.
|
|
12
|
+
* @param {string} caCertPath - Optional. Path to certificates.
|
|
13
|
+
*/
|
|
14
|
+
constructor(token, hostName, proxyHost, caCertPath) {
|
|
15
|
+
super({
|
|
16
|
+
HOSTNAME: hostName,
|
|
17
|
+
PROXY_URL: proxyHost,
|
|
18
|
+
CA_CERT: caCertPath,
|
|
19
|
+
CLIENT_NAME: CryptographyGRPCClient.clientName,
|
|
20
|
+
API_TOKEN: token,
|
|
21
|
+
});
|
|
22
|
+
this.client = new GrpcCryptographyClient(this.HOSTNAME, this.generateChannelCredentials());
|
|
23
|
+
}
|
|
24
|
+
async getAlgorithms(components) {
|
|
25
|
+
this.validateComponents(components);
|
|
26
|
+
const req = {
|
|
27
|
+
purlsList: components.map(comp => ({
|
|
28
|
+
purl: comp.purl,
|
|
29
|
+
requirement: comp.requirement || ''
|
|
30
|
+
}))
|
|
31
|
+
};
|
|
32
|
+
return new Promise((resolve, reject) => {
|
|
33
|
+
this.client.getAlgorithms(this.buildGRPCPurlRequest(req), (err, response) => {
|
|
34
|
+
if (err) {
|
|
35
|
+
const errorMessage = `Failed to get algorithms: ${err.message}`;
|
|
36
|
+
logger.log(`Error getting algorithms: ${errorMessage}`);
|
|
37
|
+
reject(new Error(errorMessage));
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
try {
|
|
41
|
+
const result = this.handleResponse(response.toObject());
|
|
42
|
+
resolve(this.transformGrpcAlgorithmResponse(result));
|
|
43
|
+
}
|
|
44
|
+
catch (e) {
|
|
45
|
+
const errorMessage = `Failed to process algorithms response: ${e instanceof Error ? e.message : 'Unknown error'}`;
|
|
46
|
+
logger.log(`Error processing algorithms response: ${errorMessage}`);
|
|
47
|
+
reject(new Error(errorMessage));
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
async getEncryptionHints(components) {
|
|
53
|
+
this.validateComponents(components);
|
|
54
|
+
const req = {
|
|
55
|
+
purlsList: components.map(comp => ({
|
|
56
|
+
purl: comp.purl,
|
|
57
|
+
requirement: comp.requirement || ''
|
|
58
|
+
}))
|
|
59
|
+
};
|
|
60
|
+
return new Promise((resolve, reject) => {
|
|
61
|
+
this.client.getHintsInRange(this.buildGRPCPurlRequest(req), (err, response) => {
|
|
62
|
+
if (err) {
|
|
63
|
+
const errorMessage = `Failed to get encryption hints: ${err.message}`;
|
|
64
|
+
logger.log(`Error getting encryption hints: ${errorMessage}`);
|
|
65
|
+
reject(new Error(errorMessage));
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
try {
|
|
69
|
+
const result = this.handleResponse(response.toObject());
|
|
70
|
+
resolve(this.transformGrpcHintsResponse(result));
|
|
71
|
+
}
|
|
72
|
+
catch (e) {
|
|
73
|
+
const errorMessage = `Failed to process hints response: ${e instanceof Error ? e.message : 'Unknown error'}`;
|
|
74
|
+
logger.log(`Error processing hints response: ${errorMessage}`);
|
|
75
|
+
reject(new Error(errorMessage));
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
validateComponents(components) {
|
|
81
|
+
if (!components || components.length === 0) {
|
|
82
|
+
throw new Error('Components array cannot be empty');
|
|
83
|
+
}
|
|
84
|
+
if (!Array.isArray(components)) {
|
|
85
|
+
throw new Error('Components must be an array');
|
|
86
|
+
}
|
|
87
|
+
for (const component of components) {
|
|
88
|
+
if (!component.purl || typeof component.purl !== 'string') {
|
|
89
|
+
throw new Error('Each component must have a valid purl string');
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
transformGrpcAlgorithmResponse(grpcResponse) {
|
|
94
|
+
return {
|
|
95
|
+
purls: grpcResponse.purlsList?.map((purl) => ({
|
|
96
|
+
purl: purl.purl,
|
|
97
|
+
version: purl.version || '',
|
|
98
|
+
algorithms: purl.algorithmsList?.map((algo) => ({
|
|
99
|
+
algorithm: algo.algorithm,
|
|
100
|
+
strength: algo.strength
|
|
101
|
+
})) || []
|
|
102
|
+
})) || [],
|
|
103
|
+
status: {
|
|
104
|
+
status: grpcResponse.status?.status || 'UNKNOWN',
|
|
105
|
+
message: grpcResponse.status?.message || ''
|
|
106
|
+
}
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
transformGrpcHintsResponse(grpcResponse) {
|
|
110
|
+
return {
|
|
111
|
+
purls: grpcResponse.purlsList?.map((purl) => ({
|
|
112
|
+
purl: purl.purl,
|
|
113
|
+
version: purl.version || '',
|
|
114
|
+
versions: purl.versionsList || [],
|
|
115
|
+
hints: purl.hintsList?.map((hint) => ({
|
|
116
|
+
id: hint.id,
|
|
117
|
+
name: hint.name,
|
|
118
|
+
description: hint.description,
|
|
119
|
+
category: hint.category,
|
|
120
|
+
url: hint.url,
|
|
121
|
+
purl: hint.purl
|
|
122
|
+
})) || []
|
|
123
|
+
})) || [],
|
|
124
|
+
status: {
|
|
125
|
+
status: grpcResponse.status?.status || 'UNKNOWN',
|
|
126
|
+
message: grpcResponse.status?.message || ''
|
|
127
|
+
}
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3J5cHRvZ3JhcGh5R1JQQ0NsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9zZGsvQ2xpZW50cy9DcnlwdG9ncmFwaHkvQ3J5cHRvZ3JhcGh5R1JQQ0NsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLElBQUksc0JBQXNCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQztBQUNoSSxPQUFPLEVBQUUsY0FBYyxFQUFlLE1BQU0sd0JBQXdCLENBQUM7QUFNckUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUd0QyxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsY0FBYztJQUNqRCxNQUFNLENBQVUsVUFBVSxHQUFHLDBCQUEwQixDQUFDO0lBQ3ZELE1BQU0sQ0FBeUI7SUFFdkM7Ozs7OztPQU1HO0lBQ0gsWUFBWSxLQUFhLEVBQUUsUUFBZ0IsRUFBRSxTQUFrQixFQUFFLFVBQW1CO1FBQ2xGLEtBQUssQ0FBQztZQUNKLFFBQVEsRUFBRSxRQUFRO1lBQ2xCLFNBQVMsRUFBRSxTQUFTO1lBQ3BCLE9BQU8sRUFBRSxVQUFVO1lBQ25CLFdBQVcsRUFBRSxzQkFBc0IsQ0FBQyxVQUFVO1lBQzlDLFNBQVMsRUFBRSxLQUFLO1NBQ2pCLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxzQkFBc0IsQ0FDdEMsSUFBSSxDQUFDLFFBQVEsRUFDYixJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FDbEMsQ0FBQztJQUNKLENBQUM7SUFFTSxLQUFLLENBQUMsYUFBYSxDQUFDLFVBQXVCO1FBQ2hELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUVwQyxNQUFNLEdBQUcsR0FBZ0I7WUFDdkIsU0FBUyxFQUFFLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUNqQyxJQUFJLEVBQUUsSUFBSSxDQUFD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
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { HttpClient } from "../http/HttpClient";
|
|
2
|
-
import { Component } from "../../shared/interfaces/Component";
|
|
3
2
|
import { ICryptographyClient, AlgorithmResponse, HintsInRangeResponse } from "./ICryptographyClient";
|
|
3
|
+
import { Component } from "../../types/common/types";
|
|
4
4
|
export declare class CryptographyHttpClient extends HttpClient implements ICryptographyClient {
|
|
5
5
|
private client;
|
|
6
6
|
private readonly baseUrl;
|
|
@@ -17,7 +17,7 @@ export class CryptographyHttpClient extends HttpClient {
|
|
|
17
17
|
async getAlgorithms(components) {
|
|
18
18
|
try {
|
|
19
19
|
validateComponents(components);
|
|
20
|
-
const response = await this.client.post(`${this.baseUrl}/
|
|
20
|
+
const response = await this.client.post(`${this.baseUrl}/v2/cryptography/algorithms`, { purls: components });
|
|
21
21
|
if (response.ok) {
|
|
22
22
|
const algorithms = await response.json();
|
|
23
23
|
return algorithms;
|
|
@@ -35,7 +35,7 @@ export class CryptographyHttpClient extends HttpClient {
|
|
|
35
35
|
async getEncryptionHints(components) {
|
|
36
36
|
try {
|
|
37
37
|
validateComponents(components);
|
|
38
|
-
const response = await this.client.post(`${this.baseUrl}/
|
|
38
|
+
const response = await this.client.post(`${this.baseUrl}/v2/cryptography/hintsInRange`, { purls: components });
|
|
39
39
|
if (response.ok) {
|
|
40
40
|
const hints = await response.json();
|
|
41
41
|
return hints;
|
|
@@ -51,4 +51,4 @@ export class CryptographyHttpClient extends HttpClient {
|
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3J5cHRvZ3JhcGh5SHR0cENsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9zZGsvQ2xpZW50cy9DcnlwdG9ncmFwaHkvQ3J5cHRvZ3JhcGh5SHR0cENsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDaEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQU10QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUU1RCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsVUFBVTtJQUU1QyxNQUFNLENBQWE7SUFDVixPQUFPLENBQVM7SUFFakMsWUFBWSxLQUFhLEVBQUUsUUFBZ0IsRUFBRSxTQUFrQixFQUFFLFVBQW1CO1FBQ2xGLEtBQUssRUFBRSxDQUFDO1FBQ1IsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLFVBQVUsQ0FBQztZQUMzQixRQUFRLEVBQUUsUUFBUTtZQUNsQixPQUFPLEVBQUUsS0FBSztZQUNkLFdBQVcsRUFBRSxTQUFTO1lBQ3RCLE9BQU8sRUFBRSxVQUFVO1NBQ3BCLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxPQUFPLEdBQUcsUUFBUSxDQUFDO0lBQzFCLENBQUM7SUFFTSxLQUFLLENBQUMsYUFBYSxDQUFDLFVBQXVCO1FBQ2hELElBQUksQ0FBQztZQUNILGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQy9CLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyw2QkFBNkIsRUFBRSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO1lBRTdHLElBQUksUUFBUSxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUNoQixNQUFNLFVBQVUsR0FBRyxNQUFNLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDekMsT0FBTyxVQUErQixDQUFDO1lBQ3pDLENBQUM7WUFFRCxNQUFNLFNBQVMsR0FBRyxNQUFNLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN4QyxNQUFNLFlBQVksR0FBRyw2QkFBNkIsUUFBUSxDQUFDLE1BQU0sSUFBSSxRQUFRLENBQUMsVUFBVSxNQUFNLFNBQVMsRUFBRSxDQUFDO1lBQzFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsNkJBQTZCLFlBQVksRUFBRSxDQUFDLENBQUM7WUFDeEQsTUFBTSxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNoQyxDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLE1BQU0sQ0FBQyxHQUFHLENBQUMsMkJBQTJCLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDL0MsTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSwwQkFBMEIsQ0FBQyxDQUFDO1FBQzVELENBQUM7SUFDSCxDQUFDO0lBRU0sS0FBSyxDQUFDLGtCQUFrQixDQUFDLFVBQXVCO1FBQ3JELElBQUksQ0FBQztZQUNILGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQy9CLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTywrQkFBK0IsRUFBRSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO1lBRS9HLElBQUksUUFBUSxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUNoQixNQUFNLEtBQUssR0FBRyxNQUFNLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDcEMsT0FBTyxLQUE2QixDQUFDO1lBQ3ZDLENBQUM7WUFFRCxNQUFNLFNBQVMsR0FBRyxNQUFNLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN4QyxNQUFNLFlBQVksR0FBRyxtQ0FBbUMsUUFBUSxDQUFDLE1BQU0sSUFBSSxRQUFRLENBQUMsVUFBVSxNQUFNLFNBQVMsRUFBRSxDQUFDO1lBQ2hILE1BQU0sQ0FBQyxHQUFHLENBQUMsbUNBQW1DLFlBQVksRUFBRSxDQUFDLENBQUM7WUFDOUQsTUFBTSxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNoQyxDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLE1BQU0sQ0FBQyxHQUFHLENBQUMsaUNBQWlDLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDckQsTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxnQ0FBZ0MsQ0FBQyxDQUFDO1FBQ2xFLENBQUM7SUFDSCxDQUFDO0NBQ0YifQ==
|
package/build/module/sdk/Clients/Dependency/{DependencyClient.d.ts → DependencyGRPCClient.d.ts}
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as DependenciesMessages from '../Grpc/scanoss/api/dependencies/v2/scanoss-dependencies_pb';
|
|
2
2
|
import * as CommonMessages from '../Grpc/scanoss/api/common/v2/scanoss-common_pb';
|
|
3
3
|
import { BaseGRPCClient } from "../Grpc/BaseGRPCClient";
|
|
4
|
-
export declare class
|
|
4
|
+
export declare class DependencyGRPCClient extends BaseGRPCClient {
|
|
5
5
|
static readonly clientName = "Dependency gRPC Client";
|
|
6
6
|
private client;
|
|
7
7
|
/**
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { DependenciesClient } from "../Grpc/scanoss/api/dependencies/v2/scanoss-dependencies_grpc_pb";
|
|
2
|
+
import * as DependenciesMessages from '../Grpc/scanoss/api/dependencies/v2/scanoss-dependencies_pb';
|
|
3
|
+
import * as CommonMessages from '../Grpc/scanoss/api/common/v2/scanoss-common_pb';
|
|
4
|
+
import { BaseGRPCClient } from "../Grpc/BaseGRPCClient";
|
|
5
|
+
export class DependencyGRPCClient extends BaseGRPCClient {
|
|
6
|
+
static clientName = 'Dependency gRPC Client';
|
|
7
|
+
client;
|
|
8
|
+
/**
|
|
9
|
+
* Creates DependencyService Instance.
|
|
10
|
+
* @param {string} hostName - Optional. Destination Host.
|
|
11
|
+
* @param {string} proxyHost -Optional. Proxy Host.
|
|
12
|
+
* @param {string} caCertPath - Optional. Path to certificates.
|
|
13
|
+
*/
|
|
14
|
+
constructor(hostName, proxyHost, caCertPath) {
|
|
15
|
+
super({
|
|
16
|
+
HOSTNAME: hostName,
|
|
17
|
+
CLIENT_NAME: DependencyGRPCClient.clientName,
|
|
18
|
+
PROXY_URL: proxyHost,
|
|
19
|
+
CA_CERT: caCertPath,
|
|
20
|
+
});
|
|
21
|
+
this.client = new DependenciesClient(this.HOSTNAME, this.generateChannelCredentials());
|
|
22
|
+
}
|
|
23
|
+
async get(req) {
|
|
24
|
+
return new Promise((resolve, reject) => {
|
|
25
|
+
this.client.getDependencies(req, (err, response) => {
|
|
26
|
+
if (err)
|
|
27
|
+
reject(err);
|
|
28
|
+
resolve(response);
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
buildDependencyRequestMsg(plainObj) {
|
|
33
|
+
try {
|
|
34
|
+
const depMessage = new DependenciesMessages.DependencyRequest();
|
|
35
|
+
for (const dependency of plainObj.filesList) {
|
|
36
|
+
const fileMsg = new DependenciesMessages.DependencyRequest.Files();
|
|
37
|
+
fileMsg.setFile(dependency.file);
|
|
38
|
+
for (const purl of dependency.purlsList) {
|
|
39
|
+
const purlMsg = new DependenciesMessages.DependencyRequest.Purls();
|
|
40
|
+
purlMsg.setPurl(purl.purl);
|
|
41
|
+
purlMsg.setRequirement(purl?.requirement);
|
|
42
|
+
fileMsg.addPurls(purlMsg);
|
|
43
|
+
}
|
|
44
|
+
depMessage.addFiles(fileMsg);
|
|
45
|
+
}
|
|
46
|
+
return depMessage;
|
|
47
|
+
}
|
|
48
|
+
catch (e) {
|
|
49
|
+
console.error(e);
|
|
50
|
+
return null;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
async echo(req) {
|
|
54
|
+
return new Promise((resolve, reject) => {
|
|
55
|
+
this.client.echo(req, (err, response) => {
|
|
56
|
+
if (err)
|
|
57
|
+
reject(err);
|
|
58
|
+
resolve(response);
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
buildEchoRequestMsg(plainObj) {
|
|
63
|
+
try {
|
|
64
|
+
const echoMessage = new CommonMessages.EchoRequest();
|
|
65
|
+
echoMessage.setMessage(plainObj.message);
|
|
66
|
+
return echoMessage;
|
|
67
|
+
}
|
|
68
|
+
catch (e) {
|
|
69
|
+
console.error(e);
|
|
70
|
+
return null;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVwZW5kZW5jeUdSUENDbGllbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvc2RrL0NsaWVudHMvRGVwZW5kZW5jeS9EZXBlbmRlbmN5R1JQQ0NsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQztBQUN0RyxPQUFPLEtBQUssb0JBQW9CLE1BQU0sNkRBQTZELENBQUM7QUFDcEcsT0FBTyxLQUFLLGNBQWMsTUFBTSxpREFBaUQsQ0FBQztBQUNsRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFeEQsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGNBQWM7SUFDL0MsTUFBTSxDQUFVLFVBQVUsR0FBRyx3QkFBd0IsQ0FBQztJQUNyRCxNQUFNLENBQXFCO0lBRW5DOzs7OztPQUtHO0lBQ0gsWUFBWSxRQUFpQixFQUFFLFNBQWtCLEVBQUUsVUFBbUI7UUFDcEUsS0FBSyxDQUFDO1lBQ0osUUFBUSxFQUFFLFFBQVE7WUFDbEIsV0FBVyxFQUFFLG9CQUFvQixDQUFDLFVBQVU7WUFDNUMsU0FBUyxFQUFFLFNBQVM7WUFDcEIsT0FBTyxFQUFFLFVBQVU7U0FDcEIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLGtCQUFrQixDQUNsQyxJQUFJLENBQUMsUUFBUSxFQUNiLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUNsQyxDQUFDO0lBQ0osQ0FBQztJQUVNLEtBQUssQ0FBQyxHQUFHLENBQ2QsR0FBMkM7UUFFM0MsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNyQyxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsUUFBUSxFQUFFLEVBQUU7Z0JBQ2pELElBQUksR0FBRztvQkFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3JCLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNwQixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLHlCQUF5QixDQUM5QixRQUF5RDtRQUV6RCxJQUFJLENBQUM7WUFDSCxNQUFNLFVBQVUsR0FBRyxJQUFJLG9CQUFvQixDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDaEUsS0FBSyxNQUFNLFVBQVUsSUFBSSxRQUFRLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQzVDLE1BQU0sT0FBTyxHQUFHLElBQUksb0JBQW9CLENBQUMsaUJBQWlCLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ25FLE9BQU8sQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNqQyxLQUFLLE1BQU0sSUFBSSxJQUFJLFVBQVUsQ0FBQyxTQUFTLEVBQUUsQ0FBQztvQkFDeEMsTUFBTSxPQUFPLEdBQUcsSUFBSSxvQkFBb0IsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsQ0FBQztvQkFDbkUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQzNCLE9BQU8sQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFDO29CQUMxQyxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUM1QixDQUFDO2dCQUNELFVBQVUsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDL0IsQ0FBQztZQUNELE9BQU8sVUFBVSxDQUFDO1FBQ3BCLENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNqQixPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7SUFDSCxDQUFDO0lBRU0sS0FBSyxDQUFDLElBQUksQ0FDZixHQUErQjtRQUUvQixPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ3JDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsRUFBRSxRQUFRLEVBQUUsRUFBRTtnQkFDdEMsSUFBSSxHQUFHO29CQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDckIsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3BCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sbUJBQW1CLENBQ3hCLFFBQTZDO1FBRTdDLElBQUksQ0FBQztZQUNILE1BQU0sV0FBVyxHQUFHLElBQUksY0FBYyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3JELFdBQVcsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3pDLE9BQU8sV0FBVyxDQUFDO1FBQ3JCLENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNqQixPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7SUFDSCxDQUFDIn0=
|
|
@@ -118,4 +118,4 @@ export class BaseGRPCClient {
|
|
|
118
118
|
return this._PROXY_URL;
|
|
119
119
|
}
|
|
120
120
|
}
|
|
121
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
121
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmFzZUdSUENDbGllbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvc2RrL0NsaWVudHMvR3JwYy9CYXNlR1JQQ0NsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssSUFBSSxNQUFNLGVBQWUsQ0FBQztBQUN0QyxPQUFPLEtBQUssY0FBYyxNQUFNLDJDQUEyQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDdEMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLHFCQUFxQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0UsT0FBTyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQztBQU1wQixNQUFNLE9BQU8sY0FBYztJQUNmLFNBQVMsR0FBVyxxQkFBcUIsQ0FBQztJQUMxQyxVQUFVLEdBQVcsRUFBRSxDQUFDO0lBQ3hCLFlBQVksR0FBVyxFQUFFLENBQUM7SUFDMUIsUUFBUSxDQUFTO0lBQ2pCLFVBQVUsQ0FBUztJQUU3QixZQUFZLEVBQ0UsUUFBUSxFQUNSLFNBQVMsRUFDVCxTQUFTLEVBQ1QsV0FBVyxFQUNYLE9BQU8sR0FPcEI7UUFDQyxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUMzQixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUMzQixJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUMvQixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUd6QixJQUFJLElBQUksQ0FBQyxTQUFTO1lBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUU1RCxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVM7WUFDakIsTUFBTSxJQUFJLEtB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
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ComponentsVulnerabilitiesResponse, ComponentVulnerabilityResponse } from "../../types/vulnerability/types";
|
|
2
|
+
import { Component } from "../../types/common/types";
|
|
2
3
|
export interface IVulnerabilityClient {
|
|
3
|
-
getVulnerabilitiesComponents(components: Component[]): Promise<
|
|
4
|
-
getVulnerabilitiesComponent(component: Component): Promise<
|
|
4
|
+
getVulnerabilitiesComponents(components: Component[]): Promise<ComponentsVulnerabilitiesResponse>;
|
|
5
|
+
getVulnerabilitiesComponent(component: Component): Promise<ComponentVulnerabilityResponse>;
|
|
5
6
|
}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { HttpClient } from "../http/HttpClient";
|
|
2
|
-
import { Component } from "../../shared/interfaces/Component";
|
|
3
2
|
import { IVulnerabilityClient } from "./IVulnerabilityClient";
|
|
3
|
+
import { Component } from "../../types/common/types";
|
|
4
|
+
import { ComponentsVulnerabilitiesResponse, ComponentVulnerabilityResponse } from "../../types/vulnerability/types";
|
|
4
5
|
export declare class VulnerabilityHttpClient extends HttpClient implements IVulnerabilityClient {
|
|
5
6
|
private client;
|
|
6
7
|
private readonly baseUrl;
|
|
7
8
|
constructor(token: string, hostName: string, proxyHost?: string, caCertPath?: string);
|
|
8
|
-
getVulnerabilitiesComponents(components: Array<Component>): Promise<
|
|
9
|
-
getVulnerabilitiesComponent(component: Component): Promise<
|
|
9
|
+
getVulnerabilitiesComponents(components: Array<Component>): Promise<ComponentsVulnerabilitiesResponse>;
|
|
10
|
+
getVulnerabilitiesComponent(component: Component): Promise<ComponentVulnerabilityResponse>;
|
|
10
11
|
}
|
|
@@ -15,18 +15,16 @@ export class VulnerabilityHttpClient extends HttpClient {
|
|
|
15
15
|
}
|
|
16
16
|
async getVulnerabilitiesComponents(components) {
|
|
17
17
|
try {
|
|
18
|
-
|
|
18
|
+
logger.debug(`Getting vulnerabilities for ${components.map((c) => JSON.stringify(c, null, 2))} components`);
|
|
19
|
+
const response = await this.client.post(`${this.baseUrl}/v2/vulnerabilities/components`, { components: components });
|
|
19
20
|
if (response.ok) {
|
|
20
|
-
|
|
21
|
-
return vulnerabilities;
|
|
21
|
+
return await response.json();
|
|
22
22
|
}
|
|
23
23
|
const errorText = await response.text();
|
|
24
24
|
const errorMessage = `Failed to get vulnerabilities: ${response.status} ${response.statusText} - ${errorText}`;
|
|
25
|
-
logger.log(`Error getting vulnerabilities: ${errorMessage}`);
|
|
26
25
|
throw new Error(errorMessage);
|
|
27
26
|
}
|
|
28
27
|
catch (error) {
|
|
29
|
-
logger.log('Error getting vulnerabilities:', error);
|
|
30
28
|
throw this.handleError(error, 'Failed to get vulnerabilities');
|
|
31
29
|
}
|
|
32
30
|
}
|
|
@@ -39,18 +37,15 @@ export class VulnerabilityHttpClient extends HttpClient {
|
|
|
39
37
|
}
|
|
40
38
|
const response = await this.client.get(`${this.baseUrl}/api/v2/vulnerabilities/component?${queryParams.toString()}`);
|
|
41
39
|
if (response.ok) {
|
|
42
|
-
|
|
43
|
-
return vulnerabilities;
|
|
40
|
+
return await response.json();
|
|
44
41
|
}
|
|
45
42
|
const errorText = await response.text();
|
|
46
43
|
const errorMessage = `Failed to get vulnerabilities: ${response.status} ${response.statusText} - ${errorText}`;
|
|
47
|
-
logger.log(`Error getting vulnerabilities: ${errorMessage}`);
|
|
48
44
|
throw new Error(errorMessage);
|
|
49
45
|
}
|
|
50
46
|
catch (error) {
|
|
51
|
-
logger.log('Error getting vulnerabilities:', error);
|
|
52
47
|
throw this.handleError(error, 'Failed to get vulnerabilities');
|
|
53
48
|
}
|
|
54
49
|
}
|
|
55
50
|
}
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVnVsbmVyYWJpbGl0eUh0dHBDbGllbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvc2RrL0NsaWVudHMvVnVsbmVyYWJpbGl0eS9WdWxuZXJhYmlsaXR5SHR0cENsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFaEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUl0QyxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsVUFBVTtJQUM3QyxNQUFNLENBQWE7SUFDVixPQUFPLENBQVM7SUFFakMsWUFBWSxLQUFhLEVBQUUsUUFBZ0IsRUFBRSxTQUFrQixFQUFFLFVBQW1CO1FBQ2xGLEtBQUssRUFBRSxDQUFDO1FBQ1IsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLFVBQVUsQ0FBQztZQUMzQixRQUFRLEVBQUUsUUFBUTtZQUNsQixPQUFPLEVBQUUsS0FBSztZQUNkLFdBQVcsRUFBRSxTQUFTO1lBQ3RCLE9BQU8sRUFBRSxVQUFVO1NBQ3BCLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxPQUFPLEdBQUcsUUFBUSxDQUFDO0lBQzFCLENBQUM7SUFFTSxLQUFLLENBQUMsNEJBQTRCLENBQUMsVUFBNEI7UUFDcEUsSUFBSSxDQUFDO1lBQ0gsTUFBTSxDQUFDLEtBQUssQ0FBQywrQkFBK0IsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ3pHLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxnQ0FBZ0MsRUFBRSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO1lBQ3JILElBQUksUUFBUSxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUNoQixPQUFPLE1BQU0sUUFBUSxDQUFDLElBQUksRUFBdUMsQ0FBQztZQUNwRSxDQUFDO1lBQ0QsTUFBTSxTQUFTLEdBQUcsTUFBTSxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDeEMsTUFBTSxZQUFZLEdBQUcsa0NBQWtDLFFBQVEsQ0FBQyxNQUFNLElBQUksUUFBUSxDQUFDLFVBQVUsTUFBTSxTQUFTLEVBQUUsQ0FBQztZQUMvRyxNQUFNLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ2hDLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSwrQkFBK0IsQ0FBQyxDQUFDO1FBQ2pFLENBQUM7SUFDSCxDQUFDO0lBRU0sS0FBSyxDQUFDLDJCQUEyQixDQUFDLFNBQW9CO1FBQzNELElBQUksQ0FBQztZQUNILE1BQU0sV0FBVyxHQUFHLElBQUksZUFBZSxFQUFFLENBQUM7WUFDMUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzNDLElBQUksU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUMxQixXQUFXLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDM0QsQ0FBQztZQUNELE1BQU0sUUFBUSxHQUFJLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxxQ0FBcUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUN0SCxJQUFJLFFBQVEsQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDaEIsT0FBTyxNQUFNLFFBQVEsQ0FBQyxJQUFJLEVBQW9DLENBQUM7WUFDakUsQ0FBQztZQUNELE1BQU0sU0FBUyxHQUFHLE1BQU0sUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3hDLE1BQU0sWUFBWSxHQUFHLGtDQUFrQyxRQUFRLENBQUMsTUFBTSxJQUFJLFFBQVEsQ0FBQyxVQUFVLE1BQU0sU0FBUyxFQUFFLENBQUM7WUFDL0csTUFBTSxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNoQyxDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsK0JBQStCLENBQUMsQ0FBQztRQUNqRSxDQUFDO0lBQ0gsQ0FBQztDQUNGIn0=
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { Component } from "../../
|
|
1
|
+
import { Component } from "../../types/common/types";
|
|
2
2
|
export declare function chunkRequest(components: Component[], chunkSize: number): Array<Component[]>;
|
|
3
3
|
export declare function validateComponents(components: Component[]): void;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export function chunkRequest(components, chunkSize) {
|
|
2
2
|
const requests = [];
|
|
3
3
|
for (let i = 0; i < components.length; i += chunkSize) {
|
|
4
|
-
requests.push(components.slice(i, i +
|
|
4
|
+
requests.push(components.slice(i, i + chunkSize));
|
|
5
5
|
}
|
|
6
6
|
return requests;
|
|
7
7
|
}
|
|
@@ -18,4 +18,4 @@ export function validateComponents(components) {
|
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50SGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3Nkay9DbGllbnRzL2hlbHBlci9jbGllbnRIZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxVQUFVLFlBQVksQ0FBQyxVQUF1QixFQUFFLFNBQWlCO0lBQ3JFLE1BQU0sUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNwQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksU0FBUyxFQUFFLENBQUM7UUFDdEQsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBQ0QsT0FBTyxRQUFRLENBQUM7QUFDbEIsQ0FBQztBQUdELE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxVQUF1QjtJQUN4RCxJQUFJLENBQUMsVUFBVSxJQUFJLFVBQVUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDN0MsTUFBTSxJQUFJLEtBQUssQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1FBQy9CLE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsS0FBSyxNQUFNLFNBQVMsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUNuQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksSUFBSSxPQUFPLFNBQVMsQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDMUQsTUFBTSxJQUFJLEtBQUssQ0FBQyw4Q0FBOEMsQ0FBQyxDQUFDO1FBQ2xFLENBQUM7SUFDSCxDQUFDO0FBQ0QsQ0FBQyJ9
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ComponentCryptographyResultCollector } from "../../Helper/ResultCollector/Component/ComponentCryptographyResultColletor";
|
|
2
2
|
import { BaseCryptographyScanner } from "../../BaseCryptographyScanner";
|
|
3
|
-
import { Component } from "../../../shared/interfaces/Component";
|
|
4
3
|
import { AlgorithmResponse } from "../../../Clients/Cryptography/ICryptographyClient";
|
|
4
|
+
import { Component } from "../../../types/common/types";
|
|
5
5
|
/**
|
|
6
6
|
* Scanner for detecting cryptographic algorithms in software components.
|
|
7
7
|
* This class extends the base cryptography scanner to specifically handle
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BaseCryptographyScanner } from "../../BaseCryptographyScanner";
|
|
2
|
-
import {
|
|
2
|
+
import { CryptographyGRPCClient } from "../../../Clients/Cryptography/CryptographyGRPCClient";
|
|
3
3
|
/**
|
|
4
4
|
* Scanner for detecting cryptographic algorithms in software components.
|
|
5
5
|
* This class extends the base cryptography scanner to specifically handle
|
|
@@ -14,7 +14,7 @@ export class ComponentAlgorithmScanner extends BaseCryptographyScanner {
|
|
|
14
14
|
* @returns {AlgorithmResponse} A promise that resolves to an AlgorithmResponse containing detected cryptographic algorithms.
|
|
15
15
|
*/
|
|
16
16
|
async scan(components) {
|
|
17
|
-
const cryptographyClient = new
|
|
17
|
+
const cryptographyClient = new CryptographyGRPCClient(this.config.API_KEY, // API KEY
|
|
18
18
|
this.config.API_URL, // Destination Host
|
|
19
19
|
this.config.GRPC_PROXY, // Proxy Host
|
|
20
20
|
this.config.CA_CERT);
|
|
@@ -23,4 +23,4 @@ export class ComponentAlgorithmScanner extends BaseCryptographyScanner {
|
|
|
23
23
|
return results;
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29tcG9uZW50QWxnb3JpdGhtU2Nhbm5lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9zZGsvQ3J5cHRvZ3JhcGh5L0FsZ29yaXRobS9Db21wb25lbnRzL0NvbXBvbmVudEFsZ29yaXRobVNjYW5uZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFHeEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFFOUY7Ozs7R0FJRztBQUNILE1BQU0sT0FBTyx5QkFDWCxTQUFRLHVCQUdZO0lBRXBCOzs7Ozs7T0FNRztJQUNJLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBdUI7UUFDdkMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLHNCQUFzQixDQUNuRCxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxVQUFVO1FBQy9CLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLG1CQUFtQjtRQUN4QyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxhQUFhO1FBQ3JDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdkIsTUFBTSxPQUFPLEdBQXFCLE1BQU0sa0JBQWtCLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3JGLElBQUksQ0FBQyxlQUFlLENBQUMsdUJBQXVCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdEQsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztDQUNGIn0=
|
|
@@ -23,20 +23,19 @@ export class CryptoCfg extends BaseConfig {
|
|
|
23
23
|
* @returns The resolved API URL
|
|
24
24
|
*/
|
|
25
25
|
resolveApiUrl(apiKey, currentUrl) {
|
|
26
|
-
// Case 1: Has API key and using default URL -> upgrade to premium URL
|
|
27
|
-
if (apiKey && currentUrl === BaseConfig.
|
|
26
|
+
// Case 1: Has API key and using default URL -> upgrade to premium URL. The default URL is set on the BaseConfig.ts file
|
|
27
|
+
if (apiKey && currentUrl === BaseConfig.getDefaultURL())
|
|
28
28
|
return BaseConfig.getPremiumURL();
|
|
29
29
|
// Case 2: Has API key and using custom URL -> keep custom URL
|
|
30
|
-
if (apiKey && currentUrl
|
|
31
|
-
//
|
|
30
|
+
if (apiKey && currentUrl.startsWith(BaseConfig.getPremiumURL()) || currentUrl.startsWith(BaseConfig.getDefaultURL())) {
|
|
31
|
+
// Check if custom URL is not the same as the default one.
|
|
32
32
|
if (currentUrl.startsWith(BaseConfig.getPremiumURL()) || currentUrl.startsWith(BaseConfig.getDefaultURL())) {
|
|
33
33
|
return currentUrl.replace(/\/scan\/direct$/, '');
|
|
34
34
|
}
|
|
35
|
-
// For other custom URLs, return as-is
|
|
36
35
|
return currentUrl;
|
|
37
36
|
}
|
|
38
37
|
// Case 4: No API key and default/empty URL -> use default URL
|
|
39
|
-
return BaseConfig.
|
|
38
|
+
return BaseConfig.getDefaultURL();
|
|
40
39
|
}
|
|
41
40
|
get API_URL() {
|
|
42
41
|
return this.resolveApiUrl(this.API_KEY, super.API_URL);
|
|
@@ -45,4 +44,4 @@ export class CryptoCfg extends BaseConfig {
|
|
|
45
44
|
super.API_URL = value;
|
|
46
45
|
}
|
|
47
46
|
}
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3J5cHRvQ2ZnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3Nkay9DcnlwdG9ncmFwaHkvQ3J5cHRvQ2ZnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0M7O0dBRUc7QUFDSCxNQUFNLE9BQU8sU0FBVSxTQUFRLFVBQVU7SUFFckIsZUFBZSxHQUFHLENBQUMsQ0FBQztJQUVyQyxvQkFBb0IsQ0FBUztJQUU3QixrQkFBa0IsQ0FBUztJQUUzQixPQUFPLEdBQVcsSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUV2QyxPQUFPLEdBQVcsRUFBRSxDQUFDO0lBRXJCLFlBQVksR0FBZTtRQUN6QixLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDWCxJQUFHLEdBQUcsRUFBRSxDQUFDO1lBQ1AsSUFBSSxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDaEQsQ0FBQztJQUNILENBQUM7SUFFRjs7Ozs7OztPQU9HO0lBQ1EsYUFBYSxDQUFDLE1BQWMsRUFBRSxVQUFrQjtRQUN6RCx3SEFBd0g7UUFDeEgsSUFBSSxNQUFNLElBQUksVUFBVSxLQUFLLFVBQVUsQ0FBQyxhQUFhLEVBQUU7WUFDckQsT0FBTyxVQUFVLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDcEMsOERBQThEO1FBQzlELElBQUksTUFBTSxJQUFJLFVBQVUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxDQUFDLElBQUksVUFBVSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLENBQUMsRUFBQyxDQUFDO1lBQ3BILDBEQUEwRDtZQUMxRCxJQUFJLFVBQVUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxDQUFDLElBQUksVUFBVSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLENBQUMsRUFBRSxDQUFDO2dCQUMzRyxPQUFPLFVBQVUsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDbkQsQ0FBQztZQUNELE9BQU8sVUFBVSxDQUFDO1FBQ3BCLENBQUM7UUFDRCw4REFBOEQ7UUFDOUQsT0FBTyxVQUFVLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVELElBQVcsT0FBTyxDQUFDLEtBQWE7UUFDOUIsS0FBSyxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDeEIsQ0FBQztDQUVIIn0=
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { CryptoCfg } from "./CryptoCfg";
|
|
2
2
|
import { CryptographyResponse, LocalCryptographyResponse } from "./CryptographyTypes";
|
|
3
|
-
import { Component } from "../
|
|
3
|
+
import { Component } from "../types/common/types";
|
|
4
4
|
/**
|
|
5
5
|
* Provides functionality to scan files and components for cryptographic items.
|
|
6
6
|
* This class acts as the primary entry point for cryptographic scanning.
|
|
@@ -47,4 +47,4 @@ export class CryptographyScanner {
|
|
|
47
47
|
return componentCryptoResultCollector.getResults();
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3J5cHRvZ3JhcGh5U2Nhbm5lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZGsvQ3J5cHRvZ3JhcGh5L0NyeXB0b2dyYXBoeVNjYW5uZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNMLG9CQUFvQixFQUNyQixNQUFNLHdDQUF3QyxDQUFDO0FBQ2hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUsvRCxPQUFPLEVBQ0wsK0JBQStCLEVBQ2hDLE1BQU0sK0RBQStELENBQUM7QUFDdkUsT0FBTyxFQUNMLG9DQUFvQyxFQUNyQyxNQUFNLHdFQUF3RSxDQUFDO0FBQ2hGLE9BQU8sRUFDTCx5QkFBeUIsRUFDMUIsTUFBTSxrREFBa0QsQ0FBQztBQUMxRCxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3JCLE1BQU0sd0NBQXdDLENBQUM7QUFDaEQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFHM0U7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLG1CQUFtQjtJQUViLE1BQU0sQ0FBWTtJQUVuQyxZQUFZLEdBQWM7UUFDeEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUM7SUFDcEIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFvQjtRQUN6QyxNQUFNLHFCQUFxQixHQUFHLElBQUksK0JBQStCLEVBQUUsQ0FBQztRQUNwRSxtRUFBbUU7UUFDbkUsSUFBSSxLQUFLLENBQUMsTUFBTSxJQUFJLENBQUM7WUFBRSxPQUFPLHFCQUFxQixDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2pFLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDM0YsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLHFCQUFxQixDQUFDLENBQUM7UUFDbEYsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLDRCQUE0QixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25FLE1BQU0sc0JBQXNCLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDcEQsTUFBTSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUMvQyxPQUFPLHFCQUFxQixDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQzVDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLEtBQUssQ0FBQyxjQUFjLENBQUMsR0FBZ0I7UUFDMUMsTUFBTSw4QkFBOEIsR0FBRyxJQUFJLG9DQUFvQyxFQUFFLENBQUM7UUFDbEYsTUFBTSwrQkFBK0IsR0FBRyxJQUFJLHlCQUF5QixDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsOEJBQThCLENBQUMsQ0FBQztRQUNuSCxNQUFNLDBCQUEwQixHQUFHLElBQUksb0JBQW9CLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSw4QkFBOEIsQ0FBQyxDQUFDO1FBQ3pHLE1BQU0sK0JBQStCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2hELE1BQU0sMEJBQTBCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzNDLE9BQU8sOEJBQThCLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDckQsQ0FBQztDQUNGIn0=
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ComponentCryptographyResultCollector } from "../../Helper/ResultCollector/Component/ComponentCryptographyResultColletor";
|
|
2
2
|
import { BaseCryptographyScanner } from "../../BaseCryptographyScanner";
|
|
3
|
-
import { Component } from "../../../shared/interfaces/Component";
|
|
4
3
|
import { HintsInRangeResponse } from "../../../Clients/Cryptography/ICryptographyClient";
|
|
4
|
+
import { Component } from "../../../types/common/types";
|
|
5
5
|
/**
|
|
6
6
|
* Scanner for detecting cryptographic hints in software components.
|
|
7
7
|
* This class extends the base cryptography scanner to specifically handle
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BaseCryptographyScanner } from "../../BaseCryptographyScanner";
|
|
2
|
-
import {
|
|
2
|
+
import { CryptographyGRPCClient } from "../../../Clients/Cryptography/CryptographyGRPCClient";
|
|
3
3
|
/**
|
|
4
4
|
* Scanner for detecting cryptographic hints in software components.
|
|
5
5
|
* This class extends the base cryptography scanner to specifically handle
|
|
@@ -14,7 +14,7 @@ export class ComponentHintScanner extends BaseCryptographyScanner {
|
|
|
14
14
|
* @returns {HintsResponse} A promise that resolves to a HintsResponse containing detected cryptographic hints.
|
|
15
15
|
*/
|
|
16
16
|
async scan(req) {
|
|
17
|
-
const cryptographyClient = new
|
|
17
|
+
const cryptographyClient = new CryptographyGRPCClient(this.config.API_KEY, // API KEY
|
|
18
18
|
this.config.API_URL, // Destination Host
|
|
19
19
|
this.config.GRPC_PROXY, // Proxy Host
|
|
20
20
|
this.config.CA_CERT);
|
|
@@ -23,4 +23,4 @@ export class ComponentHintScanner extends BaseCryptographyScanner {
|
|
|
23
23
|
return results;
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29tcG9uZW50SGludFNjYW5uZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvc2RrL0NyeXB0b2dyYXBoeS9IaW50L0NvbXBvbmVudHMvQ29tcG9uZW50SGludFNjYW5uZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFHeEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFFOUY7Ozs7R0FJRztBQUNILE1BQU0sT0FBTyxvQkFDWCxTQUFRLHVCQUdlO0lBRXZCOzs7Ozs7T0FNRztJQUNJLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBZ0I7UUFDaEMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLHNCQUFzQixDQUNuRCxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxVQUFVO1FBQy9CLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLG1CQUFtQjtRQUN4QyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxhQUFhO1FBQ3JDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdkIsTUFBTSxPQUFPLEdBQUcsTUFBTSxrQkFBa0IsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNqRSxJQUFJLENBQUMsZUFBZSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2pELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7Q0FDRiJ9
|
|
@@ -39,22 +39,18 @@ export class DependencyScannerCfg extends BaseConfig {
|
|
|
39
39
|
* @returns The resolved scanner URL
|
|
40
40
|
*/
|
|
41
41
|
resolveApiUrl(apiKey, currentUrl) {
|
|
42
|
-
// Case 1: Has API key and using default URL -> upgrade to premium
|
|
42
|
+
// Case 1: Has API key and using default URL -> upgrade to premium URL. The default URL is set on the BaseConfig.ts file
|
|
43
43
|
if (apiKey && currentUrl === BaseConfig.getDefaultURL())
|
|
44
44
|
return BaseConfig.getPremiumURL();
|
|
45
|
-
// Case 2: Has API key and using custom URL
|
|
46
|
-
if (apiKey && currentUrl
|
|
47
|
-
//
|
|
45
|
+
// Case 2: Has API key and using custom URL -> keep custom URL
|
|
46
|
+
if (apiKey && currentUrl.startsWith(BaseConfig.getPremiumURL()) || currentUrl.startsWith(BaseConfig.getDefaultURL())) {
|
|
47
|
+
// Check if custom URL is not the same as the default one.
|
|
48
48
|
if (currentUrl.startsWith(BaseConfig.getPremiumURL()) || currentUrl.startsWith(BaseConfig.getDefaultURL())) {
|
|
49
49
|
return currentUrl.replace(/\/scan\/direct$/, '');
|
|
50
50
|
}
|
|
51
|
-
// For other custom URLs, return as-is
|
|
52
51
|
return currentUrl;
|
|
53
52
|
}
|
|
54
|
-
// Case
|
|
55
|
-
if (!apiKey && currentUrl !== BaseConfig.getDefaultURL())
|
|
56
|
-
return currentUrl;
|
|
57
|
-
// Case 4: No API key and default/empty URL -> use default URL with /scan/direct
|
|
53
|
+
// Case 4: No API key and default/empty URL -> use default URL
|
|
58
54
|
return BaseConfig.getDefaultURL();
|
|
59
55
|
}
|
|
60
56
|
get API_URL() {
|
|
@@ -64,4 +60,4 @@ export class DependencyScannerCfg extends BaseConfig {
|
|
|
64
60
|
super.API_URL = url;
|
|
65
61
|
}
|
|
66
62
|
}
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVwZW5kZW5jeVNjYW5uZXJDZmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2RrL0RlcGVuZGVuY2llcy9EZXBlbmRlbmN5U2Nhbm5lckNmZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE1BQU0sMEJBQTBCLEdBQUcsRUFBRSxDQUFDO0FBRXRDLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxVQUFVO0lBRWxELG1CQUFtQixHQUFHLEtBQUssQ0FBQztJQUU1QixRQUFRLEdBQVcsRUFBRSxDQUFDO0lBRXRCLG1CQUFtQixHQUFHLDBCQUEwQixDQUFDO0lBQ2pELFlBQVksTUFBNkI7UUFDdkMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2QsSUFBRyxNQUFNLEVBQUMsQ0FBQztZQUNULElBQUksQ0FBQyxrQkFBa0IsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsMEJBQTBCLENBQUM7WUFDN0csSUFBSSxDQUFDLE9BQU8sR0FBSSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDckQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDMUYsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJLGtCQUFrQjtRQUNwQixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztJQUNsQyxDQUFDO0lBRUQsSUFBSSxrQkFBa0IsQ0FBQyxLQUFhO1FBQ2xDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBSSxPQUFPLENBQUMsS0FBYTtRQUN2QixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBSSxrQkFBa0I7UUFDcEIsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUM7SUFDbEMsQ0FBQztJQUVELElBQUksa0JBQWtCLENBQUMsS0FBYztRQUNuQyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsS0FBSyxDQUFDO0lBQ25DLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ08sYUFBYSxDQUFDLE1BQWMsRUFBRSxVQUFrQjtRQUN4RCx3SEFBd0g7UUFDeEgsSUFBSSxNQUFNLElBQUksVUFBVSxLQUFLLFVBQVUsQ0FBQyxhQUFhLEVBQUU7WUFDckQsT0FBTyxVQUFVLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDcEMsOERBQThEO1FBQzlELElBQUksTUFBTSxJQUFJLFVBQVUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxDQUFDLElBQUksVUFBVSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLENBQUMsRUFBQyxDQUFDO1lBQ3BILDBEQUEwRDtZQUMxRCxJQUFJLFVBQVUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxDQUFDLElBQUksVUFBVSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLENBQUMsRUFBRSxDQUFDO2dCQUMzRyxPQUFPLFVBQVUsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDbkQsQ0FBQztZQUNELE9BQU8sVUFBVSxDQUFDO1FBQ3BCLENBQUM7UUFDRCw4REFBOEQ7UUFDOUQsT0FBTyxVQUFVLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsSUFBSSxPQUFPLENBQUMsR0FBVztRQUNyQixLQUFLLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQztJQUN0QixDQUFDO0NBRUYifQ==
|