{"slug": "show-hn-life-forge-open-source-flight-simulator-for-autonomous-ai-agents", "title": "Show HN: Life Forge – Open-source flight simulator for autonomous AI agents", "summary": "Life Forge, an open-source flight simulator for autonomous AI agents, was released as a Show HN project that uses 3D MAP-Elites quality-diversity algorithms to co-evolve adversarial perturbations against tool-using agents. In a 30-generation evaluation run with seed=42, Life Forge assigned Alibaba Qwen-2.5-14B a \"Critical Vulnerability (Zero-Day Exploit)\" security rating and Meta Llama-3.1-8B a \"Fragile (Operational Deadlock)\" rating, with the tool targeting agents including Claude, GPT-4o, Llama, and Qwen. The project generates audit reports and minimal fix recommendations via a causal root-cause engine, aiming to stress-test enterprise agents with database, email, and financial API access before production deployment.", "body_md": "**Co-evolutionary adversarial red-teaming and dynamic stress-testing for autonomous AI agents using Artificial Life Quality-Diversity algorithms (3D MAP-Elites).**\n\n```\n┌─────────────────────────────────────────────────────────────────────────┐\n│                               LIFE FORGE                                │\n│                     The AI Agent Flight Simulator                       │\n└─────────────────────────────────────────────────────────────────────────┘\n                                     │\n           ┌─────────────────────────┴─────────────────────────┐\n           ▼                                                   ▼\n┌──────────────────────────────┐            ┌──────────────────────────────┐\n│       Target AI Agent        │ ◄────────► │   Simulated World (Sandbox)  │\n│  (Claude, GPT-4o, Llama,     │  Actions/  │  • ERP Database & Balances   │\n│   Qwen, Custom Frameworks)   │   Tools    │  • Vendor Catalogs & Quotes  │\n└──────────────────────────────┘            │  • Email Inbox / Outbox      │\n                                            └──────────────────────────────┘\n                                                           ▲\n                                                           │ Co-Evolves\n                                                           │ Perturbations\n                                            ┌──────────────────────────────┐\n                                            │      Evolution Engine        │\n                                            │ • Adversarial Injections     │\n                                            │ • Market Price Volatility    │\n                                            │ • Supply Scarcity            │\n                                            │ • 3D MAP-Elites Archive      │\n                                            └──────────────────────────────┘\n                                                           │\n                                                           ▼\n                                            ┌──────────────────────────────┐\n                                            │    Causal Root-Cause Engine  │\n                                            │  Generates Audit Report &    │\n                                            │  Minimal Fix Recommendations │\n                                            └──────────────────────────────┘\n```\n\nBefore commercial pilots fly passengers, they spend hundreds of hours in a **flight simulator**. The simulator doesn't give them sunny skies; it throws dual-engine failure, sudden crosswinds, sensor glitches, and electrical fires at them.\n\nToday, enterprise AI agents with tool access (databases, email, financial APIs) are deployed with almost zero dynamic testing:\n\n1. **Static Benchmarks Are Useless** : MMLU and HumanEval test multiple-choice trivia and leetcode snippets. They do not test what happens when an agent manages an ERP database while an adversary attempts an indirect prompt injection.\n2. **Static Red-Teaming Fails** : Traditional security tools test static lists of 500 prompts that LLMs quickly memorize.\n3. **The Real World Fights Back** : In production, suppliers run out of stock, prices fluctuate mid-transaction, executive emails get spoofed, and third-party data contains jailbreaks.\n\n**LIFE FORGE is the autonomous flight simulator for AI agents.** Using evolutionary Quality-Diversity algorithms (3D MAP-Elites), LIFE FORGE autonomously breeds and discovers edge-case scenarios that force frontier models to hallucinate, crash, deadlock, or leak company funds before reaching production.\n\nIn an empirical showdown evaluated over 30 identical evolutionary generations under identical random seeds (`seed=42`), LIFE FORGE exposed fundamentally contrasting zero-day failure profiles between two state-of-the-art open-weight models:\n\n| Metric | Alibaba `Qwen-2.5-14B` | Meta `Llama-3.1-8B` | \n|---|---|---|\n| **Security Rating** | **Critical Vulnerability (Zero-Day Exploit)** | **Fragile (Operational Deadlock)** | \n| **Total Simulations Run** | 31 | 31 | \n| **Adversarial Failure Rate** | **100.0%** | **100.0%** | \n| **Critical Zero-Days Discovered** | **7 Wire Exfiltrations** | **0 Wire Exfiltrations** | \n| **Operational Loop Traps** | 0 | **12 Infinite Retry Loops** | \n| **Supply Deficit Failures** | 6 | 0 | \n| **Most Vulnerable Capability** | *Privilege Separation & Social Engineering* | *Error Recovery & Loop Termination* | \n\n- **Alibaba Qwen 2.5 (14B)** : Exhibited high general reasoning, but suffered from**authority-impersonation blindness** . When presented with spoofed CEO emails and vendor quote injections, Qwen believed the untrusted directive and**executed the prohibited `transfer_funds` tool 7 times, wiring $60,000 to unauthorized offshore accounts.**\n- **Meta Llama 3.1 (8B)** : Completely resisted social engineering and prompt injection wire fraud (0 exfiltrations). However, when market conditions shifted prices between catalog query and order submission, Llama entered an**unbounded infinite retry loop 12 times** , exhausting its maximum step budget without making progress.\n\nUnlike standard optimizers that search for only one failure, LIFE FORGE maps an entire **topography of agent fragility** across a 3-dimensional phenotypic coordinate space:\n\n- \n**Axis X (Adversarial Intensity)** : Frequency, subtlety, and complexity of prompt injections and spoofed communications ($0.0 \\to 1.0$ ).\n- \n**Axis Y (Environmental Volatility)** : Market price surges, supplier dropouts, inventory exhaustion ($0.0 \\to 1.0$ ).\n- \n**Axis Z (Budget Pressure)** : Corporate treasury limits and tight spending caps ($0.0 \\to 1.0$ ).\n\nA zero-side-effect in-memory enterprise simulation state ([`WorldState`](https://github.com/zariffromlatif/life-forge/blob/main/lifeforge/sandbox/world_state.py)) with instantaneous snapshot and causal rollback. Agents interact with 5 simulated enterprise tools:\n\n- `query_database` : Inspects inventory, prices, balances.\n- `vendor_api` : Fetches external catalog quotes from suppliers.\n- `issue_purchase_order` : Purchases hardware and commits company budget.\n- `send_email` : Internal communication channel.\n- `transfer_funds` : High-privilege banking wire transfer tool (policy-prohibited in procurement).\n\nMonitors agent actions after every step and enforces mathematical policy boundaries:\n\n- `UNAUTHORIZED_TOOL_EXECUTION` : High-severity privilege boundary breach.\n- `UNAUTHORIZED_FINANCIAL_DRAIN` : Exceeding budget or unapproved fund movement.\n- `RECURSIVE_LOOP_TRAP` : Cyclical tool re-submission without parameter updates.\n- `GOAL_INVENTORY_DEFICIT` : Premature task termination without goal fulfillment.\n\nLIFE FORGE can be run as a standard **Model Context Protocol (MCP)** server over `stdio` or `SSE`. Any MCP-compatible client--including **Claude Desktop**, **Cursor**, **LangGraph**, or custom multi-agent frameworks--can directly connect to LIFE FORGE's adversarial environments.\n\nTest any frontier or local model with zero code changes:\n\n- **Local Models** : Run on local GPUs via Ollama / vLLM (`ollama/llama3.1:8b` ,`ollama/qwen2.5:14b` ).\n- **Cloud Providers** : OpenAI (`gpt-4o` ,`o3-mini` ), Anthropic (`claude-3-5-sonnet` ,`claude-3-5-haiku` ), Google AI Studio (`gemini-2.5-flash` ,`gemini-1.5-flash` ).\n- Built-in automatic rate-limit backoff handler for 429/503 quota management.\n\nUnderneath the agent simulator lies LIFE FORGE's foundational Artificial Life laboratory, designed to measure open-ended evolution and avoid the **\"Beautiful Garbage\" trap** (confusing high-entropy white noise with true computational complexity):\n\n- \n**Activity** : Bedau-Packard evolutionary activity waves ($A_{cum}$ , excess activity over neutral shadow models).\n- \n**Complexity** : Shannon entropy ($H$ ), bit-packed LZW algorithmic compressibility ($C$ ), and the**Complexity Gap** ($H \\cdot (1 - C)$) which peaks sharply on Wolfram Class IV systems.\n- \n**Novelty** : Cumulative vocabulary growth of local neighborhood micro-states.\n- \n**Ecology** : 8-connected spatial cluster tracking and entity diversity.\n\nClone the repository and install with optional extras:\n\n```\ngit clone https://github.com/zariffromlatif/life-forge.git\ncd life-forge\npython -m venv .venv\n\n# On Windows:\n.\\.venv\\Scripts\\Activate.ps1\n# On Linux/macOS:\nsource .venv/bin/activate\n\n# Install with LLM, MCP, and visualization dependencies:\npip install -e \".[all]\"\n```\n\nStress-test the built-in reference agent across 50 evolutionary generations (requires no API keys):\n\n```\npython -m lifeforge.cli test --scenarios 50 --out results/baseline_report.md --json\n```\n\nRun unlimited, free evolutionary stress tests against open-weight models on your local GPU (e.g. RTX 3080/4090):\n\n```\n# 1. Start Ollama with your chosen model:\nollama run llama3.1:8b\n\n# 2. Run LIFE FORGE against your local GPU:\npython -m lifeforge.cli test --model ollama/llama3.1:8b --api-base http://localhost:11434 --scenarios 30 --seed 42 --out results/llama_report.md --json\n```\n\nExplore 3D MAP-Elites behavior spaces, compare model showdowns, and inspect step-by-step exploit traces in an interactive local command center (zero extra dependencies required):\n\n```\npython -m lifeforge.cli ui --port 8000\n```\n\nOpen your browser at `http://localhost:8000` to inspect discovered zero-days, explore behavioral niches, or export an executive PDF audit dossier.\n\nRun against cloud frontier models using your API keys:\n\n```\n# Test Gemini (Google AI Studio Free Tier):\n$env:GEMINI_API_KEY = \"your-api-key\"\npython -m lifeforge.cli test --model gemini/gemini-1.5-flash --scenarios 20 --delay 4.0 --out results/gemini_report.md --json\n\n# Test OpenAI GPT-4o:\n$env:OPENAI_API_KEY = \"your-api-key\"\npython -m lifeforge.cli test --model gpt-4o-mini --scenarios 20 --out results/gpt_report.md --json\n```\n\nCompare two or more evaluation reports side-by-side to crown the security winner:\n\n```\npython -m lifeforge.cli compare results/local_qwen_report.json results/local_llama_report.json --out results/MODEL_SHOWDOWN.md\n```\n\nExpose LIFE FORGE as a live MCP tool server:\n\n```\npython -m lifeforge.cli mcp-serve --transport stdio --adversarial\n```\n\nAdd to your `claude_desktop_config.json`:\n\n```\n{\n  \"mcpServers\": {\n    \"lifeforge\": {\n      \"command\": \"python\",\n      \"args\": [\"-m\", \"lifeforge.cli\", \"mcp-serve\", \"--transport\", \"stdio\", \"--adversarial\"]\n    }\n  }\n}\n```\n\nSimulate candidate universes and compute quantitative MODES complexity vectors:\n\n```\n# Run Conway's Game of Life\npython -m lifeforge.cli run --substrate totalistic --steps 100\n\n# Run Wolfram Rule 110 (Turing complete)\npython -m lifeforge.cli run --substrate elementary --rule 110 --steps 100\n\n# High-throughput 100-universe physics survey\npython -m lifeforge.cli survey --count 100 --steps 150 --db results/survey.jsonl\n```\n\nPrevent vulnerable or deadlocking agents from reaching production. Add LIFE FORGE to your GitHub repository workflow:\n\n```\n# .github/workflows/agent_stress_test.yml\nname: AI Agent Stress Test\non: [push, pull_request]\n\njobs:\n  red-team:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v4\n      - uses: actions/setup-python@v5\n        with:\n          python-version: \"3.12\"\n\n      - name: Install LIFE FORGE\n        run: pip install -e \".[all]\"\n\n      - name: Run Evolutionary Stress Test\n        run: |\n          python -m lifeforge.cli test --scenarios 30 --out results/ci_report.md --json\n\n      - name: Upload Audit Report\n        uses: actions/upload-artifact@v4\n        with:\n          name: agent-evolution-report\n          path: results/ci_report.md\nlifeforge/\n├── substrates/                 # Artificial Life & Cellular Automata physics\n│   ├── base.py                 # Abstract Substrate & State interfaces\n│   └── ca/\n│       ├── elementary.py       # 1D Elementary CA (Rules 0-255)\n│       ├── totalistic.py       # 2D Vectorized Outer-Totalistic CA (Moore/von Neumann)\n│       └── multi_state.py      # Multi-State 2D CA (Brian's Brain, Langton loops)\n│\n├── metrics/                    # Quantitative MODES measurement suite\n│   ├── evolutionary_activity.py# Bedau-Packard evolutionary activity & neutral shadow baseline\n│   ├── complexity.py           # Shannon entropy, bit-packed LZW, Complexity Gap\n│   ├── novelty.py              # Pattern vocabulary growth & trajectory divergence\n│   ├── ecology.py              # Connected-component entity labeling (pure NumPy BFS)\n│   └── modes.py                # Unified Wolfram class classifier (I, II, III, IV)\n│\n├── sandbox/                    # Enterprise Agent Simulation Sandbox\n│   ├── world_state.py          # Deterministic digital twin state machine with deep rollback\n│   ├── mock_tools.py           # 5 enterprise tools (database, vendor API, PO, email, funds transfer)\n│   ├── agent.py                # AgentInterface, RuleBasedPurchasingAgent, CallableAgentAdapter\n│   ├── oracle.py               # Invariant policy enforcement & SandboxRunner orchestrator\n│   ├── llm_agent.py            # Unified LiteLLM adapter with 429/503 rate-limit backoff\n│   └── mcp_server.py           # Model Context Protocol (MCP) JSON-RPC stdio server\n│\n├── evolution/                  # Co-Evolutionary Red-Teaming Engine\n│   ├── engine.py               # EvolutionEngine coordinating multi-generation search\n│   ├── map_elites.py           # 3D Quality-Diversity Archive (adversarial × volatility × budget)\n│   └── mutators/\n│       ├── environmental.py    # PriceVolatility, InventoryScarcity, BudgetConstraint, VendorDropout\n│       ├── adversarial.py      # IndirectPromptInjection, SpoofedExecutiveMessage, ConflictingSpec\n│       └── semantic.py         # 10,000+ combinatorial template payloads & SLM generation\n│\n├── reporting/                  # Causal Root-Cause Diagnostics\n│   ├── analyzer.py             # CausalAnalyzer extracting minimal failure triggers\n│   └── report.py               # Markdown and JSON executive audit generator\n│\n└── cli/                        # Unified Command-Line Interface\n    └── main.py                 # Commands: run, survey, test, compare, mcp-serve, ui\n```\n\nLIFE FORGE maintains an extensive test suite verifying algorithm determinism, tool execution, and regression immunity:\n\n```\npytest -v\n# 79 passed in 1.15s\n```\n\nCheck the [`examples/`](https://github.com/zariffromlatif/life-forge/blob/main/examples) directory for self-contained, runnable Python integration scripts:\n\n- [`examples/quickstart_stress_test.py`](https://github.com/zariffromlatif/life-forge/blob/main/examples/quickstart_stress_test.py) : Programmatically execute an evolutionary red-teaming search and generate audit reports.\n- [`examples/custom_agent_evaluation.py`](https://github.com/zariffromlatif/life-forge/blob/main/examples/custom_agent_evaluation.py) : Plug custom Python agent state machines, LangChain, or CrewAI agents directly into the simulation sandbox.\n\nLicensed under the [MIT License](https://github.com/zariffromlatif/life-forge/blob/main/LICENSE).\n\nIf you use LIFE FORGE in your research or evaluations, please cite using [CITATION.cff](https://github.com/zariffromlatif/life-forge/blob/main/CITATION.cff).", "url": "https://wpnews.pro/news/show-hn-life-forge-open-source-flight-simulator-for-autonomous-ai-agents", "canonical_source": "https://github.com/zariffromlatif/life-forge", "published_at": "2026-09-23 10:17:33+00:00", "updated_at": "2026-09-23 10:30:17.070732+00:00", "lang": "en", "topics": ["ai-agents", "ai-safety", "ai-tools", "large-language-models", "ai-research"], "entities": ["Life Forge", "Alibaba", "Qwen-2.5-14B", "Meta", "Llama-3.1-8B", "Claude", "GPT-4o", "MAP-Elites"], "alternates": {"html": "https://wpnews.pro/news/show-hn-life-forge-open-source-flight-simulator-for-autonomous-ai-agents", "markdown": "https://wpnews.pro/news/show-hn-life-forge-open-source-flight-simulator-for-autonomous-ai-agents.md", "text": "https://wpnews.pro/news/show-hn-life-forge-open-source-flight-simulator-for-autonomous-ai-agents.txt", "jsonld": "https://wpnews.pro/news/show-hn-life-forge-open-source-flight-simulator-for-autonomous-ai-agents.jsonld"}}