github.com / rmyndharis
rmyndharis/ OpenWA
TypeScript·1981 files·commit 173916c·scanned 4d ago·cached ✓
15/100
LOW RISK
Minor findings consistent with the project type. Nothing reachable from install hooks.
score capped at 15 — 16,168+ stars — findings likely false positives
verdict accurate?
Obfuscated code detected
16,168 stars
Partial architecture graph
threat-state: lowlive
FINDINGS ░▒▓
criticalFunction() constructor detectednew Function() is equivalent to eval() and can execute arbitrary code strings.scripts/patch-wwebjs-send-error.spec.js
const options = { linkPreview: true };
const body = new Function('window', 'chat', 'content', 'options', `return (async () => {\n${code}})();`);
return { promise: body(window, chat, content, opt...+5criticalchild_process / exec usageExecuting shell commands can be used to download and run malware, exfiltrate data, or modify system files.src/modules/docker/compose-parity.spec.ts
import { execFileSync } from 'child_process';
import { mkdirSync, mkdtempSync, readFileSync, readdirSync, rmSync, writeFileSync } from 'fs';
import { tmpdir } from 'os';+8infoBase64 encoding usedatob() or Buffer.from with base64. Common in legitimate code but also used to hide malicious URLs.src/engine/adapters/baileys-messaging.ts
}
return { data: Buffer.from(media.data, 'base64'), mimetype: media.mimetype };
}
+2criticalString-array obfuscation detectedCode resolves its string literals through a rotating string-array decoder — many `name(0xNNN)` index calls that reconstruct hidden strings at runtime. This is the structural signature of javascript-obfuscator regardless of the variable-naming scheme, so it fires even when mangled identifiers (e.g. `j5`, `jM`) are used to evade _0x-based detection. Commonly used to hide malware from code review.src/modules/search/search-terms.spec.ts
// A mark or a symbol that stands alone, or a run of them, still counts.
expect(searchTermCount(chars(0x0301))).toBe(1);
expect(searchTermCount(chars(0x1f923).repeat(10))).toBe(5);
exp...+18warningLarge base64-encoded blobA 96-character base64 blob was found. May hide a remote payload or encoded executable code.src/engine/adapters/baileys-quoted-send.spec.ts
iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8...+3
warningLarge base64-encoded blobA 128-character base64 blob was found. May hide a remote payload or encoded executable code.src/engine/adapters/baileys-sticker-webp.spec.ts
UklGRlgAAABXRUJQVlA4WAoAAAAQAAAAAAAAAAAAQUxQSAIAAAAAf1ZQOCAw...+3
warningLarge base64-encoded blobA 96-character base64 blob was found. May hide a remote payload or encoded executable code.src/engine/adapters/baileys-write-deadline.spec.ts
iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8...+3
warningFlattened or dead control flowDetected switch(true), dead if branches, or deeply nested ternaries — patterns used by obfuscators to hide execution order.src/engine/engine-capability-matrix.ts+3
infoSuspicious file in repoVery large source file (875KB) — could contain obfuscated payloadopenapi.json+2
infoSuspicious file in repoVery large source file (531KB) — could contain obfuscated payloadpackage-lock.json+2
infoSuspicious file in repoVery large source file (493KB) — could contain obfuscated payloadsrc/modules/session/session.service.spec.ts+2
warningUnvalidated file uploadFile upload without type/size validation. Can be exploited for remote code execution or storage abuse.package.json
"@types/jest": "^30.0.0",
"@types/multer": "^2.3.0",
"@types/node": "^22",
"@types/pg": "^8.23.1",+3Scores are heuristics. A “safe” verdict means no known-malicious patterns were found — clever malware can look boring. Wrong verdict? Flag it above; confirmed false positives become regression tests.
1528 files scanned @ 173916c | 10/23/2026 | heuristic scan — always review manually
risk by category
code execution15
network & exfiltration2
file system access0
obfuscation15
supply chain6
owasp / injection3
telemetry
files 1528/1981rules hit 13engine v7commit 173916c
github
rmyndharis/OpenWA
Free, Open Source, Self-Hosted WhatsApp API Gateway
16168
3787
268d
1981 files
1528 scanned(77%)
173916c
architecture░▒▓
entry (2) flagged (10) pkg (78)
478 nodes · 1061 edgesscroll to zoom · click node to jump to finding