Skip to content

Security: copyleftdev/corey

Security

SECURITY.md

Security Policy

Supported Versions

Version Supported
0.1.x Yes

Reporting a Vulnerability

If you discover a security vulnerability in COREY, do not open a public issue.

Instead, report it privately:

  1. Email the maintainers with a description of the vulnerability
  2. Include steps to reproduce if possible
  3. Allow 72 hours for an initial response

Security Design

COREY handles credentials and secrets. The following principles guide every design decision:

Credential Handling

  • Secrets are never logged, printed, or stored in plain text
  • Secret values are zeroed from memory after use
  • The --json output for secrets never includes values (GitHub does not expose them)
  • Variable values are visible by design (GitHub variables are not secret)

Storage

  • Local credentials use OS keychain (macOS Keychain, Linux libsecret)
  • Fallback encrypted file storage uses Argon2 key derivation + AES-256-GCM
  • No credentials are written to disk in plaintext

Transport

  • All GitHub API operations go through the gh CLI, which handles HTTPS/TLS
  • No direct HTTP calls are made from COREY
  • Repository detection uses local git remote only

Process Security

  • Subprocess arguments never contain secret values inline
  • Secret values are passed via stdin pipes to gh secret set
  • No shell expansion occurs (all subprocesses use execve-style argv)

What COREY Does Not Do

  • Does not implement its own TLS or HTTP client
  • Does not store GitHub PATs or OAuth tokens directly
  • Does not bypass gh auth for API access
  • Does not transmit credentials to any endpoint other than GitHub (via gh)

There aren’t any published security advisories