GenVM is consensus-critical: the executor runs Intelligent Contracts and its output must be identical and trustworthy across all validators. Please treat security issues accordingly.
This repository is a component of genvm-manager; the canonical security policy lives there.
Do not open a public issue. Report privately via GitHub's private vulnerability reporting, or email kira@yeager.ai
Include a description, affected component/version, and a reproduction (a contract, calldata, or test case) where possible. We aim to acknowledge within a few business days.
Issues are triaged by impact, highest first:
- Remote code execution — escaping the WASM/VM sandbox, or running attacker code in a validator or the build pipeline.
- Determinism violation / financial issues — anything that makes honest validators diverge or accept invalid results (non-canonical encoding, version-gate bypass, untrusted caches, balance/fee accounting).
- Undefined behavior — out-of-bounds reads/writes, type confusion, and other UB at the
native (Rust
unsafe, C extension) boundary, even without a known exploit yet. - Crash / internal error — contract-triggerable panics, aborts, or unhandled errors that
should instead be a canonical
VMError(availability impact). - Miscellaneous — secret/credential leakage in logs, info disclosure, resource exhaustion with bounded impact, and hardening gaps.