Loading npm security reports…
beast-agent@2.63.0: Persistence – npm package flagged | LPM Firewall
Flagged — allowed with a warning
Allowed by default policy, but 35 finding(s) warrant review before installing.
AI Security Reviewscanned 1mo ago · by lpm-firewall-ai The package does not show a complete malicious install chain or self-dependency, but it combines automatic persistence with a remote extension loader that executes fetched code without an integrity check. This warrants a warning for dangerous agent capability rather than a publication block.
Static reason
High-risk behavior combination matched malicious policy.; source matched previously finalized malicious package; routed for review
Trigger
npm installation, launching the npm-installed app, or issuing an extension install command.
Impact
Remote extension sources can gain code execution in the desktop-agent process; automatic startup keeps the agent active across logins.
Mechanism
Electron repair, login persistence, and remote extension loading.
AI rationale
The package does not show a complete malicious install chain or self-dependency, but it combines automatic persistence with a remote extension loader that executes fetched code without an integrity check. This warrants a warning for dangerous agent capability rather than a publication block.
Evidence
package.json scripts/fix-electron.js src/main.js src/agent/apps.js node_modules/electron/dist node_modules/electron/path.txt %APPDATA%\beast\apps\<id> Windows login item
Network endpoints2
npmmirror.com /mirrors/electron/codeload.github.com /
Decision evidencepublic snapshot AI called this Suspicious at 88.0% confidence as Dangerous Capability with low false-positive risk.
Evidence for warning
The install hook runs an Electron repair script automatically. That script deletes Electron runtime files and runs Electron's installer, with a third-party mirror fallback. When launched from npm, the app enables automatic login startup. Its extension installer downloads code from GitHub or npm, copies it into its data directory, and immediately loads it with require. Evidence against
No runtime dependency selects another beast-agent release. The install hook targets the bundled Electron dependency rather than AI-agent configuration. The source includes a guard that blocks sending common credential files and its own data directory. Behavioral surface
Source ChildProcess Crypto DynamicRequire EnvironmentVars Filesystem Network Shell WebSocket
Supply chain HighEntropyStrings UrlStrings
Source & flagged code27 flagged · loading source • scripts.postinstall = node scripts/fix-electron.js --soft
High Install Time Lifecycle Scripts
Package defines install-time lifecycle scripts.
package.json View on unpkg • scripts.postinstall = node scripts/fix-electron.js --soft
Medium Ambiguous Install Lifecycle Script
Install-time lifecycle script is not statically allowlisted and needs review.
package.json View on unpkg 7 L8: const { spawn, spawnSync } = require('child_process');
L9: const path = require('path');
High Child Process
Package source references child process execution.
bin/beast-agent.js View on unpkg · L7
Findings2 Critical 21 High 6 Medium 6 Low
Critical Download Execute src/agent/tools.js
Critical Trigger Reachable Dangerous Capability src/main.js
High Install Time Lifecycle Scripts package.json
High Child Process bin/beast-agent.js
High Shell src/main.js
High Same File Env Network Execution src/agent/searxng.js
High Credential Redirect Persistence src/main.js
High Entrypoint Foreign Package Code Overwrite src/agent/store.js
High Command Output Exfiltration src/main.js
High Runtime Package Install bin/beast-agent.js#virtual:normalized:round1
High Semantic Analysis Limited bin/beast-agent.js
High
Affected versions and remediation This report applies to beast-agent@2.63.0 .
See all versions of beast-agent for other recorded verdicts.
Review the evidence and your use of beast-agent@2.63.0 before allowing it. Restrict the permissions described in this report. Choose an independently verified alternative or release. This report does not establish that other versions are safe. Evidence last updated: 2026-09-16 16:27:37.997Z (UTC) .
Think this verdict is wrong? Dispute it on GitHub or read how reports are produced .
88% Suspicious
AI assessment confidence
Package metadata npm Author algokodcom
Maintainers algokod
Version 2.63.0
Latest on npm 2.92.0
Published Sep 16, 2026
License MIT
Dependencies 17
Integrity verified
Package size 1.00 MB
Files 147
Keywords agent ai whatsapp assistant electron windows llm openai
Manifest
No manifest risk signals triggered.
scanned 81 file(s), 2.54 MB of source, external domains: 127.0.0.1, api.anthropic.com, api.github.com, api.groq.com, api.openai.com, api.ornek.com, api.search.tinyfish.ai, api.telegram.org, api.z.ai, beastagent-skills.web.app, bootstrap.pypa.io, codeload.github.com, connectivitycheck.gstatic.com, cp.cloudflare.com, discord.com, duckduckgo.com, generativelanguage.googleapis.com, git-scm.com, github.com, html.duckduckgo.com, huggingface.co, integrate.api.nvidia.com, news.google.com, npmmirror.com, opencode.ai, openrouter.ai, raw.githubusercontent.com, registry.npmjs.org, schemas.openxmlformats.org, skills.algokod.com, www.google.com, www.msftconnecttest.com, www.npmjs.com, www.python.org, www.w3.org
• stage = ast_semantic_analysis; reason = ast_parse_error; limitedFiles = 14
High Semantic Analysis Limited
A bounded semantic-analysis stage reached its safety limit; remaining detectors completed, but this package requires AI review.
bin/beast-agent.js View on unpkg 7 L8: const { spawn, spawnSync } = require('child_process');
L9: const path = require('path');
Medium Dynamic Require
Package source references dynamic require/import behavior.
bin/beast-agent.js View on unpkg · L7 5 Trigger-reachable chain: manifest.main -> src/main.js
L5: const fs = require('fs');
L6: const http = require('http');
L7: const dns = require('dns');
L8: const crypto = require('crypto');
...
L12: const OPENCODE_SESSION = 'beast-' + crypto.randomUUID();
L13: const { spawn } = require('child_process');
L14: const { Engine, OBSERVE_MARK, stripAiDashes } = require('./agent/engine');
...
L70: if (res.ok) {
L71: const j = await res.json();
L72: const v = String(j.version || '').trim();
...
L81: if (win && !win.isDestroyed()) {
L82: win.webContents.send('agent:event', { type: 'update', ...updateState, current: app.getVersion() });
Critical Trigger Reachable Dangerous Capability
A package entrypoint or install-time lifecycle script reaches a source file with blocking dangerous behavior.
src/main.js View on unpkg · L5 1264 const zipPath = path.join(outDir, `beast-${stamp}.zip`);
L1265: /* zip yoksa PowerShell Compress-Archive ile */
L1266: await new Promise((resolve, reject) => {
• Manifest-reachable source captures an API credential, sends it to a fixed unofficial gateway, and persists that redirection in agent or shell configuration.
src/main.js:
sadece API key gir, modeller otomatik çekilir. Hepsi OpenAI-uyumlu. */
{ id: 'opencode-zen', name: 'OpenCode Zen', baseUrl: 'https://opencode.ai/zen/v1', hint: 'Ücretsiz modeller var — anahtar: opencode.ai/auth' },
{ id: 'opencode-go', name: 'OpenCode Go', baseUrl: 'https://opencode.ai/zen/go/v1', hint: 'Abonelik anahtarı' },
{ id: 'openrouter', name: 'OpenRouter', baseUrl: 'https://openrouter.ai/api/v1', hint: 'openrouter.ai/keys' },
{ id: 'openai', name: 'OpenAI', baseUrl: 'https://api.openai.com/v1', hint: 'platform.openai.com/api-keys' },
{ id: 'anthropic', name: 'Anthropic', baseUrl: 'https://api.anthropic.com/v1', hi
High Credential Redirect Persistence
Manifest-reachable source sends a prompted API credential to a fixed unofficial gateway and persists the redirection.
src/main.js View on unpkg 5 const fs = require('fs');
L6: const http = require('http');
L7: const dns = require('dns');
L8: const crypto = require('crypto');
...
L12: const OPENCODE_SESSION = 'beast-' + crypto.randomUUID();
L13: const { spawn } = require('child_process');
L14: const { Engine, OBSERVE_MARK, stripAiDashes } = require('./agent/engine');
...
L70: if (res.ok) {
L71: const j = await res.json();
L72: const v = String(j.version || '').trim();
...
L81: if (win && !win.isDestroyed()) {
L82: win.webContents.send('agent:event', { type: 'update', ...updateState, current: app.getVersion() });
High Command Output Exfiltration
Source combines command execution, command-output handling, and outbound requests; review data flow before blocking.
src/main.js View on unpkg · L5 29 function beastRoot() {
L30: if (process.env.BEAST_DATA) return process.env.BEAST_DATA;
L31: return process.env.APPDATA
L32: ? path.join(process.env.APPDATA, 'beast')
L33: : path.join(os.homedir(), 'AppData', 'Roaming', 'beast');
L34: }
...
L167: if (!v) return null;
L168: return Buffer.from(v.buffer, v.byteOffset, v.byteLength).toString('base64');
L169: }
Low Weak Crypto
Package source references weak cryptographic algorithms.
src/agent/mem0.js View on unpkg · L29 15 const os = require('os');
L16: const { spawn, execFile, execSync } = require('child_process');
L17:
L18: const REQS_URL = 'https://raw.githubusercontent.[redacted].txt';
L19: const PKG_URL = 'https://github.[redacted].zip';
...
L25: function beastAppDir() {
L26: if (process.env.BEAST_DATA) return process.env.BEAST_DATA;
L27: return process.env.APPDATA
High Same File Env Network Execution
A single source file combines environment access, network access, and code or shell execution; review context before blocking.
src/agent/searxng.js View on unpkg · L15 • matchType = normalized_sha256
matchedPackage = beast-agent@2.44.2
matchedPath = src/agent/searxng.js
matchedIdentity = npm:YmVhc3QtYWdlbnQ:2.44.2
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
src/agent/searxng.js View on unpkg • Manifest-reachable source resolves another installed package, overwrites its runtime code, and injects package-defined remote behavior.
src/agent/store.js:
const SITE_URL = 'https://sk[redacted]';
const SITE_FALLBACK_URL = 'https://beastagent-sk[redacted]';
const COMMUNITY_URL = 'https://raw.githubusercontent.com/algokodcom/beast-agent/main/store/skills.json';
const SKIP_DIRS = new Set(['node_modules', '.git', '__pycache__', '.drafts']);
fs.writeFileSync(p, JSON.stringify(obj, null, 2));
fs.writeFileSync(target, String(content ?? ''), 'utf8');
High Entrypoint Foreign Package Code Overwrite
Manifest-reachable source overwrites another installed package with package-defined remote behavior.
src/agent/store.js View on unpkg 5 const path = require('path');
L6: const https = require('https');
L7: const dns = require('dns');
L8: const net = require('net');
L9: const { execFile } = require('child_process');
L10: const { spawn } = require('child_process');
...
L222: if (/\bnpm\s+init\b/i.test(raw) && !/(\s-y\b|\s--yes\b)/i.test(raw)) {
L223: return '`npm init` sihirbazı soru sorar — `npm init -y` kullan ya da package.json\'u write_file ile yaz.';
L224: }
...
L256: ['-NoProfile', '-NonInteractive', '-NoExit', '-ExecutionPolicy', 'Bypass', '-Command', '-'],
L257: { cwd: cwd || process.cwd(), windowsHide: true, env: envWithPathPrefix() }
L258: );
Critical Download Execute
Source downloads or fetches remote code and executes it.
src/agent/tools.js View on unpkg · L5 bin/beast-agent.js#virtual:normalized:round1 View file 44 } else {
L45: try { spawnSync("pkill", ["-f", "node_modules/beast-agent"], { stdio: "ignore" }); } catch {}
L46: }
...
L57: This command is run by the update button inside a VISIBLE cmd window;
L58: it also works from a terminal — npm install output streams on screen. */
L59: if (process.argv[2] === "update") {
High Runtime Package Install
Package source invokes a package manager install command at runtime.
bin/beast-agent.js#virtual:normalized:round1 View on unpkg · L44 src/agent/defaulttools/mt5_m15_m5/m15m5.py View file • path = src/agent/defaulttools/mt5_m15_m5/m15m5.py
kind = build_helper
sizeBytes = 1937
magicHex = [redacted]
Medium Ships Build Helper
Package ships non-JavaScript build or shell helper files.
src/agent/defaulttools/mt5_m15_m5/m15m5.py View on unpkg • matchType = normalized_sha256
matchedPackage = beast-agent@2.44.2
matchedPath = src/agent/mcp.js
matchedIdentity = npm:YmVhc3QtYWdlbnQ:2.44.2
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
src/agent/mcp.js View on unpkg • matchType = normalized_sha256
matchedPackage = beast-agent@2.44.2
matchedPath = scripts/release.js
matchedIdentity = npm:YmVhc3QtYWdlbnQ:2.44.2
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
scripts/release.js View on unpkg • matchType = normalized_sha256
matchedPackage = beast-agent@2.44.2
matchedPath = src/agent/gittools.js
matchedIdentity = npm:YmVhc3QtYWdlbnQ:2.44.2
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
src/agent/gittools.js View on unpkg • matchType = normalized_sha256
matchedPackage = beast-agent@2.44.2
matchedPath = src/mt5bridge.js
matchedIdentity = npm:YmVhc3QtYWdlbnQ:2.44.2
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
src/mt5bridge.js View on unpkg • matchType = normalized_sha256
matchedPackage = beast-agent@2.44.2
matchedPath = src/agent/apps.js
matchedIdentity = npm:YmVhc3QtYWdlbnQ:2.44.2
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
src/agent/apps.js View on unpkg src/agent/defaulttools/mt5_durum/run.js View file • matchType = normalized_sha256
matchedPackage = beast-agent@2.44.2
matchedPath = src/agent/defaulttools/mt5_durum/run.js
matchedIdentity = npm:YmVhc3QtYWdlbnQ:2.44.2
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
src/agent/defaulttools/mt5_durum/run.js View on unpkg src/agent/defaulttools/mt5_emir/run.js View file • matchType = normalized_sha256
matchedPackage = beast-agent@2.44.2
matchedPath = src/agent/defaulttools/mt5_emir/run.js
matchedIdentity = npm:YmVhc3QtYWdlbnQ:2.44.2
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
src/agent/defaulttools/mt5_emir/run.js View on unpkg src/agent/defaulttools/mt5_emir_iptal/run.js View file • matchType = normalized_sha256
matchedPackage = beast-agent@2.44.2
matchedPath = src/agent/defaulttools/mt5_emir_iptal/run.js
matchedIdentity = npm:YmVhc3QtYWdlbnQ:2.44.2
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
src/agent/defaulttools/mt5_emir_iptal/run.js View on unpkg src/agent/defaulttools/mt5_fiyat/run.js View file • matchType = normalized_sha256
matchedPackage = beast-agent@2.44.2
matchedPath = src/agent/defaulttools/mt5_fiyat/run.js
matchedIdentity = npm:YmVhc3QtYWdlbnQ:2.44.2
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
src/agent/defaulttools/mt5_fiyat/run.js View on unpkg src/agent/defaulttools/mt5_gecmis/run.js View file • matchType = normalized_sha256
matchedPackage = beast-agent@2.44.2
matchedPath = src/agent/defaulttools/mt5_gecmis/run.js
matchedIdentity = npm:YmVhc3QtYWdlbnQ:2.44.2
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
src/agent/defaulttools/mt5_gecmis/run.js View on unpkg src/agent/defaulttools/mt5_pozisyon_gecmis/run.js View file • matchType = normalized_sha256
matchedPackage = beast-agent@2.44.2
matchedPath = src/agent/defaulttools/mt5_pozisyon_gecmis/run.js
matchedIdentity = npm:YmVhc3QtYWdlbnQ:2.44.2
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
src/agent/defaulttools/mt5_pozisyon_gecmis/run.js View on unpkg Known Malware Source Similarity
src/agent/mcp.js
High Known Malware Source Similarity scripts/release.js
High Known Malware Source Similarity src/agent/gittools.js
High Known Malware Source Similarity src/agent/searxng.js
High Known Malware Source Similarity src/mt5bridge.js
High Known Malware Source Similarity src/agent/apps.js
High Known Malware Source Similarity src/agent/defaulttools/mt5_durum/run.js
High Known Malware Source Similarity src/agent/defaulttools/mt5_emir/run.js
High Known Malware Source Similarity src/agent/defaulttools/mt5_emir_iptal/run.js
High Known Malware Source Similarity src/agent/defaulttools/mt5_fiyat/run.js
High Known Malware Source Similarity src/agent/defaulttools/mt5_gecmis/run.js
High Known Malware Source Similarity src/agent/defaulttools/mt5_pozisyon_gecmis/run.js
Medium Ambiguous Install Lifecycle Script package.json
Medium Dynamic Require bin/beast-agent.js
Medium Ships Build Helper src/agent/defaulttools/mt5_m15_m5/m15m5.py
Medium Structural Risk Force Deep Review
Low Non Install Lifecycle Scripts
Low Weak Crypto src/agent/mem0.js
Runtime surface package.json Entrypoints main → src/main.js bin → beast, beast-agent
Runtime No engine / OS / CPU constraints
Artifact 3.14 MB · 147 files 2 signature(s)
Install lifecycle postinstall prepublishOnly
Behavioral surface ChildProcess Crypto DynamicRequire EnvironmentVars Filesystem Network Shell WebSocket HighEntropyStrings UrlStrings Manifest: clean
Source & flagged code27 flagged Lines 23-63 json
26 "main" : "src/main.js" ,
29 "beast-agent" : "bin/beast-agent.js" ,
30 "beast" : "bin/beast-agent.js"
39 "start" : "electron ." ,
40 "dist" : "electron-builder --win nsis portable" ,
41 "test" : "node --test \" tests/**/*.test.js \" " ,
42 "release" : "node scripts/release.js" ,
43 "postinstall" : "node scripts/fix-electron.js --soft" ,
High Install Time Lifecycle Scripts
Package defines install-time lifecycle scripts.
package.json View on unpkg · L43 Medium Ambiguous Install Lifecycle Script
Install-time lifecycle script is not statically allowlisted and needs review.
package.json View on unpkg · L43 44 "prepublishOnly" : "node scripts/swap-electron.js deps" ,
45 "postpublish" : "node scripts/swap-electron.js devdeps"
48 "electron-builder" : "^26.15.3"
51 "@huggingface/transformers" : "3.7.5" ,
52 "@pdf-lib/fontkit" : "^1.1.1" ,
53 "@whiskeysockets/baileys" : "^7.0.0-rc14" ,
54 "@xenova/transformers" : "^2.17.2" ,
55 "electron-updater" : "^6.8.9" ,
56 "ffmpeg-static" : "^5.3.0" ,
58 "nodemailer" : "^9.0.5" ,
60 "pdf-parse" : "^2.4.5" ,
61 "pdf-to-img" : "^6.3.0" ,
62 "pdfjs-dist" : "^5.6.205" ,
Lines 1-27 javascript
4 /* Beast Agent global npm launcher (`beast` short alias points to the same script):
5 `beast` / `beast-agent` → launches the app detached, frees the terminal immediately
6 `beast update` → installs the latest version from npm (run while the app is closed) */
8 const { spawn , spawnSync } = require (
5 Trigger-reachable chain: manifest.main -> src/main.js
L5: const fs = require('fs');
L6: const http = require('http');
L7: const dns = require('dns');
L8: const crypto = require('crypto');
...
L12: const OPENCODE_SESSION = 'beast-' + crypto.randomUUID();
L13: const { spawn } = require('child_process');
L14: const { Engine, OBSERVE_MARK, stripAiDashes } = require('./agent/engine');
...
L70: if (res.ok) {
L71: const j = await res.json();
L72: const v = String(j.version || '').trim();
...
L81: if (win && !win.isDestroyed()) {
L82: win.webContents.send('agent:event', { type: 'update', ...updateState, current: app.getVersion() });
Critical Trigger Reachable Dangerous Capability
A package entrypoint or install-time lifecycle script reaches a source file with blocking dangerous behavior.
src/main.js View on unpkg · L5 1264 const zipPath = path.join(outDir, `beast-${stamp}.zip`);
L1265: /* zip yoksa PowerShell Compress-Archive ile */
L1266: await new Promise((resolve, reject) => {
• Manifest-reachable source captures an API credential, sends it to a fixed unofficial gateway, and persists that redirection in agent or shell configuration.
src/main.js:
sadece API key gir, modeller otomatik çekilir. Hepsi OpenAI-uyumlu. */
{ id: 'opencode-zen', name: 'OpenCode Zen', baseUrl: 'https://opencode.ai/zen/v1', hint: 'Ücretsiz modeller var — anahtar: opencode.ai/auth' },
{ id: 'opencode-go', name: 'OpenCode Go', baseUrl: 'https://opencode.ai/zen/go/v1', hint: 'Abonelik anahtarı' },
{ id: 'openrouter', name: 'OpenRouter', baseUrl: 'https://openrouter.ai/api/v1', hint: 'openrouter.ai/keys' },
{ id: 'openai', name: 'OpenAI', baseUrl: 'https://api.openai.com/v1', hint: 'platform.openai.com/api-keys' },
{ id: 'anthropic', name: 'Anthropic', baseUrl: 'https://api.anthropic.com/v1', hi
Lines 9-49 javascript
9 - Hibrit arama : 0.65 * semantic (cosine) + 0.35 * keyword (mem0 semantic + BM25 felsefesi)
10 Her fonksiyon degradasyonlu : embedding yoksa keyword, LLM yoksa hash + cos dedup.
Lines 1-35 javascript
3 /* SearXNG — local metasearch integration (github.com/searxng/searxng)
4 SearXNG officially targets Linux/Docker; on Windows it crashes because of
5 `import pwd`. This module installs the real searxng (GitHub master) into
6 Beast's EMBEDDED Python + writes a pwd shim + runs it in the background on
7 127.0.0.1:8888. The search chain only uses the 'searxng' engine while it is UP.
9 CLI: beast searxng → install if needed + start
10 beast searxng status → status
• Manifest-reachable source resolves another installed package, overwrites its runtime code, and injects package-defined remote behavior.
src/agent/store.js:
const SITE_URL = 'https://sk[redacted]';
const SITE_FALLBACK_URL = 'https://beastagent-sk[redacted]';
const COMMUNITY_URL = 'https://raw.githubusercontent.com/algokodcom/beast-agent/main/store/skills.json';
const SKIP_DIRS = new Set(['node_modules', '.git', '__pycache__', '.drafts']);
fs.writeFileSync(p, JSON.stringify(obj, null, 2));
fs.writeFileSync(target, String(content ?? ''), 'utf8');
High Entrypoint Foreign Package Code Overwrite
Manifest-reachable source overwrites another installed package with package-defined remote behavior.
src/agent/store.js View on unpkg 5 const path = require('path');
L6: const https = require('https');
L7: const dns = require('dns');
L8: const net = require('net');
L9: const { execFile } = require('child_process');
L10: const { spawn } = require('child_process');
...
L222: if (/\bnpm\s+init\b/i.test(raw) && !/(\s-y\b|\s--yes\b)/i.test(raw)) {
L223: return '`npm init` sihirbazı soru sorar — `npm init -y` kullan ya da package.json\'u write_file ile yaz.';
L224: }
...
L256: ['-NoProfile', '-NonInteractive', '-NoExit', '-ExecutionPolicy', 'Bypass', '-Command', '-'],
L257: { cwd: cwd || process.cwd(), windowsHide: true, env: envWithPathPrefix() }
L258: );
Critical Download Execute
Source downloads or fetches remote code and executes it.
src/agent/tools.js View on unpkg · L5 bin/beast-agent.js#virtual:normalized:round1 View file 44 } else {
L45: try { spawnSync("pkill", ["-f", "node_modules/beast-agent"], { stdio: "ignore" }); } catch {}
L46: }
...
L57: This command is run by the update button inside a VISIBLE cmd window;
L58: it also works from a terminal — npm install output streams on screen. */
L59: if (process.argv[2] === "update") {
High Runtime Package Install
Package source invokes a package manager install command at runtime.
bin/beast-agent.js#virtual:normalized:round1 View on unpkg · L44 src/agent/defaulttools/mt5_m15_m5/m15m5.py View file • path = src/agent/defaulttools/mt5_m15_m5/m15m5.py
kind = build_helper
sizeBytes = 1937
magicHex = [redacted]
Medium Ships Build Helper
Package ships non-JavaScript build or shell helper files.
src/agent/defaulttools/mt5_m15_m5/m15m5.py View on unpkg • matchType = normalized_sha256
matchedPackage = beast-agent@2.44.2
matchedPath = src/agent/mcp.js
matchedIdentity = npm:YmVhc3QtYWdlbnQ:2.44.2
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
src/agent/mcp.js View on unpkg • matchType = normalized_sha256
matchedPackage = beast-agent@2.44.2
matchedPath = scripts/release.js
matchedIdentity = npm:YmVhc3QtYWdlbnQ:2.44.2
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
scripts/release.js View on unpkg • matchType = normalized_sha256
matchedPackage = beast-agent@2.44.2
matchedPath = src/agent/gittools.js
matchedIdentity = npm:YmVhc3QtYWdlbnQ:2.44.2
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
src/agent/gittools.js View on unpkg • matchType = normalized_sha256
matchedPackage = beast-agent@2.44.2
matchedPath = src/mt5bridge.js
matchedIdentity = npm:YmVhc3QtYWdlbnQ:2.44.2
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
src/mt5bridge.js View on unpkg • matchType = normalized_sha256
matchedPackage = beast-agent@2.44.2
matchedPath = src/agent/apps.js
matchedIdentity = npm:YmVhc3QtYWdlbnQ:2.44.2
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
src/agent/apps.js View on unpkg src/agent/defaulttools/mt5_durum/run.js View file • matchType = normalized_sha256
matchedPackage = beast-agent@2.44.2
matchedPath = src/agent/defaulttools/mt5_durum/run.js
matchedIdentity = npm:YmVhc3QtYWdlbnQ:2.44.2
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
src/agent/defaulttools/mt5_durum/run.js View on unpkg src/agent/defaulttools/mt5_emir/run.js View file • matchType = normalized_sha256
matchedPackage = beast-agent@2.44.2
matchedPath = src/agent/defaulttools/mt5_emir/run.js
matchedIdentity = npm:YmVhc3QtYWdlbnQ:2.44.2
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
src/agent/defaulttools/mt5_emir/run.js View on unpkg src/agent/defaulttools/mt5_emir_iptal/run.js View file • matchType = normalized_sha256
matchedPackage = beast-agent@2.44.2
matchedPath = src/agent/defaulttools/mt5_emir_iptal/run.js
matchedIdentity = npm:YmVhc3QtYWdlbnQ:2.44.2
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
src/agent/defaulttools/mt5_emir_iptal/run.js View on unpkg src/agent/defaulttools/mt5_fiyat/run.js View file • matchType = normalized_sha256
matchedPackage = beast-agent@2.44.2
matchedPath = src/agent/defaulttools/mt5_fiyat/run.js
matchedIdentity = npm:YmVhc3QtYWdlbnQ:2.44.2
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
src/agent/defaulttools/mt5_fiyat/run.js View on unpkg src/agent/defaulttools/mt5_gecmis/run.js View file • matchType = normalized_sha256
matchedPackage = beast-agent@2.44.2
matchedPath = src/agent/defaulttools/mt5_gecmis/run.js
matchedIdentity = npm:YmVhc3QtYWdlbnQ:2.44.2
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
src/agent/defaulttools/mt5_gecmis/run.js View on unpkg src/agent/defaulttools/mt5_pozisyon_gecmis/run.js View file • matchType = normalized_sha256
matchedPackage = beast-agent@2.44.2
matchedPath = src/agent/defaulttools/mt5_pozisyon_gecmis/run.js
matchedIdentity = npm:YmVhc3QtYWdlbnQ:2.44.2
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
src/agent/defaulttools/mt5_pozisyon_gecmis/run.js View on unpkg 'child_process'
);
9 const path = require ( 'path' );
High Child Process
Package source references child process execution.
bin/beast-agent.js View on unpkg · L7 Medium Dynamic Require
Package source references dynamic require/import behavior.
bin/beast-agent.js View on unpkg · L7 10 const fs = require ( 'fs' );
11 const os = require ( 'os' );
13 /* uninstall mode: removes the app but KEEPS YOUR PERSONAL DATA
14 (%APPDATA%\beast: config.yaml, .env, sessions, memory, WhatsApp pairing, backups) */
15 if (process.argv[ 2 ] === 'uninstall' ) {
16 const isWin = process.platform === 'win32' ;
17 console. log ( 'Uninstalling Beast Agent \u2026 ' );
19 /* stop running instances */
21 spawnSync ( 'powershell.exe' , [ '-NoProfile' , '-Command' ,
22 "Get-Process electron -ErrorAction SilentlyContinue | Where-Object { $_.Path -like '*node_modules*beast-agent*' } | Stop-Process -Force" ],
24 console. log ( ' \u2022 stopped running Beast instances (if any)' );
26 /* remove the startup entry — only if it points to beast-agent */
• stage = ast_semantic_analysis; reason = ast_parse_error; limitedFiles = 14
High Semantic Analysis Limited
A bounded semantic-analysis stage reached its safety limit; remaining detectors completed, but this package requires AI review.
bin/beast-agent.js View on unpkg High Credential Redirect Persistence
Manifest-reachable source sends a prompted API credential to a fixed unofficial gateway and persists the redirection.
src/main.js View on unpkg 5 const fs = require('fs');
L6: const http = require('http');
L7: const dns = require('dns');
L8: const crypto = require('crypto');
...
L12: const OPENCODE_SESSION = 'beast-' + crypto.randomUUID();
L13: const { spawn } = require('child_process');
L14: const { Engine, OBSERVE_MARK, stripAiDashes } = require('./agent/engine');
...
L70: if (res.ok) {
L71: const j = await res.json();
L72: const v = String(j.version || '').trim();
...
L81: if (win && !win.isDestroyed()) {
L82: win.webContents.send('agent:event', { type: 'update', ...updateState, current: app.getVersion() });
High Command Output Exfiltration
Source combines command execution, command-output handling, and outbound requests; review data flow before blocking.
src/main.js View on unpkg · L5 Scope
:
'main'
|
'bot:<botId>'
— botlar arasında
ASLA
çapraz erişim yok.
*/
13 const fs = require ( 'fs' );
14 const path = require ( 'path' );
15 const os = require ( 'os' );
16 const crypto = require ( 'crypto' );
18 const CAP = 400 ; // scope başına maksimum kayıt (memory.js cap ile aynı)
19 const DIMS = 384 ; // all-MiniLM-L6-v2
20 const SEMANTIC_SKIP = 0.93 ; // add fast-path: bu cosine üstü aynı bilgi sayılır
21 const CAND_THRESHOLD = 0.3 ; // konsolidasyon adayı için min cosine
22 const CAND_K = 6 ; // fact başına çekilecek benzer aday
23 const SEARCH_SEM_W = 0.65 ; // hibrit skor: semantik ağırlık
24 const SEARCH_KW_W = 0.35 ; // hibrit skor: keyword ağırlık
25 const LOAD_TIMEOUT_MS = 10000 ; // embed modeli ilk yüklemeye bu süreyi bekler, sonra vektörsüz devam
27 /* ---------- yollar ---------- */
30 if (process.env. BEAST_DATA ) return process.env. BEAST_DATA ;
31 return process.env. APPDATA
32 ? path. join (process.env. APPDATA , 'beast' )
33 : path. join (os. homedir (), 'AppData' , 'Roaming' , 'beast' );
34 }
Low Weak Crypto
Package source references weak cryptographic algorithms.
src/agent/mem0.js View on unpkg · L29 37 const d = path. join ( beastRoot (), 'memories' , 'mem0' );
38 try { fs. mkdirSync (d, { recursive: true }); } catch {}
42 /* scope → güvenli dosya adı ('bot:ahmet-42' → 'bot-ahmet-42') */
43 function fileSafe ( scope ) {
44 return String (scope || 'main' ). replace ( / [ ^ a-zA-Z0-9._-] + / g , '-' );
47 function storePath ( scope ) {
48 return path. join ( mem0Dir (), fileSafe (scope) + '.json' );
beast searxng stop → stop */
13 const fs = require ( 'fs' );
14 const path = require ( 'path' );
15 const os = require ( 'os' );
16 const { spawn , execFile , execSync } = require ( 'child_process' );
18 const REQS_URL = 'https://raw.githubusercontent.com/searxng/searxng/master/requirements.txt' ;
19 const PKG_URL = 'https://github.com/searxng/searxng/archive/refs/heads/master.zip' ;
20 const GETPIP_URL = 'https://bootstrap.pypa.io/get-pip.py' ;
21 const DEFAULT_URL = 'http://127.0.0.1:8888' ;
23 /* ---------- paths ---------- */
25 function beastAppDir () {
26 if (process.env. BEAST_DATA ) return process.env. BEAST_DATA ;
27 return process.env. APPDATA
High Same File Env Network Execution
A single source file combines environment access, network access, and code or shell execution; review context before blocking.
src/agent/searxng.js View on unpkg · L15 28 ? path. join (process.env. APPDATA , 'beast' )
29 : path. join (os. homedir (), 'AppData' , 'Roaming' , 'beast' );
33 const d = path. join ( beastAppDir (), 'searxng' );
34 try { fs. mkdirSync (d, { recursive: true }); } catch {}
• matchType = normalized_sha256
matchedPackage = beast-agent@2.44.2
matchedPath = src/agent/searxng.js
matchedIdentity = npm:YmVhc3QtYWdlbnQ:2.44.2
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
src/agent/searxng.js View on unpkg