@numex-ai/core 1.0.4
Windows persistence and credential targeting
“Numex AI Core Engine — Multi-agent council, RAG, vision, NCP plugins”
Import silently daemonizes a hidden interpreterRuntime code invokes npm install to modify dependencies
SHA-2561ec29db9aef5c52f6f261d23a9794ed90aeed6f995f2841a5e68fbeec5d1e0d4
Evidence
3:56… owser'da açık
4
5const { existsSync, readFileSync } = require('node:fs');
6const { join } = require('node:path');
7const { execSync, spawn } = require('node:child_process');
8const { healthCheck, formatHealthReport } = require('./predictiveHealing.js');
9
10let omniVision = null;
11try { omniVision = require('./omniVision.js'); } catch (_) { omniVision = null; }
12
13/**
14 * Scaffold projesini canlıya al — npm install + server + heal …
⋯7 lines
30 // ─── 1. npm install ─────────────────────────────────────────
31 onProgress('1/4 npm install...');
32 const pkgPath = join(root, 'package.json');
33 if (!existsSync(pkgPath)) {
34 return { deployed: false, error: 'package.json yok', steps };
35 }
36
37 const nodeModulesPath = join(root, 'node_modules');
38 if (!existsSync(nodeModulesPath)) {
39 try {
40 execSync('npm install --silent', { cwd: root, timeout: 180000, stdio: 'pipe' }); // 180s — npm install
41 steps.push('✅ npm install tamam');
42 onProgress('1/4 npm install tamam');
43 } catch (e) {
44 ste …
45:27… install başarısız');
46 return { deployed: false, error: 'npm install hatası', steps };
47 }
48 } else {
⋯10 lines
59 const serverPath = join(root, 'server.js');
60 if (existsSync(serverPath)) {
61 const serverSrc = readFileSync(serverPath, 'utf8');
62 const portMatch = serverSrc.match(/PORT\s*=\s*process\.env\.PORT\s*\|\|\s*(\d+)/);
63 if (portMatch) serverPort = parseInt(portMatch[1]);
64 }
65 }
66 if (!serverPort) serverPort = …
81:32… und)
82 let serverProcess = null;
83 try {
84 serverProcess = spawn('node', ['server.js'], {
85 cwd: root,
86 env: { ...process.env, PORT: String(serverPort) },
87 stdio: 'pipe',
88 detached: false,
89 });
90
91 // Server'ın başlamasını bekle ( …
⋯4 lines
124 _recentlyOpenedUrls.set(key, Date.now());
125
126 const platform = process.platform;
127 if (platform === 'win32') {
128 const exe = winBrowserExe();
129 if (exe && /(?:chrome|msedge)\.exe$/i.test(exe)) {
130 try { spawn(exe, chromeArgs(arg), { detached: true, stdio: 'ignore' }).unref(); return; } catch (err) { /* suppressed: err */ }
131 }
132 if (exe) { try { spawn(exe, [arg], { detached: true, stdio: 'ignore' }).unref(); return; } catch (err) { /* suppressed: err */ } }
133 // Tarayıcı .exe bulunamadı: http(s) protokolü yine de tarayıcıya gider (dosya değil).
134 const ps = `Start-Process -FilePath '${arg.replace(/'/g, "''")}'`;
135 spawn('powershell.exe', ['-NoProfile', '-ExecutionPolicy', 'Bypass', '-Command', ps], {
136 detached: true, stdio: 'ignore', windowsHide: true,
137 }).unref();
138 } else if (platform === 'darwin') {
139 spawn('open', [arg], { detached: true, stdio: 'ignore' }).unref();
140 } else {
141 spawn('xdg-open', [arg], { detached: true, stdio: 'ignore' }).unref();
142 }
143}
⋯4 lines
Showing the top 5 files — 7 more files (136 regions) not shown.
No evidence locations were recorded for this file. Raw result