live · scanning repos
Scanrepo
github.com
DANGER
malware detected
github.com / youssefvdel

youssefvdel/qwengate

TypeScript·150 files·commit 5220f7d·scanned 4d ago·cached ✓
100/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?
Research / educational context
CLI tool detected
threat-state: maliciouslive

FINDINGS ░▒▓

criticalRemote script piped into a shellA shell script downloads remote content and executes it directly (e.g. `curl … | bash`). The payload is never stored or reviewable and can change server-side — a classic malware/backdoor install pattern.install.sh
#  Usage:
#    curl -sSL https://raw.githubusercontent.com/youssefvdel/qwen-gate/main/install.sh | bash
#
#  Clones the repo, installs Bun + dependencies, creates config, and
+10
criticalSuspicious code is reachable from an entry pointFlagged files are imported by the application's entry path: src/routes/anthropic.ts, src/routes/chat.ts, src/routes/chatHelpers.ts. This means the suspicious code can execute when the app runs.+8
warningCluster of suspicious files reachable from entry23 flagged files form a connected cluster that is reachable from an entry point, suggesting coordinated malicious behavior rather than isolated false positives.+5
infoSuspicious files are not reachable from entry pointsFlagged files exist but are not imported by any entry point. They may be dead code, tests, or attack payloads triggered by another mechanism.+2
infoBase64 encoding usedatob() or Buffer.from with base64. Common in legitimate code but also used to hide malicious URLs.src/services/qwenFileUpload.ts
    mimeType = match[1];
    buffer = Buffer.from(match[2], 'base64');
    fileName = `image.${mimeType.split('/')[1] || 'png'}`;
  } else {
+2
warningExtremely long lines (>1000 chars)Very long lines in source files (not minified bundles) can hide malicious code.src/routes/chatStreamingHelpers.pipeline.test.ts+4
warningHigh-entropy string literalsFound 5 long strings with high Shannon entropy. This is common in obfuscated payloads that hide URLs, keys, or bytecode.scripts/loadtest.ts+3
warningHigh-entropy string literalsFound 5 long strings with high Shannon entropy. This is common in obfuscated payloads that hide URLs, keys, or bytecode.scripts/test-cross-account.ts+3
warningHigh-entropy string literalsFound 8 long strings with high Shannon entropy. This is common in obfuscated payloads that hide URLs, keys, or bytecode.scripts/test-thinking-format.ts+3
warningFlattened or dead control flowDetected switch(true), dead if branches, or deeply nested ternaries — patterns used by obfuscators to hide execution order.scripts/test-thinking-format.ts+3
warningFlattened or dead control flowDetected switch(true), dead if branches, or deeply nested ternaries — patterns used by obfuscators to hide execution order.src/index.tsx+3
warningFlattened or dead control flowDetected switch(true), dead if branches, or deeply nested ternaries — patterns used by obfuscators to hide execution order.src/routes/anthropic.ts+3
infoSuspicious file in repoExecutable file (install.ps1) in repositoryinstall.ps1+2
infoSuspicious file in repoExecutable file (start-server.ps1) in repositorystart-server.ps1+2
warningDependency runs install scripts"<root>/postinstall" executes code during installation. Malicious packages use this to drop payloads before the app even runs.package.json+3

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.

107 files scanned @ 5220f7d | 8/21/2026 | heuristic scan — always review manually

risk by category
code execution25
network & exfiltration2
file system access0
obfuscation15
supply chain7
owasp / injection0
telemetry
files 107/150rules hit 15engine v5commit 5220f7d

github

youssefvdel/qwengate

Drop-in OpenAI-compatible API gateway for Qwen AI models. Use your Qwen account (chat.qwen.ai) as a free AI API provider in any OpenAI-compatible client — Cursor, Continue.dev, Claude Code, VS Code Copilot, or any coding agent. Self-hosted, Chromium-based auth, streaming support, tool calling, dashboard.

TypeScript
166
41
95d
150 files
107 scanned(71%)
5220f7d

architecture░▒▓

entry (1) flagged (35) pkg (14)
114 nodes · 286 edgesscroll to zoom · click node to jump to finding