Currently, only the latest main branch of null-drift is officially supported with security updates.
| Version | Supported |
|---|---|
main |
✅ |
We take the security of null-drift very seriously. If you discover a vulnerability, do not open a public issue.
Please report any security issues privately by emailing anshuman.dwibedi.dev@gmail.com. We will acknowledge receipt of your vulnerability report within 48 hours and strive to send you regular updates about our progress.
We operate under strict Security Patch Service Level Agreements (SLAs) based on the CVSS score of the vulnerability.
We commit to the following patch timelines from the date of disclosure:
| Severity | CVSS Range | Patch SLA |
|---|---|---|
| Critical | 9.0 – 10.0 |
7 days |
| High | 7.0 – 8.9 |
21 days |
| Medium | 4.0 – 6.9 |
Next scheduled release |
| Low | 0.0 – 3.9 |
Evaluated case-by-case |
null-drift's security boundaries are strictly defined. We are particularly interested in vulnerabilities related to:
- State Poisoning: We utilize
tokio::sync::RwLockspecifically to prevent panic-induced lock poisoning. Any vector capable of deadlocking or permanently poisoning theHrsastate is a high-priority vulnerability. - Denial of Service (DoS): Any malformed payload that bypasses the
axumDefaultBodyLimit(64KB) in the core daemon or causes uncontrolled memory allocation. - ONNX Runtime Exploits: The
gateway-rsmicroservice executes ML inference usingfastembedand the C++ ONNX runtime. Any maliciously crafted text injection that achieves Remote Code Execution (RCE) via ONNX runtime buffer overflows is treated as a Critical CVE. - Postcard Deserialization: Any vulnerability allowing Remote Code Execution (RCE) or arbitrary memory overwrites during the
state.nddeserialization phase. - Multi-Tenant State Isolation: We utilize
moka::future::Cacheto map and isolate distinct AI agents. Any vulnerability allowing Cross-Tenant State Leakage (reading or modifying aThreadStatebelonging to anotherthread_id) is a critical vulnerability.
If you find a mechanism that violates these boundaries, please report it immediately.
We continuously stress-test the architecture against extreme concurrency limits to proactively identify and patch denial-of-service (DoS) vectors:
-
Algorithmic Complexity DoS (Patched in v0.2.0): An
$O(N^2)$ vector in the HRSA/recallendpoint previously allowed a single thread to lock the CPU for hours by triggering 500 billion nested permutations. This was mathematically optimized to a strict$O(1)$ constant bound (1 microsecond retrieval). -
Asynchronous Deadlocking (Patched in v0.2.0): The
gateway-rsinference microservice was patched to prevent malicious flooding of the async runtime. Synchronous C++ ONNX calls are now strictly wrapped viatokio::task::spawn_blocking, rendering the gateway immune to TCP starvation under massive load.
To protect our Threat Model against accidental or malicious regressions, we run dedicated Security Bots in our CI pipeline:
- cargo-audit: Prevents dependencies with known CVEs from being merged.
- gitleaks: Actively blocks commits containing hardcoded secrets, API keys, or leaked credentials.
Thank you for helping keep the continuous AI memory ecosystem safe!