chore(specs): add domain egress allowlist threat model#199
Conversation
Add three new threat entries for planned domain-level allowlisting: - TM-NET-015: Domain allowlist scheme bypass (by design) - TM-NET-016: Domain allowlist port bypass (by design) - TM-NET-017: Wildcard subdomain exfiltration (mitigated: not supported) Add section 5.6 with SNI-based filtering design rationale explaining why literal host matching is used over DNS, IP, or proxy approaches. Update public docs with domain allowlist usage guidance and trade-offs. https://claude.ai/code/session_01Rmh2zh9n7JNNJvsGa95GSs
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 6fbf3dd93c
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
|
||
| // Domain-level: any scheme, port, or path to these hosts | ||
| let allowlist = NetworkAllowlist::new() | ||
| .allow_domain("api.example.com") |
There was a problem hiding this comment.
Avoid documenting
allow_domain() before API exists
This section presents NetworkAllowlist::allow_domain() as a current public API, but in this commit the actual implementation (crates/bashkit/src/network/allowlist.rs) only exposes allow, allow_many, and allow_all. Users who copy this example from rustdoc will hit a compile error, and the threat-model guidance becomes inaccurate for current releases rather than clearly marked as planned behavior.
Useful? React with 👍 / 👎.
Add exemptions for aws-lc-sys 0.37.1, clap 4.5.58, clap_builder 4.5.58, and clap_lex 1.0.0. https://claude.ai/code/session_01Rmh2zh9n7JNNJvsGa95GSs
Summary
allow_domain()usage and trade-offsTest plan
cargo docbuilds without warnings