nox-openclaw-hunter 1.0.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/LICENSE +21 -0
- package/README.md +140 -0
- package/bin/nox.js +2 -0
- package/dist/branding.d.ts +39 -0
- package/dist/branding.d.ts.map +1 -0
- package/dist/branding.js +66 -0
- package/dist/branding.js.map +1 -0
- package/dist/cli.d.ts +15 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +94 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/export.d.ts +21 -0
- package/dist/commands/export.d.ts.map +1 -0
- package/dist/commands/export.js +616 -0
- package/dist/commands/export.js.map +1 -0
- package/dist/commands/index.d.ts +8 -0
- package/dist/commands/index.d.ts.map +1 -0
- package/dist/commands/index.js +8 -0
- package/dist/commands/index.js.map +1 -0
- package/dist/commands/isolate.d.ts +30 -0
- package/dist/commands/isolate.d.ts.map +1 -0
- package/dist/commands/isolate.js +547 -0
- package/dist/commands/isolate.js.map +1 -0
- package/dist/commands/purge.d.ts +22 -0
- package/dist/commands/purge.d.ts.map +1 -0
- package/dist/commands/purge.js +295 -0
- package/dist/commands/purge.js.map +1 -0
- package/dist/commands/scan.d.ts +23 -0
- package/dist/commands/scan.d.ts.map +1 -0
- package/dist/commands/scan.js +155 -0
- package/dist/commands/scan.js.map +1 -0
- package/dist/detector/app-bundle.d.ts +13 -0
- package/dist/detector/app-bundle.d.ts.map +1 -0
- package/dist/detector/app-bundle.js +27 -0
- package/dist/detector/app-bundle.js.map +1 -0
- package/dist/detector/cli-binary.d.ts +12 -0
- package/dist/detector/cli-binary.d.ts.map +1 -0
- package/dist/detector/cli-binary.js +66 -0
- package/dist/detector/cli-binary.js.map +1 -0
- package/dist/detector/config.d.ts +21 -0
- package/dist/detector/config.d.ts.map +1 -0
- package/dist/detector/config.js +337 -0
- package/dist/detector/config.js.map +1 -0
- package/dist/detector/detection-config.d.ts +24 -0
- package/dist/detector/detection-config.d.ts.map +1 -0
- package/dist/detector/detection-config.js +242 -0
- package/dist/detector/detection-config.js.map +1 -0
- package/dist/detector/docker.d.ts +10 -0
- package/dist/detector/docker.d.ts.map +1 -0
- package/dist/detector/docker.js +94 -0
- package/dist/detector/docker.js.map +1 -0
- package/dist/detector/index.d.ts +50 -0
- package/dist/detector/index.d.ts.map +1 -0
- package/dist/detector/index.js +155 -0
- package/dist/detector/index.js.map +1 -0
- package/dist/detector/network.d.ts +34 -0
- package/dist/detector/network.d.ts.map +1 -0
- package/dist/detector/network.js +205 -0
- package/dist/detector/network.js.map +1 -0
- package/dist/detector/process.d.ts +16 -0
- package/dist/detector/process.d.ts.map +1 -0
- package/dist/detector/process.js +47 -0
- package/dist/detector/process.js.map +1 -0
- package/dist/detector/service.d.ts +17 -0
- package/dist/detector/service.d.ts.map +1 -0
- package/dist/detector/service.js +51 -0
- package/dist/detector/service.js.map +1 -0
- package/dist/enforcer/docker-cleaner.d.ts +30 -0
- package/dist/enforcer/docker-cleaner.d.ts.map +1 -0
- package/dist/enforcer/docker-cleaner.js +163 -0
- package/dist/enforcer/docker-cleaner.js.map +1 -0
- package/dist/enforcer/file-remover.d.ts +34 -0
- package/dist/enforcer/file-remover.d.ts.map +1 -0
- package/dist/enforcer/file-remover.js +137 -0
- package/dist/enforcer/file-remover.js.map +1 -0
- package/dist/enforcer/index.d.ts +33 -0
- package/dist/enforcer/index.d.ts.map +1 -0
- package/dist/enforcer/index.js +142 -0
- package/dist/enforcer/index.js.map +1 -0
- package/dist/enforcer/process-killer.d.ts +18 -0
- package/dist/enforcer/process-killer.d.ts.map +1 -0
- package/dist/enforcer/process-killer.js +80 -0
- package/dist/enforcer/process-killer.js.map +1 -0
- package/dist/enforcer/service-stopper.d.ts +23 -0
- package/dist/enforcer/service-stopper.d.ts.map +1 -0
- package/dist/enforcer/service-stopper.js +95 -0
- package/dist/enforcer/service-stopper.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -0
- package/dist/isolator/firewall.d.ts +25 -0
- package/dist/isolator/firewall.d.ts.map +1 -0
- package/dist/isolator/firewall.js +114 -0
- package/dist/isolator/firewall.js.map +1 -0
- package/dist/isolator/index.d.ts +63 -0
- package/dist/isolator/index.d.ts.map +1 -0
- package/dist/isolator/index.js +201 -0
- package/dist/isolator/index.js.map +1 -0
- package/dist/isolator/lockdown.d.ts +22 -0
- package/dist/isolator/lockdown.d.ts.map +1 -0
- package/dist/isolator/lockdown.js +401 -0
- package/dist/isolator/lockdown.js.map +1 -0
- package/dist/isolator/quarantine.d.ts +39 -0
- package/dist/isolator/quarantine.d.ts.map +1 -0
- package/dist/isolator/quarantine.js +364 -0
- package/dist/isolator/quarantine.js.map +1 -0
- package/dist/mdm/index.d.ts +93 -0
- package/dist/mdm/index.d.ts.map +1 -0
- package/dist/mdm/index.js +414 -0
- package/dist/mdm/index.js.map +1 -0
- package/dist/mdm/intune.d.ts +69 -0
- package/dist/mdm/intune.d.ts.map +1 -0
- package/dist/mdm/intune.js +409 -0
- package/dist/mdm/intune.js.map +1 -0
- package/dist/mdm/jamf.d.ts +58 -0
- package/dist/mdm/jamf.d.ts.map +1 -0
- package/dist/mdm/jamf.js +441 -0
- package/dist/mdm/jamf.js.map +1 -0
- package/dist/mdm/jumpcloud.d.ts +73 -0
- package/dist/mdm/jumpcloud.d.ts.map +1 -0
- package/dist/mdm/jumpcloud.js +470 -0
- package/dist/mdm/jumpcloud.js.map +1 -0
- package/dist/mdm/templates/detect.ps1.d.ts +30 -0
- package/dist/mdm/templates/detect.ps1.d.ts.map +1 -0
- package/dist/mdm/templates/detect.ps1.js +463 -0
- package/dist/mdm/templates/detect.ps1.js.map +1 -0
- package/dist/mdm/templates/detect.sh.d.ts +30 -0
- package/dist/mdm/templates/detect.sh.d.ts.map +1 -0
- package/dist/mdm/templates/detect.sh.js +474 -0
- package/dist/mdm/templates/detect.sh.js.map +1 -0
- package/dist/mdm/templates/enforce.ps1.d.ts +33 -0
- package/dist/mdm/templates/enforce.ps1.d.ts.map +1 -0
- package/dist/mdm/templates/enforce.ps1.js +681 -0
- package/dist/mdm/templates/enforce.ps1.js.map +1 -0
- package/dist/mdm/templates/enforce.sh.d.ts +33 -0
- package/dist/mdm/templates/enforce.sh.d.ts.map +1 -0
- package/dist/mdm/templates/enforce.sh.js +591 -0
- package/dist/mdm/templates/enforce.sh.js.map +1 -0
- package/dist/platform/darwin.d.ts +6 -0
- package/dist/platform/darwin.d.ts.map +1 -0
- package/dist/platform/darwin.js +192 -0
- package/dist/platform/darwin.js.map +1 -0
- package/dist/platform/index.d.ts +43 -0
- package/dist/platform/index.d.ts.map +1 -0
- package/dist/platform/index.js +27 -0
- package/dist/platform/index.js.map +1 -0
- package/dist/platform/linux.d.ts +6 -0
- package/dist/platform/linux.d.ts.map +1 -0
- package/dist/platform/linux.js +134 -0
- package/dist/platform/linux.js.map +1 -0
- package/dist/platform/windows.d.ts +6 -0
- package/dist/platform/windows.d.ts.map +1 -0
- package/dist/platform/windows.js +134 -0
- package/dist/platform/windows.js.map +1 -0
- package/dist/reporter/console.d.ts +27 -0
- package/dist/reporter/console.d.ts.map +1 -0
- package/dist/reporter/console.js +431 -0
- package/dist/reporter/console.js.map +1 -0
- package/dist/reporter/index.d.ts +11 -0
- package/dist/reporter/index.d.ts.map +1 -0
- package/dist/reporter/index.js +13 -0
- package/dist/reporter/index.js.map +1 -0
- package/dist/reporter/json.d.ts +61 -0
- package/dist/reporter/json.d.ts.map +1 -0
- package/dist/reporter/json.js +75 -0
- package/dist/reporter/json.js.map +1 -0
- package/dist/reporter/webhook.d.ts +57 -0
- package/dist/reporter/webhook.d.ts.map +1 -0
- package/dist/reporter/webhook.js +230 -0
- package/dist/reporter/webhook.js.map +1 -0
- package/dist/types/config.d.ts +116 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +6 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/detection.d.ts +85 -0
- package/dist/types/detection.d.ts.map +1 -0
- package/dist/types/detection.js +5 -0
- package/dist/types/detection.js.map +1 -0
- package/dist/types/enforcement.d.ts +33 -0
- package/dist/types/enforcement.d.ts.map +1 -0
- package/dist/types/enforcement.js +5 -0
- package/dist/types/enforcement.js.map +1 -0
- package/dist/types/index.d.ts +8 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +8 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/isolation.d.ts +55 -0
- package/dist/types/isolation.d.ts.map +1 -0
- package/dist/types/isolation.js +5 -0
- package/dist/types/isolation.js.map +1 -0
- package/dist/utils/exec.d.ts +48 -0
- package/dist/utils/exec.d.ts.map +1 -0
- package/dist/utils/exec.js +103 -0
- package/dist/utils/exec.js.map +1 -0
- package/dist/utils/fs.d.ts +34 -0
- package/dist/utils/fs.d.ts.map +1 -0
- package/dist/utils/fs.js +111 -0
- package/dist/utils/fs.js.map +1 -0
- package/dist/utils/index.d.ts +7 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +7 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/logger.d.ts +14 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +48 -0
- package/dist/utils/logger.js.map +1 -0
- package/docs/intune.md +390 -0
- package/docs/jamf.md +400 -0
- package/docs/jumpcloud.md +510 -0
- package/package.json +65 -0
|
@@ -0,0 +1,414 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MDM Export Module - Main entry point.
|
|
3
|
+
*
|
|
4
|
+
* Provides unified interface for generating MDM deployment scripts
|
|
5
|
+
* for Jamf Pro, Microsoft Intune, and JumpCloud platforms.
|
|
6
|
+
*
|
|
7
|
+
* @module mdm
|
|
8
|
+
*/
|
|
9
|
+
import * as fs from 'node:fs/promises';
|
|
10
|
+
import * as path from 'node:path';
|
|
11
|
+
import { VERSION, COMPANY } from '../branding.js';
|
|
12
|
+
// Re-export platform-specific modules
|
|
13
|
+
export * from './jamf.js';
|
|
14
|
+
export * from './intune.js';
|
|
15
|
+
export * from './jumpcloud.js';
|
|
16
|
+
// Re-export template modules
|
|
17
|
+
export * from './templates/detect.sh.js';
|
|
18
|
+
export * from './templates/detect.ps1.js';
|
|
19
|
+
export * from './templates/enforce.sh.js';
|
|
20
|
+
export * from './templates/enforce.ps1.js';
|
|
21
|
+
// Import platform modules for unified interface
|
|
22
|
+
import { getJamfExports } from './jamf.js';
|
|
23
|
+
import { getIntuneExports } from './intune.js';
|
|
24
|
+
import { getJumpCloudExports } from './jumpcloud.js';
|
|
25
|
+
/**
|
|
26
|
+
* Platform display names.
|
|
27
|
+
*/
|
|
28
|
+
export const PLATFORM_NAMES = {
|
|
29
|
+
jamf: 'Jamf Pro',
|
|
30
|
+
intune: 'Microsoft Intune',
|
|
31
|
+
jumpcloud: 'JumpCloud',
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* Platform supported operating systems.
|
|
35
|
+
*/
|
|
36
|
+
export const PLATFORM_OS = {
|
|
37
|
+
jamf: ['macOS'],
|
|
38
|
+
intune: ['Windows', 'macOS'],
|
|
39
|
+
jumpcloud: ['Windows', 'macOS', 'Linux'],
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* Validate MDM platform.
|
|
43
|
+
*/
|
|
44
|
+
export function isValidPlatform(platform) {
|
|
45
|
+
return ['jamf', 'intune', 'jumpcloud'].includes(platform.toLowerCase());
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Validate script mode.
|
|
49
|
+
*/
|
|
50
|
+
export function isValidMode(mode) {
|
|
51
|
+
return ['detect', 'enforce', 'all'].includes(mode.toLowerCase());
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Generate MDM deployment scripts for the specified platform.
|
|
55
|
+
*/
|
|
56
|
+
export function generateMdmScripts(options) {
|
|
57
|
+
const { platform, mode, webhookUrl, webhookToken, gatewayPort, verbose, quarantine } = options;
|
|
58
|
+
const commonOptions = {
|
|
59
|
+
webhookUrl,
|
|
60
|
+
webhookToken,
|
|
61
|
+
gatewayPort,
|
|
62
|
+
verbose,
|
|
63
|
+
quarantine,
|
|
64
|
+
};
|
|
65
|
+
const files = [];
|
|
66
|
+
switch (platform) {
|
|
67
|
+
case 'jamf':
|
|
68
|
+
files.push(...generateJamfFiles(commonOptions, mode));
|
|
69
|
+
break;
|
|
70
|
+
case 'intune':
|
|
71
|
+
files.push(...generateIntuneFiles(commonOptions, mode));
|
|
72
|
+
break;
|
|
73
|
+
case 'jumpcloud':
|
|
74
|
+
files.push(...generateJumpCloudFiles(commonOptions, mode));
|
|
75
|
+
break;
|
|
76
|
+
}
|
|
77
|
+
return {
|
|
78
|
+
platform,
|
|
79
|
+
displayName: PLATFORM_NAMES[platform],
|
|
80
|
+
supportedOS: PLATFORM_OS[platform],
|
|
81
|
+
files,
|
|
82
|
+
outputDir: options.outputDir,
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Generate Jamf-specific files.
|
|
87
|
+
*/
|
|
88
|
+
function generateJamfFiles(options, mode) {
|
|
89
|
+
const exports = getJamfExports(options);
|
|
90
|
+
const files = [];
|
|
91
|
+
if (mode === 'detect' || mode === 'all') {
|
|
92
|
+
files.push({
|
|
93
|
+
filename: exports.detectScript.filename,
|
|
94
|
+
content: exports.detectScript.content,
|
|
95
|
+
description: exports.detectScript.description,
|
|
96
|
+
platform: 'macOS',
|
|
97
|
+
type: 'script',
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
if (mode === 'enforce' || mode === 'all') {
|
|
101
|
+
files.push({
|
|
102
|
+
filename: exports.enforceScript.filename,
|
|
103
|
+
content: exports.enforceScript.content,
|
|
104
|
+
description: exports.enforceScript.description,
|
|
105
|
+
platform: 'macOS',
|
|
106
|
+
type: 'script',
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
// Always include extension attribute and docs
|
|
110
|
+
files.push({
|
|
111
|
+
filename: 'nox-openclaw-extension-attribute.sh',
|
|
112
|
+
content: exports.extensionAttribute,
|
|
113
|
+
description: 'Jamf Pro extension attribute for inventory reporting',
|
|
114
|
+
platform: 'macOS',
|
|
115
|
+
type: 'extension',
|
|
116
|
+
});
|
|
117
|
+
files.push({
|
|
118
|
+
filename: 'README-jamf.md',
|
|
119
|
+
content: exports.documentation,
|
|
120
|
+
description: 'Jamf Pro deployment documentation',
|
|
121
|
+
platform: 'macOS',
|
|
122
|
+
type: 'documentation',
|
|
123
|
+
});
|
|
124
|
+
return files;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Generate Intune-specific files.
|
|
128
|
+
*/
|
|
129
|
+
function generateIntuneFiles(options, mode) {
|
|
130
|
+
const exports = getIntuneExports(options);
|
|
131
|
+
const files = [];
|
|
132
|
+
if (mode === 'detect' || mode === 'all') {
|
|
133
|
+
// Windows detection
|
|
134
|
+
files.push({
|
|
135
|
+
filename: exports.windowsDetectScript.filename,
|
|
136
|
+
content: exports.windowsDetectScript.content,
|
|
137
|
+
description: exports.windowsDetectScript.description,
|
|
138
|
+
platform: 'Windows',
|
|
139
|
+
type: 'script',
|
|
140
|
+
});
|
|
141
|
+
// macOS detection
|
|
142
|
+
files.push({
|
|
143
|
+
filename: exports.macosDetectScript.filename,
|
|
144
|
+
content: exports.macosDetectScript.content,
|
|
145
|
+
description: exports.macosDetectScript.description,
|
|
146
|
+
platform: 'macOS',
|
|
147
|
+
type: 'script',
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
if (mode === 'enforce' || mode === 'all') {
|
|
151
|
+
// Windows enforcement
|
|
152
|
+
files.push({
|
|
153
|
+
filename: exports.windowsEnforceScript.filename,
|
|
154
|
+
content: exports.windowsEnforceScript.content,
|
|
155
|
+
description: exports.windowsEnforceScript.description,
|
|
156
|
+
platform: 'Windows',
|
|
157
|
+
type: 'script',
|
|
158
|
+
});
|
|
159
|
+
// macOS enforcement
|
|
160
|
+
files.push({
|
|
161
|
+
filename: exports.macosEnforceScript.filename,
|
|
162
|
+
content: exports.macosEnforceScript.content,
|
|
163
|
+
description: exports.macosEnforceScript.description,
|
|
164
|
+
platform: 'macOS',
|
|
165
|
+
type: 'script',
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
// Documentation
|
|
169
|
+
files.push({
|
|
170
|
+
filename: 'README-intune.md',
|
|
171
|
+
content: exports.documentation,
|
|
172
|
+
description: 'Microsoft Intune deployment documentation',
|
|
173
|
+
platform: 'Windows/macOS',
|
|
174
|
+
type: 'documentation',
|
|
175
|
+
});
|
|
176
|
+
return files;
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Generate JumpCloud-specific files.
|
|
180
|
+
*/
|
|
181
|
+
function generateJumpCloudFiles(options, mode) {
|
|
182
|
+
const exports = getJumpCloudExports(options);
|
|
183
|
+
const files = [];
|
|
184
|
+
if (mode === 'detect' || mode === 'all') {
|
|
185
|
+
// macOS detection
|
|
186
|
+
files.push({
|
|
187
|
+
filename: 'detect-openclaw-mac.sh',
|
|
188
|
+
content: exports.macDetectCommand.command,
|
|
189
|
+
description: 'JumpCloud detection command for macOS',
|
|
190
|
+
platform: 'macOS',
|
|
191
|
+
type: 'script',
|
|
192
|
+
});
|
|
193
|
+
// Linux detection
|
|
194
|
+
files.push({
|
|
195
|
+
filename: 'detect-openclaw-linux.sh',
|
|
196
|
+
content: exports.linuxDetectCommand.command,
|
|
197
|
+
description: 'JumpCloud detection command for Linux',
|
|
198
|
+
platform: 'Linux',
|
|
199
|
+
type: 'script',
|
|
200
|
+
});
|
|
201
|
+
// Windows detection
|
|
202
|
+
files.push({
|
|
203
|
+
filename: 'Detect-OpenClaw-Windows.ps1',
|
|
204
|
+
content: exports.windowsDetectCommand.command,
|
|
205
|
+
description: 'JumpCloud detection command for Windows',
|
|
206
|
+
platform: 'Windows',
|
|
207
|
+
type: 'script',
|
|
208
|
+
});
|
|
209
|
+
}
|
|
210
|
+
if (mode === 'enforce' || mode === 'all') {
|
|
211
|
+
// macOS enforcement
|
|
212
|
+
files.push({
|
|
213
|
+
filename: 'enforce-openclaw-mac.sh',
|
|
214
|
+
content: exports.macEnforceCommand.command,
|
|
215
|
+
description: 'JumpCloud enforcement command for macOS',
|
|
216
|
+
platform: 'macOS',
|
|
217
|
+
type: 'script',
|
|
218
|
+
});
|
|
219
|
+
// Linux enforcement
|
|
220
|
+
files.push({
|
|
221
|
+
filename: 'enforce-openclaw-linux.sh',
|
|
222
|
+
content: exports.linuxEnforceCommand.command,
|
|
223
|
+
description: 'JumpCloud enforcement command for Linux',
|
|
224
|
+
platform: 'Linux',
|
|
225
|
+
type: 'script',
|
|
226
|
+
});
|
|
227
|
+
// Windows enforcement
|
|
228
|
+
files.push({
|
|
229
|
+
filename: 'Enforce-OpenClaw-Windows.ps1',
|
|
230
|
+
content: exports.windowsEnforceCommand.command,
|
|
231
|
+
description: 'JumpCloud enforcement command for Windows',
|
|
232
|
+
platform: 'Windows',
|
|
233
|
+
type: 'script',
|
|
234
|
+
});
|
|
235
|
+
}
|
|
236
|
+
// System Insights fact
|
|
237
|
+
files.push({
|
|
238
|
+
filename: 'system-insights-fact.sh',
|
|
239
|
+
content: exports.systemInsightsFact,
|
|
240
|
+
description: 'JumpCloud System Insights custom fact',
|
|
241
|
+
platform: 'macOS/Linux',
|
|
242
|
+
type: 'extension',
|
|
243
|
+
});
|
|
244
|
+
// Documentation
|
|
245
|
+
files.push({
|
|
246
|
+
filename: 'README-jumpcloud.md',
|
|
247
|
+
content: exports.documentation,
|
|
248
|
+
description: 'JumpCloud deployment documentation',
|
|
249
|
+
platform: 'Windows/macOS/Linux',
|
|
250
|
+
type: 'documentation',
|
|
251
|
+
});
|
|
252
|
+
return files;
|
|
253
|
+
}
|
|
254
|
+
/**
|
|
255
|
+
* Write generated files to output directory.
|
|
256
|
+
*/
|
|
257
|
+
export async function writeMdmFiles(result, outputDir) {
|
|
258
|
+
// Create output directory
|
|
259
|
+
await fs.mkdir(outputDir, { recursive: true });
|
|
260
|
+
// Write each file
|
|
261
|
+
for (const file of result.files) {
|
|
262
|
+
const filePath = path.join(outputDir, file.filename);
|
|
263
|
+
await fs.writeFile(filePath, file.content, 'utf-8');
|
|
264
|
+
// Make shell scripts executable
|
|
265
|
+
if (file.filename.endsWith('.sh')) {
|
|
266
|
+
await fs.chmod(filePath, 0o755);
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
// Write summary manifest
|
|
270
|
+
const manifest = {
|
|
271
|
+
generatedAt: new Date().toISOString(),
|
|
272
|
+
generator: {
|
|
273
|
+
name: 'nox-openclaw-detector',
|
|
274
|
+
version: VERSION,
|
|
275
|
+
vendor: COMPANY,
|
|
276
|
+
},
|
|
277
|
+
platform: result.platform,
|
|
278
|
+
displayName: result.displayName,
|
|
279
|
+
supportedOS: result.supportedOS,
|
|
280
|
+
files: result.files.map(f => ({
|
|
281
|
+
filename: f.filename,
|
|
282
|
+
type: f.type,
|
|
283
|
+
platform: f.platform,
|
|
284
|
+
description: f.description,
|
|
285
|
+
})),
|
|
286
|
+
};
|
|
287
|
+
await fs.writeFile(path.join(outputDir, 'manifest.json'), JSON.stringify(manifest, null, 2), 'utf-8');
|
|
288
|
+
}
|
|
289
|
+
/**
|
|
290
|
+
* Get supported platforms information.
|
|
291
|
+
*/
|
|
292
|
+
export function getSupportedPlatforms() {
|
|
293
|
+
return [
|
|
294
|
+
{ id: 'jamf', name: 'Jamf Pro', supportedOS: ['macOS'] },
|
|
295
|
+
{ id: 'intune', name: 'Microsoft Intune', supportedOS: ['Windows', 'macOS'] },
|
|
296
|
+
{ id: 'jumpcloud', name: 'JumpCloud', supportedOS: ['Windows', 'macOS', 'Linux'] },
|
|
297
|
+
];
|
|
298
|
+
}
|
|
299
|
+
/**
|
|
300
|
+
* Generate combined README for all platforms.
|
|
301
|
+
*/
|
|
302
|
+
export function generateMasterDocumentation() {
|
|
303
|
+
return `# Nox OpenClaw Detector - MDM Deployment Guide
|
|
304
|
+
|
|
305
|
+
## Overview
|
|
306
|
+
|
|
307
|
+
This package contains deployment scripts for the Nox OpenClaw Detector,
|
|
308
|
+
designed for deployment via enterprise MDM platforms.
|
|
309
|
+
|
|
310
|
+
Generated by nox-openclaw-detector v${VERSION}
|
|
311
|
+
${COMPANY} - https://nox.security
|
|
312
|
+
|
|
313
|
+
## Supported Platforms
|
|
314
|
+
|
|
315
|
+
| Platform | Supported OS | Documentation |
|
|
316
|
+
|----------|-------------|---------------|
|
|
317
|
+
| Jamf Pro | macOS | README-jamf.md |
|
|
318
|
+
| Microsoft Intune | Windows, macOS | README-intune.md |
|
|
319
|
+
| JumpCloud | Windows, macOS, Linux | README-jumpcloud.md |
|
|
320
|
+
|
|
321
|
+
## Quick Start
|
|
322
|
+
|
|
323
|
+
### 1. Choose Your Platform
|
|
324
|
+
|
|
325
|
+
Select the appropriate scripts for your MDM platform from the generated files.
|
|
326
|
+
|
|
327
|
+
### 2. Configure Webhook (Optional)
|
|
328
|
+
|
|
329
|
+
To send detection/enforcement results to your SIEM, regenerate scripts with webhook configuration:
|
|
330
|
+
|
|
331
|
+
\`\`\`bash
|
|
332
|
+
nox export --platform <platform> --mode detect --webhook https://your-siem.example.com/webhook --webhook-token YOUR_TOKEN
|
|
333
|
+
\`\`\`
|
|
334
|
+
|
|
335
|
+
### 3. Deploy Scripts
|
|
336
|
+
|
|
337
|
+
Follow the platform-specific documentation for deployment instructions.
|
|
338
|
+
|
|
339
|
+
### 4. Monitor Results
|
|
340
|
+
|
|
341
|
+
Configure alerting in your SIEM or MDM console based on exit codes:
|
|
342
|
+
|
|
343
|
+
| Exit Code | Detection | Enforcement |
|
|
344
|
+
|-----------|-----------|-------------|
|
|
345
|
+
| 0 | Clean | Success |
|
|
346
|
+
| 1 | Detected | Partial Failure |
|
|
347
|
+
| 2 | Error | Error |
|
|
348
|
+
| 3 | N/A | Nothing to Do |
|
|
349
|
+
|
|
350
|
+
## Script Types
|
|
351
|
+
|
|
352
|
+
### Detection Scripts
|
|
353
|
+
|
|
354
|
+
Scan devices for OpenClaw installations without making changes:
|
|
355
|
+
- CLI binary presence
|
|
356
|
+
- Application bundles
|
|
357
|
+
- Configuration directories
|
|
358
|
+
- Running processes
|
|
359
|
+
- Gateway port listening
|
|
360
|
+
- System services
|
|
361
|
+
- Docker containers
|
|
362
|
+
|
|
363
|
+
### Enforcement Scripts
|
|
364
|
+
|
|
365
|
+
Remove OpenClaw installations from devices:
|
|
366
|
+
- Kill running processes
|
|
367
|
+
- Stop and disable services
|
|
368
|
+
- Remove binaries and applications
|
|
369
|
+
- Delete configuration files
|
|
370
|
+
- Clean Docker artifacts
|
|
371
|
+
- Optional: quarantine instead of delete
|
|
372
|
+
|
|
373
|
+
## Webhook Payload
|
|
374
|
+
|
|
375
|
+
All scripts can send JSON payloads to a webhook URL:
|
|
376
|
+
|
|
377
|
+
\`\`\`json
|
|
378
|
+
{
|
|
379
|
+
"event": "openclaw.detection",
|
|
380
|
+
"version": "1.0",
|
|
381
|
+
"timestamp": "2026-02-03T10:30:00Z",
|
|
382
|
+
"status": "detected",
|
|
383
|
+
"severity": "high",
|
|
384
|
+
"host": {
|
|
385
|
+
"hostname": "device-name",
|
|
386
|
+
"os": "Darwin",
|
|
387
|
+
"arch": "arm64",
|
|
388
|
+
"user": "username"
|
|
389
|
+
},
|
|
390
|
+
"details": "CLI found at /usr/local/bin/openclaw",
|
|
391
|
+
"source": {
|
|
392
|
+
"tool": "nox-openclaw-detector",
|
|
393
|
+
"version": "${VERSION}",
|
|
394
|
+
"vendor": "${COMPANY}"
|
|
395
|
+
}
|
|
396
|
+
}
|
|
397
|
+
\`\`\`
|
|
398
|
+
|
|
399
|
+
## Security Considerations
|
|
400
|
+
|
|
401
|
+
- Scripts require elevated privileges (root/admin)
|
|
402
|
+
- Webhook tokens should be stored securely
|
|
403
|
+
- Review scripts before deployment
|
|
404
|
+
- Test in pilot group first
|
|
405
|
+
- Monitor enforcement results
|
|
406
|
+
|
|
407
|
+
## Support
|
|
408
|
+
|
|
409
|
+
For issues or questions:
|
|
410
|
+
- Email: support@nox.security
|
|
411
|
+
- Documentation: https://docs.nox.security/mdm
|
|
412
|
+
`;
|
|
413
|
+
}
|
|
414
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mdm/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Microsoft Intune MDM integration module.
|
|
3
|
+
* Generates Intune-specific deployment scripts and documentation.
|
|
4
|
+
*/
|
|
5
|
+
export interface IntuneScriptOptions {
|
|
6
|
+
webhookUrl?: string;
|
|
7
|
+
webhookToken?: string;
|
|
8
|
+
gatewayPort?: number;
|
|
9
|
+
verbose?: boolean;
|
|
10
|
+
quarantine?: boolean;
|
|
11
|
+
}
|
|
12
|
+
export interface IntuneScript {
|
|
13
|
+
filename: string;
|
|
14
|
+
content: string;
|
|
15
|
+
description: string;
|
|
16
|
+
platform: 'windows' | 'macos' | 'linux';
|
|
17
|
+
runAs: 'system' | 'user';
|
|
18
|
+
runIn64Bit: boolean;
|
|
19
|
+
enforceSignature: boolean;
|
|
20
|
+
}
|
|
21
|
+
export interface IntuneCompliancePolicy {
|
|
22
|
+
name: string;
|
|
23
|
+
description: string;
|
|
24
|
+
platform: 'windows' | 'macos';
|
|
25
|
+
detectionScript: string;
|
|
26
|
+
remediationScript?: string;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Generate Intune-formatted Windows detection script.
|
|
30
|
+
*/
|
|
31
|
+
export declare function generateIntuneWindowsDetectScript(options?: IntuneScriptOptions): IntuneScript;
|
|
32
|
+
/**
|
|
33
|
+
* Generate Intune-formatted Windows enforcement script.
|
|
34
|
+
*/
|
|
35
|
+
export declare function generateIntuneWindowsEnforceScript(options?: IntuneScriptOptions): IntuneScript;
|
|
36
|
+
/**
|
|
37
|
+
* Generate Intune-formatted macOS detection script.
|
|
38
|
+
*/
|
|
39
|
+
export declare function generateIntuneMacOSDetectScript(options?: IntuneScriptOptions): IntuneScript;
|
|
40
|
+
/**
|
|
41
|
+
* Generate Intune-formatted macOS enforcement script.
|
|
42
|
+
*/
|
|
43
|
+
export declare function generateIntuneMacOSEnforceScript(options?: IntuneScriptOptions): IntuneScript;
|
|
44
|
+
/**
|
|
45
|
+
* Generate Intune Proactive Remediation package definition.
|
|
46
|
+
*/
|
|
47
|
+
export declare function generateIntuneProactiveRemediation(options?: IntuneScriptOptions): IntuneCompliancePolicy;
|
|
48
|
+
/**
|
|
49
|
+
* Generate Intune deployment documentation.
|
|
50
|
+
*/
|
|
51
|
+
export declare function generateIntuneDocumentation(): string;
|
|
52
|
+
/**
|
|
53
|
+
* Get all Intune exports.
|
|
54
|
+
*/
|
|
55
|
+
export declare function getIntuneExports(options?: IntuneScriptOptions): {
|
|
56
|
+
windowsDetectScript: IntuneScript;
|
|
57
|
+
windowsEnforceScript: IntuneScript;
|
|
58
|
+
macosDetectScript: IntuneScript;
|
|
59
|
+
macosEnforceScript: IntuneScript;
|
|
60
|
+
proactiveRemediation: IntuneCompliancePolicy;
|
|
61
|
+
documentation: string;
|
|
62
|
+
metadata: {
|
|
63
|
+
platform: string;
|
|
64
|
+
displayName: string;
|
|
65
|
+
supportedOS: string[];
|
|
66
|
+
version: string;
|
|
67
|
+
};
|
|
68
|
+
};
|
|
69
|
+
//# sourceMappingURL=intune.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"intune.d.ts","sourceRoot":"","sources":["../../src/mdm/intune.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAsBH,MAAM,WAAW,mBAAmB;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,SAAS,GAAG,OAAO,GAAG,OAAO,CAAC;IACxC,KAAK,EAAE,QAAQ,GAAG,MAAM,CAAC;IACzB,UAAU,EAAE,OAAO,CAAC;IACpB,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,SAAS,GAAG,OAAO,CAAC;IAC9B,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,wBAAgB,iCAAiC,CAAC,OAAO,GAAE,mBAAwB,GAAG,YAAY,CAoBjG;AAED;;GAEG;AACH,wBAAgB,kCAAkC,CAAC,OAAO,GAAE,mBAAwB,GAAG,YAAY,CAqBlG;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAAC,OAAO,GAAE,mBAAwB,GAAG,YAAY,CAoB/F;AAED;;GAEG;AACH,wBAAgB,gCAAgC,CAAC,OAAO,GAAE,mBAAwB,GAAG,YAAY,CAqBhG;AAgDD;;GAEG;AACH,wBAAgB,kCAAkC,CAAC,OAAO,GAAE,mBAAwB,GAAG,sBAAsB,CAW5G;AAED;;GAEG;AACH,wBAAgB,2BAA2B,IAAI,MAAM,CAkOpD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,mBAAwB;;;;;;;;;;;;;EAejE"}
|