Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Making sure SecretKey is zeroized on drop

Abierto
#671 3 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
42/100
Tipo de issue
Error
Claridad
Necesita aclaración
Estado de actividad
Tranquilo
Stack tecnológico
rust
Área
cryptography

Línea de trabajo

Comienza reproduciendo el ejemplo proporcionado con la funcionalidad zeroize habilitada y, a continuación, inspecciona la implementación de Drop en secret_key.rs y la configuración de funcionalidades en Cargo.toml. Determina si el contenido de memoria observado coincide con el comportamiento de zeroización previsto y documenta o corrige el comportamiento, con una prueba de regresión específica si las pruebas existentes del repositorio ofrecen una ubicación adecuada.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

I was trying to make my newtype of SecretKey zeroize properly, and realized I can't even trigger zeroization for SecretKey itself. Consider the code:

use k256::SecretKey;
use rand_core::OsRng;

fn main() {
    let sk = SecretKey::random(&mut OsRng);

    let ptr = &sk as *const SecretKey;
    let ptr_u8 = ptr as *const u8;

    println!("Pointer: {:p}", ptr);

    drop(sk);

    println!("Memory: {:?}", unsafe {
        core::slice::from_raw_parts(ptr_u8, 4)
    });
}

k256 has zeroize feature enabled in Cargo.toml. This still gives a non-zero output after SecretKey was dropped, despite there being a Drop implementation in secret_key.rs that calls zeroize(). Am I misunderstanding something?

Lenguaje dominante
Rust
Estrellas
756
Forks
256
Merge medio
1 h 27 min
PR fusionados (30 d)
2

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de RustCrypto/traits

Todos los issues de RustCrypto/traits

Issues similares

Más issues de Rust

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.