Skip to content

Security: bug-ops/helix-trainer

SECURITY.md

Security Policy

Supported Versions

Version Supported
0.4.x Yes
< 0.4 No

Reporting a Vulnerability

Caution

Do NOT open public GitHub issues for security vulnerabilities.

To report a security vulnerability:

  1. Open a private security advisory via GitHub (Settings → Security → Advisories)
  2. Or email the maintainers directly

Include:

  • Description of the vulnerability
  • Steps to reproduce
  • Potential impact
  • Suggested fix (if available)

We will respond within 48 hours.

Security Guarantees

What We Protect

  • No unsafe code — Entire codebase is safe Rust
  • Path traversal prevention — All file operations are validated
  • Input validation — All TOML parsing with size limits
  • Local-only data — No network, no telemetry, no cloud sync
  • Secure defaults — Restrictive file permissions

Implemented Protections

Protection Implementation
Path traversal Canonical path validation
Content limits Max file size, scenario count limits
Input sanitization All user input validated
Error handling No sensitive data in errors
Dependencies Regular cargo audit checks

For Users

  1. Only load scenarios from trusted sources
  2. Run with standard user privileges (never as root)
  3. Verify downloads via SHA256 checksums
  4. Keep updated — use latest release

Recommended Permissions

chmod 755 helix-trainer
chmod 700 ~/.config/helix-trainer/

For Contributors

Important

All code must pass cargo clippy -- -D warnings and cargo audit.

Requirements:

  • Validate all user input
  • Sanitize file paths
  • Use ? operator instead of .unwrap()
  • Add security tests for new features
  • No secrets in commits

Known Limitations

  1. Scenario Files — TOML files are parsed from restricted directories only
  2. Terminal I/O — Raw mode requires terminal access
  3. User Data — Stored unencrypted in ~/.config/helix-trainer/

CI Security Checks

Every PR runs:

  • cargo clippy -- -D warnings
  • cargo deny check (license and vulnerability audit)
  • All tests must pass

Resources

There aren’t any published security advisories