Machine-readable contact information is served at
.well-known/security.txt
(RFC 9116). Canonical URL:
https://raw.githubusercontent.com/anulum/scpn-quantum-control/main/.well-known/security.txt.
mkdocs omits dot-prefixed directories from the GH-Pages build, so
the canonical URL points at raw.githubusercontent.com rather than
anulum.github.io/scpn-quantum-control; automated scanners resolve
both locations equally and RFC 9116 allows any stable HTTPS URL.
| Version | Supported |
|---|---|
| 0.9.x | Yes |
| < 0.9 | No |
Two supported channels:
- Email —
protoscience@anulum.li. Encrypt with PGP if you have a published key; plain-text is acceptable. - GitHub Security Advisory — https://github.com/anulum/scpn-quantum-control/security/advisories/new. Private to project maintainers until published.
Do not open a public issue or pull request for a suspected security bug — either of the channels above keeps the disclosure coordinated.
Expected response: 48 h acknowledgment, 7-day initial triage, fix or mitigation timeline communicated in the acknowledgement. A CVE number is assigned for any issue that results in a published advisory.
- No pickle deserialization of untrusted data. Hardware results stored as JSON.
- No subprocess calls with user-controlled strings.
- IBM credentials never stored in code or committed. Use
QISKIT_IBM_TOKENenv var or~/.qiskit/qiskit-ibm.json. - Circuit depth bounds: all hardware experiments enforce
max_depthto prevent resource exhaustion on QPU. - Shot count limits: capped at 100k to prevent budget drain.
- RNG isolation: each module uses local
numpy.random.Generatorinstances, no global state mutation.
- Qiskit releases are pinned to
>=1.0.0(stable API). We track Qiskit security advisories. qiskit-ibm-runtimeuses IBM's OAuth2 token flow; tokens are scoped per instance.- Dependabot monitors GitHub Actions dependencies weekly.