Skip to content

Security: skydeval/kryphocron

Security

SECURITY.md

Security Policy

Reporting a vulnerability

If you believe you've found a security issue in kryphocron, please do not open a public GitHub issue. The substrate's authority discipline is designed to be reviewed adversarially — but disclosure works best for everyone when the maintainer sees the report before the public does.

Report privately via:

Please include:

  1. A description of the issue and the impact you observed.
  2. Reproduction steps or a minimal reproducing example.
  3. The kryphocron version(s) affected.
  4. Any suggested mitigation if you have one in mind.

If the issue involves cryptographic correctness, audit-pipeline integrity, or any sealed-trait / unsafe-discipline assumption, please mention that explicitly — those touch on commitments the substrate makes in its threat model and warrant priority handling.

Response timeline

The maintainer is a solo author; the following are best-effort commitments calibrated to what's sustainable, not 24/7 oncall:

  • Acknowledgement of receipt: within 5 business days.
  • Initial assessment (severity + scope): within 14 days.
  • Coordinated disclosure window: 90 days from initial acknowledgement, by default. Earlier disclosure is possible by mutual agreement when a fix is ready and deployed; later disclosure is possible by mutual agreement when the fix is non-trivial.

If the issue affects a downstream consumer (an operator running kryphocron in their substrate), the maintainer will work with you on coordinated disclosure that gives downstream operators time to upgrade before the issue becomes public.

Scope

The following are in scope for security reports:

  • Capability-proof forgeability. Any path that produces a UserProof, ChannelProof, SubstrateProof, or ModerationProof outside the authority::issue_* chokepoints in safe Rust.
  • Audit-pipeline failure modes. Any path where a committed bind produces no terminal audit event, or where a denied bind produces an event that misrepresents the outcome.
  • Tier-classification bypass. Any path that lets a private-tier value reach a public-surface emission point by type, or that lets tier::visible_to return Visible for a combination the spec commits to Forbidden.
  • JWT / capability-claim signature handling. Any path that accepts a malformed, expired, replayed, or improperly-algorithm-tagged JWT or claim.
  • Sync-handshake protocol violations. Any path that admits a session whose handshake did not produce a verified VerifiedSyncEstablished.
  • Inter-service-auth nonce handling. Replay-window violations, partition-cap bypass, etc.
  • Encryption-resolver contract violations. Any path that reaches a produce_sensitive_representation decision with an inconsistent encryption context.

The following are out of scope:

  • Operator-policy decisions. kryphocron defers many decisions to operator code (encryption algorithms, oracle backends, key storage). Bugs in operator implementations of those traits are out of scope for kryphocron; report them to the relevant operator project.
  • Timing-channel observability. §4.6 ships coarse timing equalization as a first defense, explicitly not a constant-time discipline. Reports of "I measured timing differences and could infer X" against the v0.1 timing surface are expected; the README documents this disclosure (§4.6). Reports of timing channels that bypass §4.6's coarse- equalization commitments (e.g., the equalization stage doesn't fire) are in scope.
  • Bugs in dependencies. Report ed25519-dalek, blake3, ciborium, serde_json, tokio, getrandom, etc. issues upstream. If a dependency vulnerability affects kryphocron in a non-obvious way (e.g., we're using an API in a way that exposes a known issue), please flag the kryphocron-specific exposure separately.
  • tools.kryphocron.* lexicon schema design. The lexicons are CC0-licensed; suggestions and corrections are welcome via public GitHub issues on the kryphocron-lexicons repo (this is vocabulary design, not security).

Disclosure history

Past advisories will be listed here once the project receives any. As of v0.1.0 there are none.

Advisories will also be posted to the repository's GitHub security tab: https://github.com/skydeval/kryphocron/security/advisories.

Acknowledgements

Thank you for taking the time to report security issues responsibly. If you'd like to be credited in disclosure materials, please mention so in your report; the default is public credit unless you request otherwise.

There aren't any published security advisories