Skip to content

Repository files navigation

Game of Everything v2

Game of Everything (GoE) builds and validates intentionally vulnerable cybersecurity scenarios from natural-language requests. v2 models each scenario as an entity graph, builds the entities with direct Amazon Bedrock calls, validates their exploit procedures in Docker, and packages the result for use as a training environment.

Requirements

  • Python 3.11 or later
  • uv
  • Docker
  • AWS credentials with access to the configured Amazon Bedrock model
  • Terraform 1.5 or later (only when deploying generated scenarios to AWS)

Setup

uv sync
cp goe.toml.example goe.toml

For development

uv sync --extra dev

Set the AWS and model configuration in goe.toml, or provide it through the standard AWS environment variables.

Run v2

# Plan, build, validate, and package a scenario.
uv run goe run "web app with SQL injection that leaks credentials"

# Produce only a graph plan.
uv run python -m goe.planner "web app with SQL injection leading to credential theft"

# Build one fixture end to end.
uv run python -m goe.build --spec tests/fixtures/entities/sqli_express.yaml

# Re-test a generated output directory without model calls.
uv run goe test output/<run_id>/

# Deploy a validated package to AWS (one EC2 instance per system).
uv run goe deploy aws output/<run_id>/ --attacker-cidr 203.0.113.5/32

# Inspect or tear down that deployment using its local Terraform state.
uv run goe status output/<run_id>/
uv run goe destroy output/<run_id>/

# Run the fast test suite.
uv run pytest -m "not docker and not llm"

See the v2 specification, entity graph model, and code architecture for the architecture and workflow details.

See AWS deployment before creating cloud resources. It covers network exposure, credentials, local state, failure recovery, teardown, and costs.

About

An agentic framework for building vulnerable cyber ranges on demand

Resources

Contributing

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages