Skip to content

Commit fcf3061

Browse files
authored
Update SECURITY.md
1 parent c51b573 commit fcf3061

1 file changed

Lines changed: 54 additions & 59 deletions

File tree

SECURITY.md

Lines changed: 54 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -1,105 +1,100 @@
11
# Security Policy
22

3-
QECTOR Decoder is primarily a local Rust/Python research and validation library, but the repository also contains optional service-facing components such as REST, gRPC, MCP, metrics, Docker packaging, CUDA loading, and OpenCL loading. Treat those components as higher-risk deployment surfaces.
3+
QECTOR Decoder is primarily a local Rust/Python research and validation library. However, the repository and optional builds contain service-facing components (e.g., REST, gRPC, MCP, metrics, Docker packaging, CUDA/OpenCL loading). These optional components should be treated as higher-risk deployment surfaces and require appropriate hardening.
44

5-
## Supported versions
5+
## Supported Versions
66

7-
| Version | Security support |
8-
|---|---|
9-
| `0.5.x` | Supported for source-available review, private vulnerability disclosure, and commercial-license security discussion |
10-
| Older snapshots | Best-effort only |
7+
| Version | Security Support |
8+
| :--- | :--- |
9+
| `0.6.x` (Current: `0.6.6`) | **Active.** Supported for source-available review, private vulnerability disclosure, and commercial-license security discussion. |
10+
| `0.5.x` | **Legacy.** Supported only for private vulnerability disclosure and commercial-license security discussion. |
11+
| Older snapshots | Best-effort only. No guaranteed patches. |
1112

12-
## Report a vulnerability privately
13+
## Report a Vulnerability Privately
1314

14-
Send security reports to:
15+
We take security seriously. If you discover a vulnerability, please report it privately to allow time for a fix before public disclosure.
1516

17+
Send security reports to:
1618
```text
1719
admin@qector.store
1820
```
1921

20-
Use the subject:
21-
22+
Use the following subject line:
2223
```text
2324
[SECURITY] QECTOR Decoder disclosure
2425
```
2526

26-
Include:
27-
28-
```text
29-
1. Affected component or file path
30-
2. Affected version or commit SHA
31-
3. Operating system and Python/Rust versions
32-
4. Reproduction steps
33-
5. Expected impact
34-
6. Whether the issue affects local library use, REST, gRPC, Docker, CUDA, OpenCL, benchmark artifacts, or licensing/security metadata
35-
7. Any proof of concept, kept private
36-
```
27+
Please include the following information in your report:
28+
1. Affected component or file path.
29+
2. Affected version or commit SHA.
30+
3. Operating system and Python/Rust versions.
31+
4. Clear reproduction steps.
32+
5. Expected impact and severity.
33+
6. Whether the issue affects local library use, REST, gRPC, Docker, CUDA, OpenCL, benchmark artifacts, or licensing/security metadata.
34+
7. Any proof of concept (must be kept strictly private).
3735

38-
Do not publish a public proof of concept before a fix or mitigation is available.
36+
**Do not publish a public proof of concept or exploit before a fix or mitigation is available and coordinated with the maintainer.**
3937

4038
## Scope
4139

42-
In scope:
43-
44-
```text
45-
Rust/PyO3 extension memory safety issues
46-
Python package security issues
47-
Unsafe deserialization or file handling
48-
REST/gRPC/MCP service exposure risks
49-
Docker/runtime hardening issues
50-
CUDA/OpenCL driver-loading issues
51-
Benchmark artifact tampering or misleading security-sensitive metadata
52-
Dependency vulnerabilities in the default build path
53-
```
54-
55-
Out of scope unless it creates a concrete vulnerability:
40+
**In Scope:**
41+
- Rust/PyO3 extension memory safety issues (e.g., buffer overflows, use-after-free).
42+
- Python package security issues (e.g., unsafe deserialization, path traversal).
43+
- REST/gRPC/MCP service exposure risks (e.g., lack of authentication, injection).
44+
- Docker/runtime hardening issues or container escape vectors.
45+
- CUDA/OpenCL driver-loading or memory isolation issues.
46+
- Benchmark artifact tampering or misleading security-sensitive metadata.
47+
- Dependency vulnerabilities in the default build path.
5648

