Igor v0 is experimental research software currently in Phase 2 (Survival) development. It is not production-ready and has known security limitations by design.
Current Status: Early development, active testing, not suitable for production use.
Only the main branch is actively maintained. No stable releases have been tagged yet.
| Version | Supported |
|---|---|
| main | ✅ |
| v0.x | 🚧 |
Igor includes security-sensitive components:
- Agent isolation via wazero runtime
- Memory limits (64MB per agent)
- Capability restrictions (no filesystem, no network)
- Execution timeouts (100ms per tick)
- Agent package transfer over libp2p streams
- Checkpoint serialization and transmission
- Confirmation handshake protocol
- State serialization and storage
- Budget metadata encoding
- Atomic write operations
- Execution time measurement
- Budget calculation and enforcement
- Cost deduction mechanisms
Igor v0 has intentional security limitations:
Budget Security:
- Budget accounting is trusted, not cryptographically verified
- Nodes can lie about execution time
- No payment receipts or proof of work
- No dispute resolution mechanism
Checkpoint Security:
- Checkpoints stored in plaintext
- No encryption of agent state
- No integrity verification
- No authentication of checkpoint origin
Network Security:
- No peer authentication beyond libp2p peer ID
- No authorization for migration requests
- No rate limiting or DoS protection
- Relies on trusted network environment
Identity Security:
- Agents lack cryptographic identity in v0
- No signing capability
- No access control
- Identity not carried in migrations
These limitations are documented in docs/runtime/SECURITY_MODEL.md.
Do not deploy Igor v0 on public networks or with sensitive data.
If you discover a security vulnerability in Igor, please report it responsibly.
- Go to https://github.com/simonovic86/igor/security/advisories
- Click "Report a vulnerability"
- Provide detailed description
- Allow time for assessment and patch development
Email security issues to: security@igor-project.org (placeholder - use GitHub issues for now)
- Description of vulnerability
- Steps to reproduce
- Potential impact
- Suggested fix (if applicable)
- Your contact information (for coordination)
Critical:
- WASM sandbox escapes
- Arbitrary code execution on host
- Memory corruption or buffer overflows
- Resource exhaustion attacks that crash nodes
- Migration protocol attacks that create duplicate agents
- Checkpoint corruption that breaks recovery
Important:
- Denial of service vulnerabilities
- Information disclosure
- Privilege escalation within sandbox
- Budget manipulation exploits
- Migration abuse scenarios
Lower Priority (but still valuable):
- Logging security issues
- Configuration weaknesses
- Documentation improvements
We follow coordinated disclosure:
- Report received - We acknowledge within 48 hours
- Assessment - We evaluate severity and impact
- Fix development - We develop and test a patch
- Disclosure timeline - We agree on public disclosure date
- Patch release - We release fix to main branch
- Public disclosure - We publish security advisory
Typical timeline: 30-90 days from report to disclosure, depending on severity.
- Malicious agents escaping WASM sandbox
- Resource exhaustion by single agent (memory, CPU)
- State corruption through atomic checkpoint writes
- Malicious nodes lying about metering or stealing state
- Network attacks beyond basic libp2p security
- Cryptographic vulnerabilities (minimal crypto in v0)
- Economic attacks (no payment verification)
- Data privacy (checkpoints in plaintext)
Igor v0 is suitable only for:
- Development and testing
- Research environments
- Trusted network deployments
- Non-sensitive agent workloads
Future phases may address current limitations:
Phase 3 (Autonomy):
- Agent manifest validation
- Capability enforcement
- Basic integrity checks
Phase 4 (Economics):
- Cryptographic receipts
- Payment verification
- Fraud detection
Phase 5 (Hardening):
- State encryption
- Checkpoint signing
- Advanced sandbox hardening
- Multi-party verification
No timeline or commitment. Listed for context only.
- docs/runtime/SECURITY_MODEL.md - Detailed threat model
- docs/enforcement/RUNTIME_ENFORCEMENT_INVARIANTS.md - System guarantees
- PROJECT_CONTEXT.md - Design philosophy
For non-sensitive questions about Igor security:
- Open a GitHub issue
- Use "security" label
- Public discussion welcome
For sensitive vulnerability reports:
- Use GitHub Security Advisory
- Private disclosure until patched