惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

The GitHub Blog
The GitHub Blog
S
SegmentFault 最新的问题
MyScale Blog
MyScale Blog
有赞技术团队
有赞技术团队
V
Visual Studio Blog
T
The Blog of Author Tim Ferriss
爱范儿
爱范儿
Vercel News
Vercel News
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Y
Y Combinator Blog
Blog — PlanetScale
Blog — PlanetScale
D
DataBreaches.Net
美团技术团队
Microsoft Security Blog
Microsoft Security Blog
大猫的无限游戏
大猫的无限游戏
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
酷 壳 – CoolShell
酷 壳 – CoolShell
GbyAI
GbyAI
A
About on SuperTechFans
云风的 BLOG
云风的 BLOG
The Cloudflare Blog
宝玉的分享
宝玉的分享
V
V2EX
Microsoft Azure Blog
Microsoft Azure Blog

Hacker News: Show HN

PurrrrrFocus: Pomodoro Timer App - App Store Workflow Engine — Multi-Step Orchestration for Bun RapidPhoto: Pro Photo Editor App - App Store GitHub - DheerG/swarms: Achieve extraordinary results with claude code across a variety of tasks SPICE simulation → oscilloscope → verification with Claude Code — Lucas Gerads Show HN: VCoding – A 5 MB native Windows IDE with no dynamic dependencies Show HN: LLMs don't hallucinate because they're bad at math, it's the format GitHub - Agent-FM/agentfm-core: AgentFM is a peer-to-peer network that turns everyday computers into a decentralized AI supercomputer. AgentFM lets you run massive AI workloads directly across a global mesh of idle CPUs and GPUs. Show HN: Tracking Top US Science Olympiad Alumni over Last 25 Years GitHub - Potarix/agent-hub: One place to talk to all your agents Show HN: Runtime security for AI agents(injection,tool abuse, data exfiltration) GitHub - dubeyKartikay/lazyspotify: Terminal Spotify client for macOS and Linux GitHub - the-banana-tool/king-louie: Easy to use GUI Personal AI Assistant. Win/Linux/Mac. Show HN I made my vacation rental bookable by AI agents–no Airbnb, 0% commission GitHub - basteez/jsf-autoreload: maven plugin to enable hot reload on jsf projects uvm32/hosts/host-gdbstub at main · ringtailsoftware/uvm32 GitHub - labsai/EDDI: Config-driven engine that turns JSON into production-grade AI agents. Multi-agent orchestration, 12+ LLM providers, MCP/A2A protocols, RAG, persistent memory, and enterprise compliance (EU AI Act, GDPR, HIPAA). Built on Quarkus. GitHub - glitchnsec/fortyone-oss: AI Executive Assistant Platform Quickstart | Alien GitHub - muxshed/shed: One stream in, or many. Every destination, simultaneously. No cloud middleman, no per-channel fees, no limits. GitHub - ocrbase-hq/ocrbase: 📄 PDF/IMG ->.MD/JSON Document OCR API for PaddleOCR and GLMOCR. Self-hostable. GitHub - impactjo/home-memory: MCP server that lets your AI assistant remember everything about your home. GitHub - Sets88/dbcls: DbCls is a powerful terminal database client that supports various databases GitHub - neptun2000/heor-agent-mcp GitHub - SeanFDZ/macmind: Single-layer transformer in HyperTalk for the classic Macintosh RollQuation: Math Puzzles - Apps on Google Play GitHub - dropbox/witchcraft Show HN: Agent-cache – Multi-tier LLM/tool/session caching for Valkey and Redis GitHub - opentalon/opentalon: OpenTalon is an open-source platform built from the ground up in Go as a robust alternative to OpenClaw LinkedIn™ 职位抓取工具 - Chrome 应用商店
GitHub - Megapixel99/capture-the-flag
megapixel99 · 2026-05-01 · via Hacker News: Show HN

AI Capture the Flag (CTF)

An AI-vs-AI cybersecurity research platform. Multiple large language models attack and defend isolated Docker containers in a capture-the-flag tournament, producing logs, statistical reports, and training data for fine-tuning a custom model.

The project supports two parallel research tracks:

  1. Comparative offense / defense study of frontier and mid-size LLMs (GPT-OSS 120B, Gemini 3 Flash, GLM-5.1, Nemotron 3 Super, RNJ-1 8B).
  2. Custom-bot pipeline — a 3 B Qwen2.5 model fine-tuned with LoRA on game replays, iteratively improved through self-play and a defense-focused training loop, then quantized to Q4_K_M and served locally via Ollama.

Quick start

npm install
cp .env.example .env       # add OLLAMA_API_KEY (cloud) or GEMINI_API_KEY etc.
npm run build-docker       # build the privileged target containers
npm run up                 # boot containers
npm run start:cloud        # run one cloud match

