Forge Autonomy OS is an AI-native production orchestration platform. Because this system can autonomously execute remediations, create PRs, and manage deployments, security is a first-class concern.
The following versions are currently supported with security updates:
| Version | Supported |
|---|---|
| 0.x | β |
During the pre-1.0 phase, all releases receive security patches. After 1.0, a version support policy will be published.
We take security vulnerabilities seriously. If you discover a security issue in Forge Autonomy OS, please follow these steps:
Do not open a public GitHub issue. Instead, send a detailed report to:
security@forge-autonomy-os.dev
If you do not receive a response within 48 hours, please follow up via the same channel.
If you prefer encrypted communication, our PGP key is available at:
https://forge-autonomy-os.dev/.well-known/pgp-key.asc
Provide as much of the following as possible:
- Type of issue β e.g., remote code execution, privilege escalation, secret exposure, supply chain risk
- Affected component β module, endpoint, or configuration (e.g.,
webhooks.py,github_client.py, NATS event bus, K8s operator RBAC) - Steps to reproduce β minimal, reproducible proof of concept
- Impact β what an attacker could achieve (autonomous action injection, audit bypass, tenant cross-contamination, etc.)
- Suggested fix β if you have one, include a patch or description
- Your contact β for follow-up questions
| Timeframe | Action |
|---|---|
| 24-48 hrs | Acknowledgment of receipt |
| 5 business days | Initial triage and severity assessment |
| 14 calendar days | Fix released (or mitigation plan communicated) |
| Public disclosure | Coordinated between reporter and maintainers |
We follow a 90-day responsible disclosure window from the date of the fix release before public disclosure, unless otherwise agreed.
Due to the autonomous nature of this project, the following areas require extra security scrutiny:
| Component | Risk Level | Reason |
|---|---|---|
| Webhook HMAC verification | π΄ High | Weak or absent signature validation allows event forgery |
| GitHub API token | π΄ High | Compromised GITHUB_TOKEN grants repository write access |
| NATS event bus | π‘ Medium | Unsecured NATS allows forged events and decision injection |
| K8s operator RBAC | π‘ Medium | Over-permissive ClusterRole could allow cluster-level escalation |
| Policy engine | π‘ Medium | Bypassing policy-as-code gates allows unauthorized auto-execution |
| PostgreSQL credentials | π‘ Medium | Hardcoded DSN or weak password exposes all persisted data |
| SQLite file access | π’ Low | Local file-based β risk is host-level access only |
| OTel exporter | π’ Low | Telemetry exposure risk (no secrets in spans by design) |
For production deployments, ensure the following:
-
GITHUB_WEBHOOK_SECRETis a strong, unique secret (β₯ 32 chars, high entropy) -
GITHUB_TOKENhas minimal scopes β onlycontents:writeandpull_requests:writeon the target repo - NATS server is configured with TLS + authentication (not plaintext)
- PostgreSQL uses passwordless Entra ID / IAM authentication where possible
- K8s
ClusterRoleis scoped to specific API groups and resources (already configured inoperator-deployment.yaml) - Secrets are injected via K8s Secrets or external vault (not environment variables in manifests)
- Enable audit logging for all GitHub token actions (GitHub Organization audit log)
- Set
FORGE_INSTANCE_IDto a unique, identifiable value per deployment - Configure OTEL_EXPORTER_OTLP_ENDPOINT to an internal collector (not public endpoint)
- Set
FORGE_PG_DSNto use SSL/TLS (?sslmode=require) - Restrict
POST /api/v1/metrics/resetendpoint to admin role in production - Enable rate limiting on webhook endpoints
| Date | ID | Component | Severity | Summary | Fixed In |
|---|---|---|---|---|---|
| β | β | β | β | No reported vulnerabilities yet | β |
| Environment Variable | Security Role |
|---|---|
GITHUB_WEBHOOK_SECRET |
HMAC key for webhook payload verification |
GITHUB_TOKEN |
Authentication for GitHub API (PR creation, etc.) |
FORGE_NATS_URL |
NATS connection string (use nats://user:pass@... |
FORGE_PG_DSN |
PostgreSQL DSN (use ?sslmode=require for TLS) |
FORGE_DB_PATH |
SQLite file path (ensure filesystem permissions) |
FORGE_INSTANCE_ID |
Instance identifier for audit trail |
We do not currently operate a bug bounty program. Security researchers who report valid vulnerabilities will be acknowledged in the release notes and (with permission) on our security hall of fame page.
For security-related questions that are not vulnerability reports, please open a GitHub Discussion with the security label.
Last updated: May 2026