Skip to content
ai-supply.store
DiscoverCategoriesLeaderboardsCommunityAgent APIFAQ
Sign inSign up free
catalog / Gaming & Simulation / OpenSpiel — Game Theory & RL Research Framework
⬡PipelineGaming & SimulationFree

OpenSpiel — Game Theory & RL Research Framework

DeepMind's Apache-2.0 framework for game theory and RL research: 70+ games (Chess, Go, Poker, Hex), CFR, MCTS, deep RL, and Nash equilibrium solvers.

@ai-supply
Installs125k
⟳ upstream v2.0.1 · updated 9d ago
↗ Source repository
← More Gaming & SimulationGaming & Simulation leaderboard →How we grade security →Source ↗
✓ Grade A · 100/100 · SafeSecurity assessment
✓No compromise signals18capabilities surfaced8of 20 OWASP controls clear
External endpoints declaredExternal endpoints declaredSuspicious code patternsExternal endpoints declared
scanned 7d ago·osv · gitleaks · opengrep · picklescan + heuristics·full breakdown in the Security tab ↓

OpenSpiel — Game Theory & RL Research Framework

OpenSpiel is Google DeepMind's comprehensive framework for research in reinforcement learning and game theory. It implements 70+ two-player and multi-player games — from board games (Chess, Go, Hex, Breakthrough) to card games (Poker, Bridge, Skat) to matrix games and auction mechanisms — along with a library of algorithms including CFR (Counterfactual Regret Minimization), MCTS, deep RL baselines, and Nash equilibrium solvers.

Key Features

  • 70+ games: perfect/imperfect information, zero-sum and general-sum
  • Algorithms: CFR, CFR+, MCCFR, MCTS, AlphaZero-style search, DQN, REINFORCE, Actor-Critic
  • Nash equilibrium solvers and game theory utilities
  • Python and C++ APIs — same game logic in both languages
  • PyTorch and TensorFlow integration for deep RL agents
  • Used in AlphaStar, AlphaZero, and Pluribus research

Quick Start

pip install open_spiel
import pyspiel

game = pyspiel.load_game("chess")
state = game.new_initial_state()
print(state)  # Starting board

# Simulate a random game
import random
while not state.is_terminal():
    actions = state.legal_actions()
    action = random.choice(actions)
    state.apply_action(action)
print("Returns:", state.returns())  # [1.0, -1.0] = white wins
npx ai-supply add open-spiel-game-theory-rl

Curated mirror of the open-source OpenSpiel (Apache-2.0). Get it from the source.

Rating rank
#1
of 13 in Gaming & Simulation
Install rank
#5
of 13 in Gaming & Simulation
Security score
100/100 · A
safe
Security rank
#1
of 13 in Gaming & Simulation
Installs
125k
cat avg 86k
This listing vs category average
Installs
this
cat avg
Security (of 100)
this
cat avg
Adoption trend
See the Gaming & Simulation leaderboard →
✓ Security: Safe · 100100/100 · grade Ascanned 7d ago
✓ no compromise signals18 risk-surface · 7/20 OWASP controls flagged

Compromise signals — malicious or tampered code (leaked secrets, backdoors, a dropped executable) — reduce the score, and known dependency CVEs carry a bounded penalty (they warrant review but never QUARANTINE — update the dependency to clear). Other dangerous-by-capability traits are risk surface, expected for some capabilities. Every finding is mapped to its OWASP control below.

What this capability can do · med confidence (static)
⚑ filesystem⚑ shell⚑ network⚑ secrets
egress → download.pytorch.org, pypi.org, cla.developers.google.com, help.github.com, opensource.google.com, readthedocs.org, openspiel.readthedocs.io, img.shields.io +32
22 steps⚑ uses secretsactions/checkout@v6julia-actions/setup-julia@v2actions/setup-python@v6github.comactions/upload-artifact@v6download.pytorch.orgpypi.orgdocs.readthedocs.io

Findings mapped to the OWASP Top 10 for LLM Applications (2025) and the OWASP Machine Learning Security Top 10. Expand any flagged control for the exact findings — compromise reduces the score; expected/risk-surface do not, except a known CVE, which carries a small bounded penalty (high/critical → Review).

