BLA
BLA는 오픈소스 Blue Defense MCP와 CLI로, 소프트웨어 자산을 자동 AI 리버스 엔지니어링으로부터 보호합니다
AI가 코드를 작성하고, Kompile이 키와 보안 취약점을 검사·수정해 매주 보호합니다
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를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기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 andREADME 전문 보기 ↗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.