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.
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Lookout: a home SOC lab and AI-assisted triage console. Wazuh, Sysmon, Atomic Red Team, custom detections, Claude triage with human verdicts.
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
A home SOC lab and the triage console I built on top of it.
I run real attack techniques against a Windows VM, collect the logs with Sysmon and Wazuh, write detection rules for what the defaults miss, and triage the alerts in a web console. The console uses Claude to draft summaries and suggestions. I make every final call.
Live demo: lookout-kappa.vercel.app · Setup from zero: docs/SETUP.md
The demo is public and read-only. Every alert in it came from my lab, with real hostnames, usernames and IPs replaced by placeholders.檢視完整 README ↗A home SOC lab and the triage console I built on top of it.
I run real attack techniques against a Windows VM, collect the logs with Sysmon and Wazuh, write detection rules for what the defaults miss, and triage the alerts in a web console. The console uses Claude to draft summaries and suggestions. I make every final call.
Live demo: lookout-kappa.vercel.app · Setup from zero: docs/SETUP.md
The demo is public and read-only. Every alert in it came from my lab, with real hostnames, usernames and IPs replaced by placeholders.
I'm a first-year Network Systems student working through TryHackMe's SOC Level 1 path and studying for Security+. I wanted a project that proves two things: that I can do real Level 1 SOC work, and that I can use AI properly inside a security workflow with a human making the final decision.
I ran 8 ATT&CK techniques across 6 tactics. The default Wazuh ruleset caught 4 of 8. The misses included the most serious one, LSASS credential dumping, which turned out to be a telemetry gap, not just a rule gap: Sysmon was not logging the access at all until I turned it on. I wrote 5 custom rules to close the gaps, and the console shows what fired, what missed, and the false positives my own rules produce.
j/k/enter/t/f/e), filters synced to the URL, and near-duplicate grouping.This is a security project, so the AI is treated as a risk, not a magic box. See SECURITY.md for the detail. In short:
| Layer | Choice |
|---|---|
| SIEM | Wazuh 4.14.8 |
| Endpoint telemetry | Sysmon 15.22 + olafhartong/sysmon-modular |
| Attack simulation | Invoke-AtomicRedTeam 2.3.0 |
| Console | Next.js 16 (App Router), TypeScript strict |
| Database | Supabase Postgres + Drizzle ORM |
| AI | Anthropic Claude, server-side only |
| Hosting | Vercel |
Versions and why each was picked: docs/ARCHITECTURE.md.
Needs Node 22.
cd app
npm install
cp ../.env.example .env.local # fill in DATABASE_URL (and optionally ANTHROPIC_API_KEY)
npm run db:push # create the tables
npm run seed # load a few labelled sample alerts
npm run dev # http://localhost:3000
| Command | What it runs |
|---|---|
npm run check | typecheck, lint, format check, unit tests |
npm run build | production build |
npm run test:e2e | Playwright smoke test (desktop and mobile) |
npm run export / npm run import | pull real alerts from the lab, sanitise, load |
Deploying to Vercel: docs/DEPLOY.md.
A few of the lessons, with more in docs/LEARNINGS.md:
svchost.exe, which is normal and drives the next tuning cycle.| Path | Contents |
|---|---|
app/ | Next.js console |
lab/wazuh/rules/ | Custom detection rules |
lab/sysmon/, lab/atomic/, lab/export/ | Sysmon config, attack runbook, export/sanitise |
docs/ | Setup, architecture, deploy, case write-ups |
SECURITY.md | Security decisions for the console |
Open any detection and see the whole story: key fields, process tree, ATT&CK mapping, and the raw event.
A copilot that reads the real data to help me triage. It is read-only, so I make every final call.