Skip to content
Open
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
1 change: 1 addition & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions SECURITY_AUDIT.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,13 +64,15 @@ Brain3’s highest-risk boundary is the optional public gateway/tunnel that fron
- The boundary between the Rust gateway and the `brain3-mcp-vault-tools` container
- The native transcription boundary where the Rust gateway downloads and parses untrusted audio bytes in-process instead of forwarding them to the container
- Gateway-initiated internet egress for temporary audio `download_url` fetches and setup-time Whisper model downloads
- Inline base64 audio bytes sent by authorized MCP clients over the existing OAuth-protected JSON-RPC channel for native transcription
- Vault content that may be user-controlled or, in some deployments, third-party-controlled

### Attacker Capabilities

- Send arbitrary HTTP requests and headers to public gateway routes when tunneling is enabled
- Operate or compromise the preregistered OAuth client after it is provisioned with Brain3 credentials
- Supply a `transcribe_audio_file` audio `download_url` through an authorized MCP client, causing the gateway to issue an outbound GET and parse the returned bytes as audio
- Supply bounded inline base64 audio bytes to `transcribe_audio_file` through an authorized MCP client, causing the gateway to parse those bytes as audio
- Read local files or logs available to the current OS principal or broader local principals
- Supply hostile vault content when the user does not fully control imported or shared notes

Expand Down
1 change: 1 addition & 0 deletions crates/platform/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ edition = "2021"
[dependencies]
brain3-core = { path = "../core" }
async-trait = "0.1"
base64 = "0.22"
libc = "0.2"
axum = "0.8"
tower-http = { version = "0.7", features = ["trace"] }
Expand Down
Loading
Loading