| Version | Supported |
|---|---|
| 0.1.x | ✅ Current release |
If you discover a security vulnerability in PortForge, please report it responsibly.
- Do NOT open a public GitHub issue for security vulnerabilities.
- Send an email to security@kabudu.dev (or use GitHub Security Advisories).
- Include:
- Description of the vulnerability
- Steps to reproduce
- Potential impact
- Suggested fix (if any)
- Acknowledgment within 48 hours of your report.
- Status update within 7 days with our assessment.
- Fix timeline communicated once the issue is confirmed.
- Credit in the release notes (unless you prefer to remain anonymous).
PortForge operates with the following security model:
portforge killsends signals to processes on the local machine.- The
cleancommand only targets orphaned/zombie processes by default. - All destructive actions require explicit confirmation or
--forceflag. - Dry-run mode (
--dry-run) is available for safe preview.
- Health checks connect only to
127.0.0.1(localhost). - The web dashboard (
portforge serve) binds to127.0.0.1by default. - No data is sent to external servers.
- Docker communication uses the local Docker socket.
- Configuration is read from
~/.config/portforge.tomlonly. - No files are written except the config file (via
init-config). - Process information is read from system APIs (sysinfo, /proc, etc.).
- We minimize dependencies and prefer well-maintained Rust crates.
cargo auditis run regularly to check for known vulnerabilities.- TLS is handled via
rustls(no OpenSSL dependency).
- Don't expose the web dashboard to the public internet without authentication.
- Review
portforge cleanoutput with--dry-runbefore executing. - Keep PortForge updated to receive security patches.