Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
default), and return a clear `DevkitError::RateLimited` when the cap would be
exceeded.

### Security

- `devkit-rpc`: harden the HTTP transport against SSRF. Endpoint validation now
refuses private, link-local, and other non-public address literals, DNS
answers are filtered before connection, and only re-validated same-host
redirects are followed. The final URL is checked again before reading the
response. See `docs/NETWORK_SECURITY.md`.

## [Unreleased]

### Added
Expand Down
5 changes: 4 additions & 1 deletion SECURITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,10 @@ Out of scope:

## Security model

- No network access is performed by default. No network features exist yet.
- No network access is performed by default. Network access is explicit, and
`HttpTransport` enforces a fail-closed SSRF policy: non-public addresses are
refused, DNS answers are filtered, and only same-host redirects are followed.
See [docs/NETWORK_SECURITY.md](docs/NETWORK_SECURITY.md).
- Decoding is bounded; malformed input is handled with structured errors, not
panics.
- No secrets are read, logged, or committed.
Expand Down
Loading
Loading