Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 

Repository files navigation

🛡️ SwiftStack • SwiftShred

Motor portable de destrucción segura de datos y sanitización forense con soporte nativo de TRIM en SSDs/NVMe y certificación de auditoría criptográfica.

Conforme con los estándares: NIST SP 800-88 Rev. 1, DoD 5220.22-M, DoD 5220.22-M (E), Peter Gutmann (35x), GDPR / RGPD, HIPAA e ISO/IEC 27001.

Ko-fi

Aceptamos donaciones: Ayudan a mantener y mejorar el desarrollo continuo de SwiftShred. Puedes apoyarnos en Ko-fi.


🌟 Características Principales

  • Detección Inteligente de Disco (Win32 IOCTLs): Consulta IOCTL_STORAGE_QUERY_PROPERTY para identificar si la unidad es magnética (HDD) o de estado sólido (SATA SSD / NVMe SSD / USB Flash).
  • 🚀 Comando Nativo FSCTL_FILE_LEVEL_TRIM: Envía comandos directos al controlador de memoria flash en Windows para garantizar el descarte físico inmediato de las celdas de almacenamiento (evita que los datos queden retenidos en bloques de wear leveling).
  • 🔬 Cadena de Custodia Criptográfica: Calcula el hash SHA-256 pre-wipe de cada archivo antes de comenzar para validar la autenticidad forense.
  • 📑 Exportación Simultánea de Certificados de Auditoría:
    • JSON Estructurado (para ingesta directa en SIEM, SOC y pipelines automatizados).
    • CSV (para análisis en hojas de cálculo y auditorías internas).
    • Certificado Formal Imprimible (HTML/PDF) con sello digital y Machine GUID del equipo.
  • 🗂️ Destrucción de Metadatos y File System:
    • Renombrado sucesivo aleatorio en la tabla MFT / NTFS para destruir el nombre original del archivo.
    • Limpieza de Alternate Data Streams (ADS) en particiones NTFS.
    • Truncado forzado a 0 bytes (SetEndOfFile) antes de la eliminación final.
  • 🖱️ Integración con el Menú Contextual de Windows: Instalación y desinstalación con un solo comando para triturar archivos directamente desde el explorador con clic derecho.

🏛️ Arquitectura del Proyecto

SwiftShred/
├── Cargo.toml                      # Configuración de compilación standalone sin dependencias pesadas
├── tests/
│   └── shredder_tests.rs           # Tests de integración (SHA-256, borrado seguro, exportación)
├── src/
│   ├── main.rs                     # Punto de entrada y despachador de CLI / GUI
│   ├── lib.rs                      # Biblioteca core exportable
│   ├── cli.rs                      # Parser de argumentos CLI (Clap v4)
│   ├── engine/
│   │   ├── mod.rs                  # Coordinador de borrado
│   │   ├── algorithms.rs           # Implementación de algoritmos (NIST, DoD, Gutmann, Random)
│   │   ├── drive_detector.rs       # Detección de hardware y selector adaptativo
│   │   ├── file_shredder.rs        # Sobrescritura de bloques, FSCTL_FILE_LEVEL_TRIM, MFT Scramble
│   │   └── audit_logger.rs         # Generador de auditoría forense (JSON, CSV, Certificado Formal)
│   ├── platform/
│   │   ├── mod.rs                  # Abstracción multiplataforma
│   │   └── windows.rs              # Win32 APIs (DeviceIoControl, Registry, Storage Queries)
│   └── ui/
│       ├── mod.rs
│       ├── state.rs                # Estado reactivo de la cola de archivos
│       └── views.rs                # Vistas en terminal con banners y progreso dual

⚙️ Métodos de Sanitización Disponibles

Algoritmo Pasadas Patrón de Datos Uso Recomendado
Adaptive Smart (--method adaptive) Auto NVMe Flash TRIM o DoD 3x Recomendado por defecto
Flash Safe + TRIM (--method flash-trim) 2 Cripto-Random + Ceros + FSCTL_FILE_LEVEL_TRIM SSDs NVMe y SATA
NIST SP 800-88 Clear (--method nist800-clear) 1 Sobrescritura de Ceros (0x00) Memorias USB y Flash
NIST SP 800-88 Purge (--method nist800-purge) 3 0x00, 0xFF, Random + TRIM Máxima seguridad en Flash
DoD 5220.22-M (--method dod3) 3 Ceros -> Unos -> Cripto-Random Discos magnéticos (HDD)
DoD 5220.22-M (E) (--method dod7) 7 7 pasadas militares alternadas HDDs corporativos y militares
Peter Gutmann (--method gutmann) 35 35 pasadas con inversión magnética HDDs heredados (MFM/RLL)
Fast Zero Fill (--method zero) 1 Ceros (0x00) Limpieza rápida
Crypto Random Fill (--method random) 1 ChaCha20 PRNG Sobrescritura aleatoria rápida

🚀 Ejemplos de Uso

1. Trituración Básica Adaptativa

swiftshred "C:\Documentos\contrato_confidencial.pdf"

2. Trituración Recursiva de Carpetas con Método Militar DoD 7x

swiftshred "D:\ProyectosAntiguos" -r --method dod7

3. Generación de Certificados de Auditoría para Cumplimiento (SIEM + PDF/HTML)

swiftshred "C:\BaseDatos\backup.bak" `
  --export-json "C:\Auditorias\reporte.json" `
  --export-csv "C:\Auditorias\reporte.csv" `
  --export-cert "C:\Auditorias\certificado_forense.html"

4. Instalar en el Menú Contextual de Windows (Clic Derecho)

swiftshred --register-context-menu

(Para desinstalarlo en cualquier momento: swiftshred --unregister-context-menu)


📜 Formato del Reporte de Auditoría JSON (Ejemplo)

{
  "audit_version": "1.0",
  "tool": "SwiftShred Enterprise v1.0",
  "session_id": "a9f3b14e8c10294b",
  "timestamp_utc": "2026-08-15T06:15:00Z",
  "operator": {
    "user": "sec_admin",
    "machine_name": "CORP-WKS-01",
    "os": "Windows (x86_64)",
    "machine_guid": "7a9e1c3b-4f5a-4b12-98aa-56a81e90b213"
  },
  "job_summary": {
    "total_files": 1,
    "total_bytes": 1048576,
    "status": "COMPLETED_VERIFIED",
    "compliance_standard": "NIST_SP_800_88_R1"
  },
  "erased_items": [
    {
      "file_path": "C:\\Secretos\\claves_privadas.pem",
      "original_size_bytes": 1048576,
      "media_type": "NVMe Flash SSD",
      "pre_wipe_sha256": "4b227777d4dd1fc61c6f884f48641d02b4d121d3fd328cb08b5531fcacdabf8a",
      "method_applied": "⚡ Flash Safe (Crypto-Shred + TRIM)",
      "passes_completed": 2,
      "trim_executed": true,
      "verification_status": "PASSED_VERIFIED",
      "metadata_wiped": true,
      "deleted_at": "2026-08-15T06:15:02Z"
    }
  ],
  "certificate_signature_hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
}

📄 Licencia

Distribuido bajo la licencia MIT / Apache-2.0.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors