SECURITY.md
Rama main · réplica de lectura del repositorio original.
# Security policy
NetGoat is active alpha software. Security fixes are applied to the current development branch; older snapshots may not receive backports.
## Reporting a vulnerability
Do not disclose a suspected vulnerability in a public issue, discussion, chat, or pull request. Email **duckeydev@gmail.com** with:
- the affected component and revision;
- the impact and conditions required to exploit it;
- reproducible steps or a minimal proof of concept, when safe to provide;
- any suggested mitigation; and
- a secure way to contact you.
Avoid accessing data that is not yours, disrupting public services, or retaining sensitive data while researching. A maintainer will acknowledge the report as capacity permits, validate it, prepare a fix, and coordinate disclosure with the reporter. Please allow time for a patch before publishing details.
Reports about directly exploitable dependency behavior, unsafe defaults, authentication or proxy-boundary mistakes, denial of service, and sensitive-data exposure are in scope. General support requests, UI defects without security impact, and scanner output without a plausible impact are better filed through the normal issue tracker.
## Deployment guidance
- A missing `config.yml` is fatal. Plaintext HTTP is limited to loopback unless `allow_insecure_public_http` is set; use TLS for public traffic.
- Keep control-plane or telemetry administration on loopback or behind an authenticated TLS proxy.
- Do not use placeholder secrets. Bootstrap users explicitly with a unique password of at least 12 characters.
- Configure `trusted_proxies` narrowly; forwarding headers are ignored by default.
- Keep SQLite databases, recovery snapshots, `.env`, private keys, telemetry IDs, and AI model artifacts out of source control.
- Leave optional telemetry disabled unless you operate and trust its configured destination.
The production checklist (TLS terminate, bootstrap auth before routes, empty `routes: {}`, listen vs `allow_insecure_public_http`, `trusted_proxies`, and the secret table) and metrics scrape/alert basics are in [docs/operations.md](docs/operations.md). Tagging and the alpha→beta security gate are in [docs/release.md](docs/release.md). Do not duplicate those lists here.