BLA
BLA (Blind LLM Agents) is the open-source Blue Defense MCP and CLI built to protect software artifacts against automated AI reverse-engineering workflows.
翻译准备中
您的AI生成代码,Kompile确保代码不泄漏。检查软件中的暴露密钥和开放入口,使用您自己的AI进行修复,持续每周保护。
AI 翻译
Your AI writes the code. Kompile makes sure it does not leak. Check your app for exposed keys and open doors, fix them with your own AI, and stay protected every week.
安全TypeScriptGitHub @raheefJ在线运营者未确认
试用过了吗? 点一下就好,无需登录。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证开源、只读安全检查,针对使用 AI 构建的应用:泄露的密钥、暴露的文件、开放的面板、易受攻击的 Next.js。提供 CLI、GitHub Action 和 MCP 服务器。
AI 翻译
Open-source, read-only security checks for apps built with AI: leaked keys, exposed files, open panels, vulnerable Next.js. CLI, GitHub Action and MCP server.
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
Read-only security checks for apps built with AI. Point it at a site you own. In a few seconds you get a grade, every problem it found, and a plain-English fix for each.
It is built for the mistakes that Lovable, Bolt, v0, Cursor and Replit apps actually ship with:
• secret API keys in the browser bundle
• .env files and backups served to anyone
• source maps that publish your source code
• open admin and AI tool panels
• vulnerable Next.js versions
• forgotten subdomains that someone else can take over
• Never attacks. It sends ordinary GET and查看完整 README ↗Read-only security checks for apps built with AI. Point it at a site you own. In a few seconds you get a grade, every problem it found, and a plain-English fix for each.
npx kompile-scan yourapp.com --i-own-this
It is built for the mistakes that Lovable, Bolt, v0, Cursor and Replit apps actually ship with:
.env files and backups served to anyone| Area | Checks |
|---|---|
| HTTPS | Certificate validity and expiry, TLS version, HTTP to HTTPS redirect, HSTS strength, CAA record |
| Headers | Content-Security-Policy quality, clickjacking protection, nosniff, Referrer-Policy, cookie flags, version banners |
| Leaked secrets | About 25 secret key formats in the page and its scripts: Stripe, OpenAI, Anthropic, AWS, Supabase service_role, Groq, OpenRouter, Resend, SendGrid, Slack, GitHub and more. Publishable keys are ignored on purpose. |
| Exposed files | .env variants, .git, backups and SQL dumps, Dockerfile, build configs (next.config.js, vite.config, vercel.json), Prometheus /metrics, Spring actuator, Go pprof, logs |
| Exposure | Directory listings (including folders named in robots.txt), public source maps, verbose error pages (Python, Django, Laravel, Node, Express, Java, ASP.NET, Rails), public OpenAPI and Swagger UI, GraphQL introspection, admin, database and AI panels (phpMyAdmin, Adminer, Supabase Studio, Jupyter, Ollama, n8n and others) |
| Supply chain | Scripts from hijacked CDNs (polyfill.io), front-end libraries with known CVEs, Next.js versions npm marks as vulnerable, missing subresource integrity, mixed content |
| DNS and email | SPF and DMARC, subdomain takeover via certificate-transparency logs and dangling CNAMEs |
--i-own-this. The hosted version at kompile.tv verifies ownership with DNS or a file before every scan.The exit code is 1 when a problem at or above --fail-on is found (the default is medium), so a deploy that leaks a key can fail the build. The Action also puts the report in the job summary and the findings in your repository's Security tab.
# .github/workflows/kompile-scan.yml
name: Kompile Scan
on: [deployment_status]
permissions:
security-events: write
jobs:
scan:
if: github.event.deployment_status.state == 'success'
runs-on: ubuntu-latest
steps:
- uses: raheefJ/kompile-scan@v0
with:
hostname: ${{ vars.SITE_HOSTNAME }}
fail-on: high
- uses: github/codeql-action/upload-sarif@v3
if: always()
with:
sarif_file: kompile-scan.sarif
Kompile Scan ships an MCP server. Your agent (Claude, Cursor, Windsurf and others) can scan your live site, apply the fixes in your code, and scan again until you get an A.
{ "mcpServers": { "kompile-scan": { "command": "npx", "args": ["-y", "-p", "kompile-scan", "kompile-scan-mcp"] } } }
The scan_site tool needs i_own_this: true, so the agent has to confirm ownership with you first. It never logs in or changes anything on the site.
--format | Use it for |
|---|---|
text | your terminal (the default) |
json | scripts and dashboards |
markdown | pull-request comments and job summaries |
sarif | GitHub code scanning (the Security tab) |
prompt | pasting into Cursor, Claude, Lovable or Bolt so it fixes everything at once |
import { runScan } from "kompile-scan";
const report = await runScan("yourapp.com", { basePath: "/app" });
console.log(report.grade, report.findings.filter((f) => f.status === "fail"));
npm run bench # the corpus of local test sites with planted problems and traps
npm run bench:mutate # 400 generated sites mixing problems, traps, hosts and frameworks
New checks, fingerprints and test sites are very welcome. See CONTRIBUTING.md.
Copyright (C) 2026 Kompile contributors.
Licensed under the GNU Affero General Public License v3.0 or later. You may use, change and share it. If you run a modified version as a network service, you must share your changes under the same license. See LICENSE.