OWASP Top 10 for LLM Applications
⚠LLM05Improper Output Handlinghigh
Code that pipes model/user output into shell, eval, SQL or paths unsafely.
•Suspicious code patterns — destructive rm -rf / · google-deepmind-open_spiel-112b777/Dockerfile.base (CWE-78)risk surface
•Suspicious code patterns — dynamic code execution · google-deepmind-open_spiel-112b777/open_spiel/algorithms/alpha_zero_torch/vpnet.cc (CWE-95)risk surface
•Suspicious code patterns — OS command execution · google-deepmind-open_spiel-112b777/open_spiel/python/algorithms/matrix_nash.py (CWE-78)risk surface
•Suspicious code patterns — OS command execution; pickle deserialization · google-deepmind-open_spiel-112b777/open_spiel/python/examples/bridge_wb5.py (CWE-78)risk surface
•Suspicious code patterns — pickle deserialization · google-deepmind-open_spiel-112b777/open_spiel/python/examples/cfr_cpp_example.py (CWE-502)risk surface
⚠LLM06Excessive Agencymedium
Over-broad tool/permission surface or unrestricted egress.
•External endpoints declared — 1 distinct host(s) · google-deepmind-open_spiel-112b777/.github/workflows/actions.ymlrisk surface
•External endpoints declared — 3 distinct host(s) · google-deepmind-open_spiel-112b777/.github/workflows/wheels.ymlrisk surface
•External endpoints declared — 10 distinct host(s) · google-deepmind-open_spiel-112b777/README.mdrisk surface
•External endpoints declared — 31 distinct host(s) · google-deepmind-open_spiel-112b777/docs/algorithms.mdrisk surface
•External endpoints declared — 2 distinct host(s) · google-deepmind-open_spiel-112b777/docs/alpha_rank.mdrisk surface
•External endpoints declared — 4 distinct host(s) · google-deepmind-open_spiel-112b777/docs/conf.pyrisk surface
•External endpoints declared — 29 distinct host(s) · google-deepmind-open_spiel-112b777/docs/games.mdrisk surface
•External endpoints declared — 6 distinct host(s) · google-deepmind-open_spiel-112b777/docs/install.mdrisk surface
•Broad capability surface — 3 high-impact capability categories referenced — verify least-privilege · google-deepmind-open_spiel-112b777/open_spiel/colabs/open_spiel_gemma.ipynb (CWE-272)risk surface
•External endpoints declared — 5 distinct host(s) · google-deepmind-open_spiel-112b777/open_spiel/data/paper_data/routing_game_experiments/readme.mdrisk surface
•External endpoints declared — 7 distinct host(s) · google-deepmind-open_spiel-112b777/open_spiel/games/hive/README.mdrisk surface
⚠LLM07System Prompt Leakagemedium
Secrets, internal hosts or proprietary logic exposed in shipped prompts.
•Internal host / private infrastructure reference — shipped content references a private IP range or internal-only host · google-deepmind-open_spiel-112b777/docs/algorithms.md (CWE-200)risk surface
⚠LLM10Unbounded Consumptionmedium
Unbounded loops/recursion causing DoS or runaway cost.
Enforced at runtime by the gateway (rate limits + spend caps + size caps); static check flags unbounded loops.
•Potentially unbounded loop — an infinite loop (while True / while(1) / for(;;)) may cause runaway consumption · google-deepmind-open_spiel-112b777/open_spiel/algorithms/alpha_zero_torch/alpha_zero.cc (CWE-835)risk surface
⚠LLM03Supply Chainlow
Vulnerable/compromised dependencies, models or archives in the artifact.
•Dependency manifest — 7 pip requirements declared · google-deepmind-open_spiel-112b777/open_spiel/python/examples/opponent_shaping/requirements.txtrisk surface
§LLM09MisinformationGovernance
Artifacts designed to produce false/deceptive output.
Detectable only by runtime behavioral evaluation; addressed via responsible-use attestation.
✓LLM01Prompt InjectionPassed
✓LLM02Sensitive Information DisclosurePassed
✓LLM04Data and Model PoisoningPassed
Backdoors/poisoning in training data or serialized models.
Behavioral poisoning needs model execution; static check covers unsafe serialization + dataset skew only.
✓LLM08Vector and Embedding WeaknessesPassed
PII or plaintext source leakage in embedding/vector exports.
Embedding inversion/poisoning is largely runtime; static check covers PII in vector exports.
OWASP Machine Learning Security Top 10
⚠ML09Output Integrityhigh
Middleware tampering with model outputs in transit.
Gateway enforces TLS + response integrity; static check flags output-rewriting code.
•Suspicious code patterns — destructive rm -rf / · google-deepmind-open_spiel-112b777/Dockerfile.base (CWE-78)risk surface
•Suspicious code patterns — dynamic code execution · google-deepmind-open_spiel-112b777/open_spiel/algorithms/alpha_zero_torch/vpnet.cc (CWE-95)risk surface
•Suspicious code patterns — OS command execution · google-deepmind-open_spiel-112b777/open_spiel/python/algorithms/matrix_nash.py (CWE-78)risk surface
•Suspicious code patterns — OS command execution; pickle deserialization · google-deepmind-open_spiel-112b777/open_spiel/python/examples/bridge_wb5.py (CWE-78)risk surface
•Suspicious code patterns — pickle deserialization · google-deepmind-open_spiel-112b777/open_spiel/python/examples/cfr_cpp_example.py (CWE-502)risk surface
⚠ML06AI Supply Chainlow
Compromised PyPI/npm packages, typosquats, unsafe serialized models.
•Dependency manifest — 7 pip requirements declared · google-deepmind-open_spiel-112b777/open_spiel/python/examples/opponent_shaping/requirements.txtrisk surface
§ML01Input Manipulation (Adversarial)Governance
Models vulnerable to adversarial perturbations.
Requires runtime robustness evaluation; addressed via publisher robustness attestation.
§ML03Model InversionGovernance
Training data reconstructable from a model's outputs.
Runtime/evaluation property; addressed via model-card data-provenance + DP attestation.
§ML04Membership InferenceGovernance
Determining whether a record was in the training set.
Runtime/evaluation property; addressed via overfitting disclosure + DP attestation.
§ML08Model SkewingGovernance
Models trained on skewed data producing biased output.
Requires fairness evaluation; addressed via model-card bias/limitations disclosure.
✓ML02Data PoisoningPassed
Poisoned training datasets with triggers or anomalous distributions.
Static check covers trigger phrasing, PII and label skew; full poisoning detection is runtime.
✓ML05Model TheftPassed
Unlicensed re-distribution / license-incompatible derivatives.
Static check verifies license declaration; extraction throttling is runtime.
✓ML07Transfer Learning AttackPassed
Backdoored base models / LoRA adapters propagating to derivatives.
Backdoor detection needs behavioral probing; static check covers unsafe serialization + provenance.
✓ML10Model Poisoning (Weights)Passed
Tampered model weight files; integrity must be verifiable.
Static check enforces safe formats + records a content hash for downstream verification.
Other findings (9) · hygiene / uncategorized
•Unrecognized file type — '.gitignore' is not on the allowlist · google-deepmind-open_spiel-112b777/.gitignorerisk surface
•Unrecognized file type — '.base' is not on the allowlist · google-deepmind-open_spiel-112b777/Dockerfile.baserisk surface
•Unrecognized file type — '.?' is not on the allowlist · google-deepmind-open_spiel-112b777/LICENSErisk surface
•Unrecognized file type — '.in' is not on the allowlist · google-deepmind-open_spiel-112b777/MANIFEST.inrisk surface
•Unrecognized file type — '.cc' is not on the allowlist · google-deepmind-open_spiel-112b777/open_spiel/action_view.ccrisk surface
•Unrecognized file type — '.h' is not on the allowlist · google-deepmind-open_spiel-112b777/open_spiel/action_view.hrisk surface
•Unrecognized file type — '.efg' is not on the allowlist · google-deepmind-open_spiel-112b777/open_spiel/games/efg_game/games/commas.efgrisk surface
•Unrecognized file type — '.nfg' is not on the allowlist · google-deepmind-open_spiel-112b777/open_spiel/games/nfg_game/games/matching_pennies_3p.nfgrisk surface
•Unrecognized file type — '.jl' is not on the allowlist · google-deepmind-open_spiel-112b777/open_spiel/julia/deps/deps.jlrisk surface
✔ verified source · pinned google-deepmind-open_spiel-112b777
Check against a policy

