You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
atty is unmaintained and can be replaced by std::io::IsTerminal #34
shavee-bin depends on atty 0.2 for terminal detection in get_password() and process_create(). That crate has been archived by its maintainer and has two open RustSec advisories.
Neither is exploitable in shavee today: the unaligned read is in the Windows console path, which is never compiled on Linux. This is dependency hygiene rather than an active vulnerability.
Current usage
shavee-bin/Cargo.toml:23 atty = "0.2"
shavee-bin/src/main.rs:3 use atty::Stream;
shavee-bin/src/main.rs:61 if atty::is(Stream::Stdin)
shavee-bin/src/main.rs:76 if atty::is(Stream::Stdin)
Proposed fix
std::io::IsTerminal has been stable since Rust 1.70 and provides identical behavior with no additional dependency:
use std::io::IsTerminal;ifstdin().is_terminal(){ ...}
The workspace is already on edition 2024, so the MSRV is not a concern.
Effect on the dependency graph
atty is the only consumer of classic winapi in the tree:
Activity