Only the latest version on the main branch is actively supported with security updates.
| Version | Supported |
|---|---|
main |
✅ |
< 1.0 |
❌ |
We take the security of INKz seriously. If you discover a security vulnerability, please do not open a public GitHub issue.
Instead, please report security vulnerabilities by emailing the core maintainer directly:
- Contact Email:
harshpatel.dev@gmail.com(or create a Private Vulnerability Advisory on GitHub) - Response Time: We aim to acknowledge reports within 48 hours and provide a patch timeline within 7 days.
Please include the following details in your report:
- Type of issue (e.g., privilege escalation, unauthorized access, injection)
- Step-by-step instructions or proof-of-concept (PoC) to reproduce the vulnerability
- Affected component(s) (e.g.,
auth-service,sandbox-service,router,sync-agent) - Impact assessment
INKz is designed with multi-tenant isolation and defense-in-depth principles:
-
Pod & Volume Isolation:
- Every workspace operates inside an isolated Kubernetes Pod.
- Filesystem state is mounted using temporary
emptyDirvolumes scoped exclusively to that user's pod.
-
Authentication & Session Tokens:
- JWT tokens are issued with
httpOnly: trueandsameSite: Laxflags to prevent XSS token theft and CSRF attacks. - Real-time plan checks prevent token tampering or stale authorization states.
- JWT tokens are issued with
-
Kubernetes RBAC:
- The
sandbox-serviceuses a scoped KubernetesRole(namespace-bound todefault), not aClusterRole, limiting potential damage if a service is compromised.
- The
-
S3 Prefix Scoping:
- Workspace persistence in S3 is isolated by project ID prefixes (
<project-id>/<filepath>), preventing cross-tenant data access.
- Workspace persistence in S3 is isolated by project ID prefixes (
-
Resource Guardrails:
- CPU and Memory limits are enforced per container to prevent resource exhaustion and noisy-neighbor attacks.
- Report Received: Acknowledged within 48 hours.
- Investigation & Patch: Vulnerability is verified and patched on a private branch.
- Release: Fix is merged into
main. - Public Disclosure: Details are credited to the reporter (if desired) after the fix is published.