The same gate an agent runs before installing (POST /api/v1/trust/open-spiel-game-theory-rl/check). Click a policy:

Consume OpenSpiel — Game Theory & RL Research Framework programmatically. Authenticate with an API key or session — see Authorize an agent.

# Agents: CHECK BEFORE YOU INSTALL (no auth) — score, grade, level, capability manifest
curl https://ai-supply.store/api/v1/trust/open-spiel-game-theory-rl

# Gate against your org policy (returns { pass, violations })
curl -X POST https://ai-supply.store/api/v1/trust/open-spiel-game-theory-rl/check \
  -H "Content-Type: application/json" \
  -d '{"minGrade":"B","denyPermissions":["shell"],"denyUnknownEgress":true}'

# CLI
npx ai-supply add open-spiel-game-theory-rl

# REST (install → download)
curl -X POST https://ai-supply.store/api/v1/listings/open-spiel-game-theory-rl/install \
  -H "Authorization: Bearer $AIM_KEY"

# MCP tool
install_listing({ "slug": "open-spiel-game-theory-rl" })
OpenAPI spec →
vlatest
✓ Security: Safe · 1001mo ago

Curated mirror — latest upstream source. See the repository for tagged releases.

Sign in and install this listing to leave a review.

More from @ai-supply

View profile →
◉Agent
MetaGPT
Multi-agent framework that assigns GPT roles (PM, engineer, QA) to solve complex software tasks end-to-end.
↓ 1.0M
⇄Connector
vLLM
High-throughput, memory-efficient LLM inference engine with PagedAttention and continuous batching.
↓ 892k
⇄Connector
Meilisearch
Lightning-fast open-source search engine with typo-tolerance, semantic hybrid search, and sub-50ms response times.
↓ 811k
△Eval
Weights & Biases (wandb)
ML experiment tracking and visualization — log metrics, hyperparameters, models, and media in real time.
↓ 784k
ai-supply.store

Free, security-vetted AI capabilities — skills, MCPs, plugins, agents, datasets and more, each graded and freshness-tracked, and built for humans and agents alike.

api · v3.1status · all green
Contact
support@ai-supply.storesecurity@ai-supply.store
Catalog
  • Discover
  • Categories
  • Leaderboards
  • Benchmarks
  • Security
  • Scan a repo
Community
  • Community
  • FAQ
For agents
  • Quickstart (60s)
  • Authorize an agent
  • Agent API
  • OpenAPI spec
For builders
  • Publish
  • Dashboard
Account
  • Create account
  • Sign in
  • Settings
Legal
  • Terms
  • Publisher Agreement
  • Acceptable Use
  • Privacy