Files
nexus/rust/app/Cargo.toml
T
Andy Dixon fda804e3f5 fix: wipe credentials in the connect path and keep release builds out of dumps and debuggers
- Credential callbacks (SecretFn) now return Zeroizing<String>, as do the
  session-only/pending caches they read and the RDP client's password,
  so Nexus's own copies are wiped; a plain String copy is made only
  where a library API needs one (SSH password auth, IRC, VNC, CredSSP).
- Release builds disable core dumps (RLIMIT_CORE 0) and, on Linux, mark
  the process non-dumpable (PR_SET_DUMPABLE 0), which also blocks ptrace
  attach and /proc/<pid>/mem reads by other processes of the same user.
  Debug builds are unchanged so they stay debuggable. Verified on the
  release binary: core limit 0, /proc/<pid>/{environ,mem} root-owned and
  unreadable, local shells (including cwd capture) still work.

Closes the remaining parts of SEC-20261012-007 that the app controls;
egui's internal text buffers remain outside its reach.
2026-10-12 17:19:27 +01:00

34 lines
864 B
TOML

[package]
name = "nexus"
version.workspace = true
edition.workspace = true
build = "build.rs"
[[bin]]
name = "nexus-terminal"
path = "src/main.rs"
[dependencies]
nexus-core = { path = "../core" }
eframe = { version = "0.36", default-features = false, features = ["default_fonts", "glow", "wayland", "x11", "accesskit", "persistence"] }
egui = "0.36"
parking_lot = "0.12"
zeroize = "1"
tracing = "0.1"
tracing-subscriber = { version = "0.3", default-features = false, features = ["fmt", "env-filter", "std", "ansi"] }
egui-phosphor = "0.14"
rfd = "0.17"
image = { version = "0.25", default-features = false, features = ["png"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
regex = "1"
alacritty_terminal = "0.26.0"
chrono = "0.4.45"
arboard = "3.6.1"
[build-dependencies]
winresource = "0.1"
[target.'cfg(unix)'.dependencies]
libc = "0.2"