Skip to content

Security: Grevix/vera

Security

SECURITY.md

VERA Security & Isolation Model

Version: V1.0.0

VERA provides an OS-independent capability API for process isolation, resource limits, and execution policies. However, the underlying implementation and security guarantees differ significantly depending on the operating system.

Capability Matrix

Capability Linux V1 Windows V1
Process isolation Supported Supported
CPU limits Supported Supported
Memory limits Supported Supported
Timeout Supported Supported
Child process control Supported Supported
Strict filesystem isolation Supported NOT SUPPORTED
Best-effort path policy Supported Supported
Evidence integrity HMAC HMAC
Fully tamper-proof evidence NO NO
Protection against same-user compromise NO NO

Windows Filesystem Sandboxing

Warning

Windows V1 VeraBox does not provide strict filesystem isolation from the host user's accessible files. An agent/process running under the same Windows user may be able to read or modify files accessible to that user.

Windows Job Objects provide process/resource isolation but do not natively provide filesystem virtualization. VERA implements best-effort defense-in-depth mitigations (e.g. basic path traversal detection in arguments), but an executing agent can still access absolute paths outside the workspace if it uses tools that bypass the command-line argument restrictions (e.g., executing a Go program that calls os.WriteFile("C:\\host\\file.txt")).

For workloads that require strict filesystem isolation on Windows, you must run VERA inside an external hypervisor, container, or virtual machine.

Evidence Database Tampering (Integrity Verification)

VERA Evidence is protected by TAMPER EVIDENCE / INTEGRITY VERIFICATION.

VERA uses an HMAC chained integrity model. Every event logged to the local SQLite database is hashed alongside the hash of the previous event. The master HMAC key is stored at ~/.vera/master.key (outside the project workspace) with restrictive file permissions.

This system provides strong evidence integrity verification and protects against:

  • Accidental modification.
  • Ordinary database manipulation (e.g., an agent trying to quickly flip a FAIL to PASS using a SQL query).
  • Offline modification by a party that does not possess the master key.

This system does NOT provide "cryptographically tamper-proof" guarantees against a fully compromised local user account. If a malicious agent executes with equivalent privileges to the host user, it may read the master.key file and forge the entire evidence chain.

There aren't any published security advisories