@mlabsh/n8n-nodes-mlab 0.1.2 → 1.1.2
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/README.md +57 -66
- package/dist/nodes/{MlabCve/MlabCve.node.d.ts → Mlab/Mlab.node.d.ts} +1 -1
- package/dist/nodes/Mlab/Mlab.node.js +960 -0
- package/dist/nodes/Mlab/Mlab.node.js.map +1 -0
- package/dist/nodes/shared/GenericFunctions.js +9 -2
- package/dist/nodes/shared/GenericFunctions.js.map +1 -1
- package/package.json +2 -4
- package/dist/nodes/MlabCore/MlabCore.node.d.ts +0 -5
- package/dist/nodes/MlabCore/MlabCore.node.js +0 -348
- package/dist/nodes/MlabCore/MlabCore.node.js.map +0 -1
- package/dist/nodes/MlabCve/MlabCve.node.js +0 -161
- package/dist/nodes/MlabCve/MlabCve.node.js.map +0 -1
- package/dist/nodes/MlabCve/mlab.svg +0 -9
- package/dist/nodes/MlabThreatActors/MlabThreatActors.node.d.ts +0 -5
- package/dist/nodes/MlabThreatActors/MlabThreatActors.node.js +0 -167
- package/dist/nodes/MlabThreatActors/MlabThreatActors.node.js.map +0 -1
- package/dist/nodes/MlabThreatActors/mlab.svg +0 -9
- /package/dist/nodes/{MlabCore → Mlab}/mlab.svg +0 -0
|
@@ -1,161 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MlabCve = void 0;
|
|
4
|
-
const GenericFunctions_1 = require("../shared/GenericFunctions");
|
|
5
|
-
class MlabCve {
|
|
6
|
-
constructor() {
|
|
7
|
-
this.description = {
|
|
8
|
-
displayName: 'mlab.sh CVE',
|
|
9
|
-
name: 'mlabCve',
|
|
10
|
-
icon: 'file:mlab.svg',
|
|
11
|
-
group: ['transform'],
|
|
12
|
-
version: 1,
|
|
13
|
-
subtitle: '={{$parameter["operation"]}}',
|
|
14
|
-
description: 'Search and retrieve CVE vulnerability data from vuln.mlab.sh',
|
|
15
|
-
defaults: {
|
|
16
|
-
name: 'mlab.sh CVE',
|
|
17
|
-
},
|
|
18
|
-
inputs: ['main'],
|
|
19
|
-
outputs: ['main'],
|
|
20
|
-
properties: [
|
|
21
|
-
{
|
|
22
|
-
displayName: 'Operation',
|
|
23
|
-
name: 'operation',
|
|
24
|
-
type: 'options',
|
|
25
|
-
noDataExpression: true,
|
|
26
|
-
options: [
|
|
27
|
-
{
|
|
28
|
-
name: 'Search',
|
|
29
|
-
value: 'search',
|
|
30
|
-
action: 'Search vulnerabilities',
|
|
31
|
-
description: 'Search vulnerabilities by keyword, vendor or product',
|
|
32
|
-
},
|
|
33
|
-
{
|
|
34
|
-
name: 'Get',
|
|
35
|
-
value: 'get',
|
|
36
|
-
action: 'Get a CVE by ID',
|
|
37
|
-
description: 'Retrieve full details for a CVE (including EPSS and KEV data)',
|
|
38
|
-
},
|
|
39
|
-
{
|
|
40
|
-
name: 'Get Latest',
|
|
41
|
-
value: 'latest',
|
|
42
|
-
action: 'Get latest vulnerabilities',
|
|
43
|
-
description: 'Fetch vulnerabilities from the last 7 days',
|
|
44
|
-
},
|
|
45
|
-
],
|
|
46
|
-
default: 'search',
|
|
47
|
-
},
|
|
48
|
-
{
|
|
49
|
-
displayName: 'CVE ID',
|
|
50
|
-
name: 'cveId',
|
|
51
|
-
type: 'string',
|
|
52
|
-
required: true,
|
|
53
|
-
default: '',
|
|
54
|
-
placeholder: 'CVE-2024-3094',
|
|
55
|
-
displayOptions: { show: { operation: ['get'] } },
|
|
56
|
-
description: 'The CVE identifier to retrieve',
|
|
57
|
-
},
|
|
58
|
-
{
|
|
59
|
-
displayName: 'Query',
|
|
60
|
-
name: 'query',
|
|
61
|
-
type: 'string',
|
|
62
|
-
required: true,
|
|
63
|
-
default: '',
|
|
64
|
-
placeholder: 'openssl',
|
|
65
|
-
displayOptions: { show: { operation: ['search'] } },
|
|
66
|
-
description: 'Keyword, vendor or product name to search for',
|
|
67
|
-
},
|
|
68
|
-
{
|
|
69
|
-
displayName: 'Filters',
|
|
70
|
-
name: 'filters',
|
|
71
|
-
type: 'collection',
|
|
72
|
-
placeholder: 'Add Filter',
|
|
73
|
-
default: {},
|
|
74
|
-
displayOptions: { show: { operation: ['search'] } },
|
|
75
|
-
options: [
|
|
76
|
-
{
|
|
77
|
-
displayName: 'Severity',
|
|
78
|
-
name: 'severity',
|
|
79
|
-
type: 'options',
|
|
80
|
-
default: 'CRITICAL',
|
|
81
|
-
options: [
|
|
82
|
-
{ name: 'Critical', value: 'CRITICAL' },
|
|
83
|
-
{ name: 'High', value: 'HIGH' },
|
|
84
|
-
{ name: 'Medium', value: 'MEDIUM' },
|
|
85
|
-
{ name: 'Low', value: 'LOW' },
|
|
86
|
-
],
|
|
87
|
-
},
|
|
88
|
-
{
|
|
89
|
-
displayName: 'Published After',
|
|
90
|
-
name: 'dateStart',
|
|
91
|
-
type: 'dateTime',
|
|
92
|
-
default: '',
|
|
93
|
-
description: 'Only return CVEs published on or after this date',
|
|
94
|
-
},
|
|
95
|
-
{
|
|
96
|
-
displayName: 'Exact Match',
|
|
97
|
-
name: 'exact',
|
|
98
|
-
type: 'boolean',
|
|
99
|
-
default: false,
|
|
100
|
-
description: 'Whether to perform an exact-match search instead of fuzzy',
|
|
101
|
-
},
|
|
102
|
-
{
|
|
103
|
-
displayName: 'Known Exploited Only (KEV)',
|
|
104
|
-
name: 'kev',
|
|
105
|
-
type: 'boolean',
|
|
106
|
-
default: false,
|
|
107
|
-
description: 'Whether to only return CVEs in the CISA Known Exploited Vulnerabilities catalog',
|
|
108
|
-
},
|
|
109
|
-
],
|
|
110
|
-
},
|
|
111
|
-
],
|
|
112
|
-
};
|
|
113
|
-
}
|
|
114
|
-
async execute() {
|
|
115
|
-
const items = this.getInputData();
|
|
116
|
-
const returnData = [];
|
|
117
|
-
const operation = this.getNodeParameter('operation', 0);
|
|
118
|
-
for (let i = 0; i < items.length; i++) {
|
|
119
|
-
try {
|
|
120
|
-
let responseData = {};
|
|
121
|
-
if (operation === 'get') {
|
|
122
|
-
const cveId = this.getNodeParameter('cveId', i).trim().toUpperCase();
|
|
123
|
-
responseData = (await GenericFunctions_1.mlabPublicApiRequest.call(this, GenericFunctions_1.MLAB_CVE_BASE_URL, 'GET', `/cve/${encodeURIComponent(cveId)}`));
|
|
124
|
-
}
|
|
125
|
-
else if (operation === 'latest') {
|
|
126
|
-
responseData = (await GenericFunctions_1.mlabPublicApiRequest.call(this, GenericFunctions_1.MLAB_CVE_BASE_URL, 'GET', '/cve/latest'));
|
|
127
|
-
}
|
|
128
|
-
else if (operation === 'search') {
|
|
129
|
-
const query = this.getNodeParameter('query', i);
|
|
130
|
-
const filters = this.getNodeParameter('filters', i, {});
|
|
131
|
-
const qs = { q: query };
|
|
132
|
-
if (filters.severity)
|
|
133
|
-
qs.severity = filters.severity;
|
|
134
|
-
if (filters.exact)
|
|
135
|
-
qs.exact = 1;
|
|
136
|
-
if (filters.kev)
|
|
137
|
-
qs.kev = 1;
|
|
138
|
-
if (filters.dateStart) {
|
|
139
|
-
qs.dateStart = filters.dateStart.slice(0, 10);
|
|
140
|
-
}
|
|
141
|
-
responseData = (await GenericFunctions_1.mlabPublicApiRequest.call(this, GenericFunctions_1.MLAB_CVE_BASE_URL, 'GET', '/cve', qs));
|
|
142
|
-
}
|
|
143
|
-
const executionData = this.helpers.constructExecutionMetaData(this.helpers.returnJsonArray(responseData), { itemData: { item: i } });
|
|
144
|
-
returnData.push(...executionData);
|
|
145
|
-
}
|
|
146
|
-
catch (error) {
|
|
147
|
-
if (this.continueOnFail()) {
|
|
148
|
-
returnData.push({
|
|
149
|
-
json: { error: error.message },
|
|
150
|
-
pairedItem: { item: i },
|
|
151
|
-
});
|
|
152
|
-
continue;
|
|
153
|
-
}
|
|
154
|
-
throw error;
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
return [returnData];
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
exports.MlabCve = MlabCve;
|
|
161
|
-
//# sourceMappingURL=MlabCve.node.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MlabCve.node.js","sourceRoot":"","sources":["../../../nodes/MlabCve/MlabCve.node.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="none">
|
|
2
|
-
<g fill="#000000" stroke="#ffffff" stroke-width="2.5" stroke-linejoin="round" paint-order="stroke fill">
|
|
3
|
-
<polygon points="257.93,24.96 117.83,161.85 307.41,352.4 195.27,426.3 255.04,487.04 395.46,348.22 204.91,155.75 230.29,129.72 254.07,151.25 318.34,86.66"/>
|
|
4
|
-
<polygon points="87.3,192.38 24.0,256.96 88.91,319.62 151.89,255.04"/>
|
|
5
|
-
<polygon points="423.73,193.34 361.4,256.96 425.66,318.98 488.0,254.71"/>
|
|
6
|
-
<polygon points="185.95,283.63 118.15,349.83 164.1,396.74 231.9,330.55"/>
|
|
7
|
-
<polygon points="350.15,116.86 284.28,180.81 330.55,228.04 396.42,164.1"/>
|
|
8
|
-
</g>
|
|
9
|
-
</svg>
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import type { IExecuteFunctions, INodeExecutionData, INodeType, INodeTypeDescription } from 'n8n-workflow';
|
|
2
|
-
export declare class MlabThreatActors implements INodeType {
|
|
3
|
-
description: INodeTypeDescription;
|
|
4
|
-
execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]>;
|
|
5
|
-
}
|
|
@@ -1,167 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MlabThreatActors = void 0;
|
|
4
|
-
const GenericFunctions_1 = require("../shared/GenericFunctions");
|
|
5
|
-
class MlabThreatActors {
|
|
6
|
-
constructor() {
|
|
7
|
-
this.description = {
|
|
8
|
-
displayName: 'mlab.sh Threat Actors',
|
|
9
|
-
name: 'mlabThreatActors',
|
|
10
|
-
icon: 'file:mlab.svg',
|
|
11
|
-
group: ['transform'],
|
|
12
|
-
version: 1,
|
|
13
|
-
subtitle: '={{$parameter["operation"]}}',
|
|
14
|
-
description: 'Look up cyber threat actor intelligence from actors.mlab.sh',
|
|
15
|
-
defaults: {
|
|
16
|
-
name: 'mlab.sh Threat Actors',
|
|
17
|
-
},
|
|
18
|
-
inputs: ['main'],
|
|
19
|
-
outputs: ['main'],
|
|
20
|
-
properties: [
|
|
21
|
-
{
|
|
22
|
-
displayName: 'Operation',
|
|
23
|
-
name: 'operation',
|
|
24
|
-
type: 'options',
|
|
25
|
-
noDataExpression: true,
|
|
26
|
-
options: [
|
|
27
|
-
{
|
|
28
|
-
name: 'List / Search',
|
|
29
|
-
value: 'list',
|
|
30
|
-
action: 'List or search threat actors',
|
|
31
|
-
description: 'List actors with optional filters (origin, motivation, sector)',
|
|
32
|
-
},
|
|
33
|
-
{
|
|
34
|
-
name: 'Get',
|
|
35
|
-
value: 'get',
|
|
36
|
-
action: 'Get a threat actor',
|
|
37
|
-
description: 'Get a single actor by slug, including aliases, tools, CVEs and techniques',
|
|
38
|
-
},
|
|
39
|
-
{
|
|
40
|
-
name: 'Get by CVE',
|
|
41
|
-
value: 'byCve',
|
|
42
|
-
action: 'Get actors that exploit a CVE',
|
|
43
|
-
description: 'Reverse lookup: which actors are known to exploit a given CVE',
|
|
44
|
-
},
|
|
45
|
-
],
|
|
46
|
-
default: 'list',
|
|
47
|
-
},
|
|
48
|
-
{
|
|
49
|
-
displayName: 'Actor Slug',
|
|
50
|
-
name: 'slug',
|
|
51
|
-
type: 'string',
|
|
52
|
-
required: true,
|
|
53
|
-
default: '',
|
|
54
|
-
placeholder: 'apt28',
|
|
55
|
-
displayOptions: { show: { operation: ['get'] } },
|
|
56
|
-
description: 'The slug of the actor to retrieve',
|
|
57
|
-
},
|
|
58
|
-
{
|
|
59
|
-
displayName: 'CVE ID',
|
|
60
|
-
name: 'cveId',
|
|
61
|
-
type: 'string',
|
|
62
|
-
required: true,
|
|
63
|
-
default: '',
|
|
64
|
-
placeholder: 'CVE-2021-44228',
|
|
65
|
-
displayOptions: { show: { operation: ['byCve'] } },
|
|
66
|
-
description: 'The CVE identifier to reverse-lookup actors for',
|
|
67
|
-
},
|
|
68
|
-
{
|
|
69
|
-
displayName: 'Filters',
|
|
70
|
-
name: 'filters',
|
|
71
|
-
type: 'collection',
|
|
72
|
-
placeholder: 'Add Filter',
|
|
73
|
-
default: {},
|
|
74
|
-
displayOptions: { show: { operation: ['list'] } },
|
|
75
|
-
options: [
|
|
76
|
-
{
|
|
77
|
-
displayName: 'Origin',
|
|
78
|
-
name: 'origin',
|
|
79
|
-
type: 'string',
|
|
80
|
-
default: '',
|
|
81
|
-
description: 'Filter by country of origin (e.g. "China", "Russia")',
|
|
82
|
-
},
|
|
83
|
-
{
|
|
84
|
-
displayName: 'Motivation',
|
|
85
|
-
name: 'motivation',
|
|
86
|
-
type: 'string',
|
|
87
|
-
default: '',
|
|
88
|
-
placeholder: 'Espionage',
|
|
89
|
-
description: 'Filter by motivation type',
|
|
90
|
-
},
|
|
91
|
-
{
|
|
92
|
-
displayName: 'Sector',
|
|
93
|
-
name: 'sector',
|
|
94
|
-
type: 'string',
|
|
95
|
-
default: '',
|
|
96
|
-
placeholder: 'Government',
|
|
97
|
-
description: 'Filter by targeted sector',
|
|
98
|
-
},
|
|
99
|
-
],
|
|
100
|
-
},
|
|
101
|
-
{
|
|
102
|
-
displayName: 'Limit',
|
|
103
|
-
name: 'limit',
|
|
104
|
-
type: 'number',
|
|
105
|
-
typeOptions: { minValue: 1 },
|
|
106
|
-
default: 50,
|
|
107
|
-
displayOptions: { show: { operation: ['list'] } },
|
|
108
|
-
description: 'Max number of results to return',
|
|
109
|
-
},
|
|
110
|
-
{
|
|
111
|
-
displayName: 'Offset',
|
|
112
|
-
name: 'offset',
|
|
113
|
-
type: 'number',
|
|
114
|
-
default: 0,
|
|
115
|
-
displayOptions: { show: { operation: ['list'] } },
|
|
116
|
-
description: 'Number of results to skip (for pagination)',
|
|
117
|
-
},
|
|
118
|
-
],
|
|
119
|
-
};
|
|
120
|
-
}
|
|
121
|
-
async execute() {
|
|
122
|
-
const items = this.getInputData();
|
|
123
|
-
const returnData = [];
|
|
124
|
-
const operation = this.getNodeParameter('operation', 0);
|
|
125
|
-
for (let i = 0; i < items.length; i++) {
|
|
126
|
-
try {
|
|
127
|
-
let responseData = {};
|
|
128
|
-
if (operation === 'get') {
|
|
129
|
-
const slug = this.getNodeParameter('slug', i).trim();
|
|
130
|
-
responseData = (await GenericFunctions_1.mlabPublicApiRequest.call(this, GenericFunctions_1.MLAB_ACTORS_BASE_URL, 'GET', `/actors/${encodeURIComponent(slug)}`));
|
|
131
|
-
}
|
|
132
|
-
else if (operation === 'byCve') {
|
|
133
|
-
const cveId = this.getNodeParameter('cveId', i).trim().toUpperCase();
|
|
134
|
-
responseData = (await GenericFunctions_1.mlabPublicApiRequest.call(this, GenericFunctions_1.MLAB_ACTORS_BASE_URL, 'GET', `/cves/${encodeURIComponent(cveId)}/actors`));
|
|
135
|
-
}
|
|
136
|
-
else if (operation === 'list') {
|
|
137
|
-
const filters = this.getNodeParameter('filters', i, {});
|
|
138
|
-
const limit = this.getNodeParameter('limit', i);
|
|
139
|
-
const offset = this.getNodeParameter('offset', i);
|
|
140
|
-
const qs = { limit, offset };
|
|
141
|
-
if (filters.origin)
|
|
142
|
-
qs.origin = filters.origin;
|
|
143
|
-
if (filters.motivation)
|
|
144
|
-
qs.motivation = filters.motivation;
|
|
145
|
-
if (filters.sector)
|
|
146
|
-
qs.sector = filters.sector;
|
|
147
|
-
responseData = (await GenericFunctions_1.mlabPublicApiRequest.call(this, GenericFunctions_1.MLAB_ACTORS_BASE_URL, 'GET', '/actors', qs));
|
|
148
|
-
}
|
|
149
|
-
const executionData = this.helpers.constructExecutionMetaData(this.helpers.returnJsonArray(responseData), { itemData: { item: i } });
|
|
150
|
-
returnData.push(...executionData);
|
|
151
|
-
}
|
|
152
|
-
catch (error) {
|
|
153
|
-
if (this.continueOnFail()) {
|
|
154
|
-
returnData.push({
|
|
155
|
-
json: { error: error.message },
|
|
156
|
-
pairedItem: { item: i },
|
|
157
|
-
});
|
|
158
|
-
continue;
|
|
159
|
-
}
|
|
160
|
-
throw error;
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
return [returnData];
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
exports.MlabThreatActors = MlabThreatActors;
|
|
167
|
-
//# sourceMappingURL=MlabThreatActors.node.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MlabThreatActors.node.js","sourceRoot":"","sources":["../../../nodes/MlabThreatActors/MlabThreatActors.node.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="none">
|
|
2
|
-
<g fill="#000000" stroke="#ffffff" stroke-width="2.5" stroke-linejoin="round" paint-order="stroke fill">
|
|
3
|
-
<polygon points="257.93,24.96 117.83,161.85 307.41,352.4 195.27,426.3 255.04,487.04 395.46,348.22 204.91,155.75 230.29,129.72 254.07,151.25 318.34,86.66"/>
|
|
4
|
-
<polygon points="87.3,192.38 24.0,256.96 88.91,319.62 151.89,255.04"/>
|
|
5
|
-
<polygon points="423.73,193.34 361.4,256.96 425.66,318.98 488.0,254.71"/>
|
|
6
|
-
<polygon points="185.95,283.63 118.15,349.83 164.1,396.74 231.9,330.55"/>
|
|
7
|
-
<polygon points="350.15,116.86 284.28,180.81 330.55,228.04 396.42,164.1"/>
|
|
8
|
-
</g>
|
|
9
|
-
</svg>
|
|
File without changes
|