Each match emits a directory under logs/session-<timestamp>/ containing a full event stream (game.json), per-agent transcripts, and a summary.

Game modes

Mode Command What happens
Cloud, all 5 models npm run start:cloud round-robin across cloud-hosted models
Cloud + custom bot npm run start:cloud:custom 5 cloud models plus the local custom bot
Local Ollama only npm run start:local-only all agents from a local Ollama instance
Self-play (training) npm run start:self-play one model fights itself, used for replay data
Defense training (asymmetric) --defense-training attackers see vuln list; defender data only
Loop forever append --loop to any of the above restarts a new game when one finishes

Match structure: a 30-second defense phase (everyone hardens their box), followed by a 5-minute battle phase where agents look for flags on opponents' machines. Captures and bonus flags score points; losing your flag costs points. Scores are persisted in each session's game.json.

Repository layout

src/                       game engine, agents, container manager
  ai-agents/               attacker.js, defender.js, model adapters
  game-engine.js           round-robin scheduler, scoring
  config.js                CLI flags / env vars
  docker-manager.js        privileged container lifecycle
docker/                    Dockerfiles for the 8 vulnerable target machines
training/                  custom-bot LoRA pipeline (MLX)
  prepare_data.py          extract training pairs from session logs
  finetune.py              MLX LoRA fine-tune entry point
  self_play_loop.py        v1 → v6 self-play training loop
  defense_retrain.py       v7 defense-focused retrain (vuln-check feedback)
  defense_training_data.py weighted dataset builder for defense training
  ctf-model-lora/          active LoRA adapter
  ctf-model-fused/         fused full-precision model (input to quantization)
  gemini3_defense_chains.jsonl strong defender exemplars
reports/                   analysis pipeline + viewers
  generate_comprehensive_reports.py  technical + non-technical APA Word reports
  session_viewer.py        per-session HTML replay (commands + timeline)
  session_video.py         per-session MP4 replay
  videos/                  rendered MP4s
logs/                      one folder per game session

Custom bot training pipeline

The custom bot is a Qwen2.5-3B-Instruct base trained with MLX LoRA on game replays from the cloud agents. Versions and what changed:

  • v1–v4 — initial supervised fine-tunes on extracted attacker/defender command sequences.
  • v5 — first self-play loop. Rolled back: the loop reinforced the bot's own mistakes (defender regressed, attacker plateaued).
  • v6 — replaced self-play with a curated mix that down-weights losing moves. Strong offense (1.86 captures/game), weak defense (0.59 losses/game).
  • v7 — defense-focused retrain on top of v6: cheat-mode attackers, a vuln-check feedback loop that rewards defender turns that actually patched an unpatched vulnerability, and Gemini-3 defender chains as exemplars. Rolled back after evaluation regressed offense more than it gained on defense; v6 remains the active build.
  • v8 — in progress. Current adapter lives in training/ctf-model-lora/.

To rebuild the custom bot from current adapter state:

python3 training/finetune.py --fuse           # fuse LoRA into base
python3 training/self_play_loop.py --build    # quantize to Q4_K_M, push to Ollama
ollama list | grep ctf-custom                 # confirm `ctf-custom-q4` is registered

To run the v7 defense retrain (orchestrator handles play → extract → train → quantize → deploy):

python3 training/defense_retrain.py --games 50 --iters 300

Pass --rollback to restore the v6 snapshot if results regress.

Reports & viewers

# APA Word reports (technical + non-technical) with embedded charts
python3 reports/generate_comprehensive_reports.py

# Per-session HTML viewer with command translations and timelines
python3 reports/session_viewer.py --all
open reports/viewers/index.html

# Per-session MP4 replay (matplotlib + ffmpeg)
python3.11 reports/session_video.py logs/session-2026-04-20T16-21-35-241Z
python3.11 reports/session_video.py --all --recent 10

The reports include scoring trends, attack-method breakdowns, capture-vs-loss balance, and the plain-language category mapping (e.g. "Login Attempts" for SSH/Hydra) used in the non-technical version.

The video viewer renders a 30-second animated replay per session with a live scoreboard, a sweeping timeline cursor, capture markers, and an event log. ffmpeg is required.

Requirements

  • Node.js ≥ 20
  • Docker (privileged containers)
  • Python 3.11
    • pip install python-docx matplotlib numpy scipy pandas mlx mlx-lm
  • ffmpeg (for session_video.py)
  • An Ollama API key (for cloud matches) or a local Ollama instance (for the custom bot and --local-only matches)
  • Optional: Gemini, Anthropic, or OpenAI keys to extend the model roster

Research note

Sessions, training data, and rendered reports under logs/, training/, and reports/ are the raw artifacts behind the project's findings. The headline result so far: a 3 B locally-served custom bot trained on tournament replays matches mid-size cloud models on offense (≈ 1.86 captures/game) but trails frontier models on defense — the v7 work explores how to close that gap with asymmetric self-play.