Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Stanford-Trinity/ARTEMIS

Repository files navigation

🏹 ARTEMIS

Automated Red Teaming Engine with Multi-agent Intelligent Supervision

ARTEMIS is an autonomous agent created by the Stanford Trinity project to automate vulnerability discovery.

Quickstart

Install uv if you haven't already:

curl -LsSf https://astral.sh/uv/install.sh | sh

Install the latest version of Rust (required for building):

# Remove old Rust if installed via apt
sudo apt remove rustc cargo
sudo apt install libssl-dev
# Install rustup (the official Rust toolchain installer)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# Restart shell or source the environment
source ~/.cargo/env
# Install latest stable Rust
rustup install stable
rustup default stable

First, we have to build the codex binary:

cargo build --release --manifest-path codex-rs/Cargo.toml

Now we can setup the Python environment:

uv sync
source .venv/bin/activate

Environment Configuration

Copy the example configuration and add your API keys:

cp .env.example .env
# Edit .env with your API keys

Required environment variables:

  • OPENROUTER_API_KEY or OPENAI_API_KEY - For the supervisor and LLM calls
  • SUBAGENT_MODEL - Model to use for spawned Codex instances (e.g., anthropic/claude-sonnet-4)

Quick Test Run

Try a simple CTF challenge to verify everything works:

python -m supervisor.supervisor \
 --config-file configs/tests/ctf_easy.yaml \
 --benchmark-mode \
 --duration 10 \
 --skip-todos

This runs a 10-minute test on an easy CTF challenge in benchmark mode (no triage process).

For detailed configuration options and usage, see supervisor-usage.md.


Docker

Docker Quickstart

Build the Docker image:

docker build -t artemis .

Environment Configuration

Same as above - copy the example configuration and add your API keys:

cp .env.example .env
# Edit .env with your API keys

Required environment variables:

  • OPENROUTER_API_KEY or OPENAI_API_KEY - For the supervisor and LLM calls
  • SUBAGENT_MODEL - Model to use for spawned Codex instances (e.g., anthropic/claude-sonnet-4)

Codex Configuration for OpenRouter

If using OpenRouter, you'll need to configure the codex binary. Create ~/.codex/config.toml:

mkdir -p ~/.codex
cat > ~/.codex/config.toml <<'EOF'
model_provider = "openrouter"

[model_providers.openrouter]
name = "OpenRouter"
base_url = "https://openrouter.ai/api/v1"
env_key = "OPENROUTER_API_KEY"

[sandbox]
mode = "workspace-write"
network_access = true
EOF

Running with Docker

Use the provided run_docker.sh script:

# Run with OpenRouter (mounts ~/.codex/config.toml)
./run_docker.sh openrouter
# Run with OpenAI only (no config mount needed)
./run_docker.sh openai

The script will:

  • Mount your ~/.codex/config.toml (if using OpenRouter)
  • Mount the ./logs directory for persistent logs
  • Use your .env file for API keys
  • Run a 10-minute test on an easy CTF challenge

Manual Docker Run:

If you prefer to run docker manually:

# With OpenRouter
docker run -it \
 --env-file .env \
 -v $HOME/.codex/config.toml:/root/.codex/config.toml:ro \
 -v $(pwd)/logs:/app/trinity/ARTEMIS/logs \
 artemis \
 python -m supervisor.supervisor \
 --config-file configs/tests/ctf_easy.yaml \
 --benchmark-mode \
 --duration 10 \
 --skip-todos
# With OpenAI only
docker run -it \
 --env-file .env \
 -v $(pwd)/logs:/app/trinity/ARTEMIS/logs \
 artemis \
 python -m supervisor.supervisor \
 --config-file configs/tests/ctf_easy.yaml \
 --benchmark-mode \
 --duration 10 \
 --skip-todos

Acknowledgments

This project uses OpenAI Codex as a base, forked from commit c221eab.


License

This repository is licensed under the Apache-2.0 License.

About

No description or website provided.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /