Skip to content

Security: doublegate/VeridianOS

SECURITY.md

Security Policy

Supported Versions

VeridianOS is currently in pre-release development. Security updates will be provided for:

Version Supported
main branch
< 1.0

Once we reach 1.0, we will maintain security updates for the current major version and one previous major version.

Reporting a Vulnerability

We take the security of VeridianOS seriously. If you believe you have found a security vulnerability, please report it to us as described below.

Please do NOT:

  • Open a public issue
  • Post to public forums or social media
  • Exploit the vulnerability

Please DO:

  1. Email your findings to security@veridian-os.org
  2. Encrypt your message using our PGP key (available at https://veridian-os.org/security-key.asc)
  3. Include the following information:
    • Type of vulnerability
    • Full paths of source file(s) related to the issue
    • Location of affected code (tag/branch/commit or direct URL)
    • Step-by-step instructions to reproduce
    • Proof-of-concept or exploit code (if possible)
    • Impact assessment

What to expect:

  • Acknowledgment: Within 48 hours
  • Initial Assessment: Within 1 week
  • Status Updates: Every 2 weeks
  • Resolution Timeline: Depends on severity
    • Critical: 1-7 days
    • High: 1-2 weeks
    • Medium: 2-4 weeks
    • Low: 1-2 months

Recognition:

We maintain a Hall of Fame for security researchers who have responsibly disclosed vulnerabilities. With your permission, we will:

  • Add your name to our Security Hall of Fame
  • Acknowledge your contribution in release notes
  • Provide a letter of recognition if requested

Security Best Practices

When contributing to VeridianOS:

Code Review

  • All changes undergo security review
  • Use static analysis tools
  • Follow secure coding guidelines

Dependencies

  • Minimize external dependencies
  • Audit all dependencies
  • Keep dependencies updated
  • Use cargo audit regularly

Cryptography

  • Never implement custom cryptography
  • Use well-established libraries
  • Follow current best practices
  • Prepare for post-quantum algorithms

Memory Safety

  • Leverage Rust's memory safety
  • Minimize unsafe code
  • Document all safety invariants
  • Use fuzzing for testing

Security Features

VeridianOS implements multiple layers of security:

  1. Capability-based access control

    • Unforgeable object references
    • Fine-grained permissions
    • Principle of least privilege
  2. Memory protection

    • W^X enforcement
    • ASLR (Address Space Layout Randomization)
    • Stack guards
    • Heap isolation
  3. Secure boot

    • UEFI Secure Boot support
    • Measured boot with TPM
    • Verified boot chain
  4. Hardware security

    • TPM integration
    • Hardware security module support
    • Trusted execution environments
  5. Network security

    • Mandatory TLS for system services
    • Certificate pinning
    • Network isolation

Development Security

Threat Model

Our threat model considers:

  • Malicious applications
  • Network attackers
  • Physical access attacks
  • Supply chain attacks
  • Side-channel attacks

Security Testing

  • Fuzzing with AFL++ and libFuzzer
  • Static analysis with clippy and cargo-audit
  • Dynamic analysis with sanitizers
  • Penetration testing before releases

Incident Response

In case of a security incident:

  1. Immediate patch development
  2. Security advisory publication
  3. Coordinated disclosure
  4. Post-mortem analysis
  5. Process improvement

Contact

Thank you for helping keep VeridianOS secure!

There aren’t any published security advisories