BLA
BLA는 오픈소스 Blue Defense MCP와 CLI로, 소프트웨어 자산을 자동 AI 리버스 엔지니어링으로부터 보호합니다
암호화폐 트레이딩 봇 저장소와 npm·PyPI 패키지, Solidity 계약을 무료로 스캔
Free scanner for crypto trading-bot repos, npm/PyPI packages and Solidity contracts. Finds wallet drainers, key stealers, typosquats and fake-star repos, and runs contracts in a sandbox EVM to see whe
보안JavaScript · TypeScriptGitHub @Dhaxor온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Scan crypto trading-bot repos, npm/PyPI packages and Solidity contracts for wallet drainers, key stealers and typosquats. Includes a Claude Code plugin that blocks malicious installs.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Check the bot before it checks out your wallet.
BotGuard scans crypto trading-bot repos, npm/PyPI packages and Solidity contracts for the things that actually drain people in 2026: known malware, typosquats, brand impersonation, key-stealing code, install-time traps, fake-star repos and "deploy this MEV bot in Remix" drainer contracts. Solidity is compiled and executed in a sandbox EVM so you can see where the money goes.
It ships three ways:
| What it does | |
|---|---|
Web scanner (apps/web) | Live at https://botguard-scanner.vercel.app. Paste a GitHub URL, npm:name, pypi:name or Solidity source and get a verdict, evidence and a sandbox money-flow diagram. |
CLI (botguard on npm) | npx botguard scan <target> for terminals/CI, botguard check "<command>" to test the install guard. |
Claude Code guard (plugin/) | A PreToolUse hook that checks every npm/pnpm/yarn/bun/npx/pip/uv/pipx/poetry, git clone and curl | sh Claude is about to run. Known malware and strong impostors are blocked; borderline cases ask you; everything else stays silent. Plus a safe-trading-bots skill. |
The searches behind this (Google Trends, Oct 2026): "polymarket trading bot" +2,500% YoY, "claude trading bot" +900%, "claude polymarket bot" Breakout, "trading bot github" +150%. The people searching are being hunted:
ts-bign, big-nunber) that stole .env files and keys (StepSecurity).polymarket-claude-code, polymarket-ai-agent, polymarket-bot... (OSV MAL-2026-4209…4215).npm install # workspaces: packages/core, packages/cli, apps/web
npm test # 48 offline tests
npm run test:live # +10 tests against npm, PyPI, OSV and GitHub
npm run build # packages/cli/dist/cli.mjs + plugin/hooks/botguard-hook*.mjs
npm run web # http://localhost:3230
Node 20+. GITHUB_TOKEN raises GitHub API limits (60/h unauthenticated).
On npm as botguard (Node 20+):
npx botguard scan github.com/someone/polymarket-bot # run without installing
npm i -g botguard # or put `botguard` on your PATH
Then:
botguard scan github.com/someone/polymarket-bot
botguard scan npm:polymarket-claude-code
botguard scan pypi:polymarket-client==0.13.0
botguard scan ./contracts/FrontRunBot.sol # compiled + run in the sandbox EVM
botguard scan ./my-bot # local folder
botguard check "npm i axois && pip install polymarket-client"
botguard init claude [--user] [--dry-run] # add the hook to Claude Code settings
Exit codes: 0 no red flags / caution, 1 suspicious, 2 dangerous, 3 error. --json prints the full report. To run your own build instead, npm run build and use node packages/cli/dist/cli.mjs.
As a plugin:
/plugin marketplace add Dhaxor/botguard
/plugin install botguard@botguard
Without the plugin: npm i -g botguard && botguard init claude adds the hook to .claude/settings.json (--user for ~/.claude/settings.json). Install globally rather than running init through npx: the hook runs the installed CLI's own files. Local plugin testing: claude --plugin-dir ./plugin. Either way the hook needs Node 20+ on your PATH.
How it decides:
| Finding | Decision |
|---|---|
Listed malware (OSV MAL-*), npm security placeholder | deny: the reason goes to Claude, which is told not to retry lookalikes |
| Strong typosquat / impersonation of a crypto brand on a fresh, low-download package | deny |
Brand-new package, risky install script, custom registry, curl | sh from an unknown host | ask you |
| Everything else | no output, so Claude Code's normal permissions apply |
BotGuard can only tighten permissions; it never auto-approves. Lookups fail open (with a note) unless BOTGUARD_FAIL_CLOSED=1. Commands that install nothing exit before the scanner loads (~40 ms over Node startup). Allow-list with BOTGUARD_ALLOW=pkg1,pkg2 or a .botguard.json { "allow": [...] } in the project.
[email protected] or [email protected] are flagged only when your version or lockfile can resolve to them, and downgraded once the registry has pulled them).packages/core/src/analyzers/rules.ts): 40+ signals combined per file, so "reads PRIVATE_KEY + calls an exchange" stays quiet while "dumps env + posts to webhook.site" is critical. Covers wallet-extension / browser-profile / Telegram-session theft, keys in request bodies, env dumps, SSH backdoors, autostart persistence, clipboard hijackers, balance sweeps to hard-coded addresses, decode-and-eval payloads, obfuscators and PyArmor.preinstall/postinstall scripts (and the files they run), setup.py cmdclass, .pth autorun files, URL/git dependencies, extra package indexes, lockfiles (npm, yarn, pnpm, poetry).Known-bad caught: every polymarket-* package from the 2026 campaign, ts-bign, axois, the sample drainer (both 0.8 and 0.6 compilers), a lockfile pinning [email protected]. No red flags on: axios, ethers, viem, @solana/web3.js, esbuild, sharp, hardhat, ccxt (npm and PyPI), web3, requests, cryptography, freqtrade, solana, python-binance, hyperliquid-python-sdk, polymarket-client, @polymarket/client, and the Polymarket / Hyperliquid / freqtrade GitHub repos. npx tsx scripts/eval.ts [targets...] reruns this.
The live site runs on Vercel with Root Directory apps/web. Vercel installs only that workspace, so every package its build needs (including typescript) is declared in apps/web/package.json or packages/core. Optional environment variable: GITHUB_TOKEN (a fine-grained token with read-only access to public repositories) lifts GitHub's 60 requests/hour limit for repo metadata; without it, scans still run but may skip stars, age and owner checks.
packages/core scanning engine (intel, registries, archives, analyzers, Solidity, install checks)
packages/cli CLI + Claude Code hook source
plugin/ Claude Code plugin (hooks.json, bundled hook, safe-trading-bots skill)
.claude-plugin/ marketplace manifest
apps/web Next.js 16 web scanner
scripts/ build, popular-name snapshot, accuracy eval
npm run popular:update refreshes the popular-package snapshots.
MIT, see LICENSE.