57-
```text
58-
Performance disagreements
59-
Scientific claim disputes
60-
Expected crashes from intentionally malformed local research inputs
61-
Licensing disagreements
62-
Unsupported GPU driver installation problems
63-
Issues requiring already-compromised administrator access without additional impact
64-
```
49+
**Out of Scope** (unless it creates a concrete, exploitable vulnerability):
50+
- Performance disagreements or benchmark disputes.
51+
- Scientific claim or algorithmic accuracy disputes.
52+
- Expected crashes from intentionally malformed local research inputs (e.g., invalid DEM files).
53+
- Licensing disagreements or requests for free commercial use.
54+
- Unsupported GPU driver installation problems.
55+
- Issues requiring already-compromised administrator/root access without additional impact.
6556

66-
## Expected response
57+
## Expected Response
6758

68-
For serious private reports, the maintainer will attempt to acknowledge receipt within a reasonable timeframe. Resolution time depends on severity, reproducibility, commercial-license obligations, and whether the issue affects only optional service layers or the default local library path.
59+
For serious private reports, the maintainer will attempt to acknowledge receipt within 3–5 business days. Resolution time depends on severity, reproducibility, commercial-license obligations, and whether the issue affects only optional service layers or the default local library path.
6960

70-
## Deployment guidance
61+
*Note: Full security review of the proprietary Rust core is available exclusively under a Non-Disclosure Agreement (NDA) or Commercial License.*
7162

72-
The default public install path is a local CPU-safe source build. It is not a hardened internet service.
63+
## Deployment Guidance
7364

74-
Before exposing REST, gRPC, MCP, Docker, CUDA, or OpenCL functionality in a production or customer-facing environment, review:
65+
The default public install path (via PyPI) is a local, CPU-safe binary. It is **not** a hardened internet-facing service.
7566

67+
Before exposing REST, gRPC, MCP, Docker, CUDA, or OpenCL functionality in a production, multi-tenant, or customer-facing environment, you must review:
7668
```text
7769
docs/SECURITY_DEPLOYMENT.md
7870
```
71+
*(If this file is not present in your checkout, contact admin@qector.store for the enterprise deployment guide.)*
7972

80-
Commercial SaaS, hosted API, OEM, or embedded deployments require a separate written commercial agreement.
73+
Commercial SaaS, hosted API, OEM, or embedded deployments require a separate, written commercial agreement.
8174

82-
## Dependency and SBOM guidance
75+
## Dependency and SBOM Guidance
8376

84-
For reproducible security review, record:
77+
For reproducible security review and Software Bill of Materials (SBOM) generation, record your environment state:
8578

86-
```text
79+
```bash
8780
git rev-parse HEAD
8881
cargo metadata --format-version 1
8982
python -m pip freeze
9083
python -m pip list
9184
```
9285

93-
Optional audit tools:
94-
95-
```text
86+
Optional local audit tools (advisory only):
87+
```bash
9688
cargo audit
9789
python -m pip install pip-audit
9890
python -m pip_audit
9991
```
92+
*These tools are advisory; they do not replace formal source review or deployment hardening.*
10093

101-
These tools are advisory; they do not replace source review or deployment hardening.
94+
## License Boundary
10295

103-
## License boundary
96+
**Security reporting, issue filing, source review, or contribution does not grant commercial use rights.**
10497

105-
Security reporting, issue filing, source review, or contribution does not grant commercial use rights. QECTOR remains source-available proprietary software. See `LICENSE` and `COMMERCIAL.md`.
98+
QECTOR remains source-available proprietary software. All commercial, institutional, and lab use requires a paid license. See `LICENSE` and `COMMERCIAL.md` for full terms. Provenance and chain of title are protected via timestamped Zenodo archival.
99+
```
100+
Save this as `SECURITY.md` in the root of your repository. GitHub will automatically detect it and display a "Security" tab on your repo, signaling to enterprise users that you take this seriously.

0 commit comments

Comments
 (0)