Only the latest release on main receives security fixes. The project
is a research-grade prototype, not a validated GMP system — see
corporate_boundary/NON_PRODUCTION_BOUNDARY.md.
Do not open a public GitHub issue.
If you have found a vulnerability, please email the maintainer directly at kbdev0011@gmail.com.
Include enough detail to reproduce — preferably a minimal proof of concept. We aim to acknowledge within 5 business days and ship a patch (or a disclosure plan) within 30.
Within scope:
- Authentication / authorization bypass (
src/gxp_copilot/api/auth.py,src/gxp_copilot/governance/rbac.py,apps/web/src/middleware.ts,apps/web/src/auth.ts). - JWT signature / replay / fixation issues.
- SQL injection in the importers, repositories, or any audit/recover path.
- Information disclosure via the audit log endpoint or the
/auth/check-emailenumeration surface. - CSRF on state-changing endpoints (
POST /recover,/usersadmin CRUD,/auth/magic-link/*). - Unsafe defaults in
Dockerfile.api,Dockerfile.web, ordocker-compose.yml.
Out of scope:
- Denial-of-service via large CSV imports (the importer is intended for trusted operator use; rate limiting is per-route on unauthenticated paths only).
- Anything that requires the operator to set
GXP_AUTH_ENABLED=1without settingAUTH_SECRET. The middleware fails closed and logs loudly in that configuration; the configuration itself is the bug, not the runtime behaviour. - Bugs in the synthetic data — every CSV in
data/synthetic/is intentionally fictitious.
- JWT algorithm: HS256 with a shared
AUTH_SECRETbetween frontend (NextAuth) and backend (PyJWT). Tokens are signed but not encrypted. Email + role claims are visible to anyone who intercepts a token. - Audit log is plaintext JSONL. If a deployment logs real patient/product data through the recovery path, the audit log inherits that sensitivity — protect the host accordingly.
- Docker images are built without secrets. Operators must set
AUTH_SECRETandOPENAI_API_KEYat runtime via env vars; never bake them in.
We commit to:
- Acknowledging your report within 5 business days.
- Providing a public credit (or anonymous credit on request) in the release notes for the fix.
- Not pursuing legal action against good-faith researchers.