Volver a actualizaciones
Nuevo releaseAug 27, 2026

DakshSCRA v0.38-beta

Herramienta de análisis estático de código sensible al framework para la revisión automatizada del código fuente con reglas específicas de plataforma, análisis de contaminación, estimación de esfuerzo y líneas de base de supresión.

Compartir

Daksh SCRA (Asistente de Revisión de Código Fuente)```

Author:

## Acerca de Daksh SCRA

Daksh SCRA (Source Code Review Assist) está diseñado para mejorar la eficiencia del proceso de revisión de código fuente, proporcionando un enfoque bien estructurado y organizado para los revisores de código.

En lugar de señalar indiscriminadamente todo como un posible problema, Daksh SCRA promueve un análisis reflexivo, instando a la investigación y confirmación de problemas potenciales. Este enfoque mitiga la carrera por etiquetar cada posible preocupación como un bug, reduciendo la confusión y el tiempo perdido en falsos positivos.

### Debut

Daksh SCRA se presentó inicialmente durante una sesión de formación en revisión de código fuente en Black Hat USA 2022 (6-9 de agosto), donde se presentó sutilmente ante una audiencia específica. Su debut público oficial tuvo lugar en Black Hat USA 2023 en Las Vegas.

## Características y funcionalidades

- **Identifica áreas de interés en el código fuente:** Fomenta la investigación y confirmación enfocadas en lugar de etiquetar indiscriminadamente todo como un bug.
- **Identifica áreas de interés en rutas de archivos (primero en el mundo):** Reconoce patrones en rutas de archivos para señalar secciones relevantes para su revisión.
- **Reconocimiento a nivel de software para identificar tecnologías utilizadas:** Identifica las tecnologías del proyecto, permitiendo a los revisores de código realizar escaneos precisos con las reglas adecuadas.
- **Estimación automatizada y científica del esfuerzo para la revisión de código (primero en el mundo):** Proporciona un enfoque medible para estimar el esfuerzo requerido para una revisión de código.
- **Escaneo consciente del framework:** Aplica automáticamente reglas específicas del framework cuando se detecta el framework del proyecto.
- **Informes de análisis de taint:** Informes HTML de flujo de taint por plataforma con temas de modo hacker y modo profesional.
- **RDL (Rule Description Language):** Lógica de reglas externas referenciada con `rdl_ref` y ejecutada por el pipeline `core/rdl_engine.py` - admite puertas conscientes de archivos, expresiones booleanas, observaciones del proyecto y metadatos de lógica exportados en los informes.
- **Estado de escaneo / Reanudación:** Guarda puntos de control de escaneos largos y reanúdalos tras una interrupción.
- **Línea base de supresión:** Genera y aplica una línea base de falsos positivos conocidos para suprimirlos de informes futuros.
- **Interfaz web:** Lanzador de escaneos basado en navegador con feed de consola en tiempo real y navegador de artefactos de trabajos.

> Las mejoras activas están en curso. Se han planificado múltiples nuevas características y mejoras para próximas versiones.

Siéntete libre de contribuir a la actualización o adición de nuevas reglas y al desarrollo futuro.

Si encuentras algún bug, repórtalo a [[email protected]](mailto:[email protected]).

Documentación detallada: [https://dakshlabs.com/#docs](https://dakshlabs.com/#docs)

---

## Primeros pasos

Hay dos formas de ejecutar Daksh SCRA - elige la que mejor se adapte a tu flujo de trabajo:

| | Ideal para | Ir a |
|---|---|---|
| 🌐 **Interfaz web (Docker)** | La forma más sencilla de empezar - un comando, un panel en el navegador, progreso del escaneo en vivo y un navegador de informes/artefactos. Recomendado para la mayoría de los usuarios. | [Interfaz web (Docker)](#web-ui-docker) |
| 💻 **CLI (Python)** | Scripting, pipelines de CI o ejecutar escaneos sin Docker. | [Configuración de CLI](#cli-setup) |

Ambas rutas ejecutan exactamente el mismo motor de escaneo - la interfaz web es un front end de navegador sobre la misma CLI, por lo que los resultados son idénticos en ambos casos.

---

## Interfaz web (Docker)

La forma más rápida de ejecutar Daksh SCRA es a través de su interfaz web basada en navegador, lanzada con el asistente de inicio de Docker consciente del host. Te ofrece un lanzador de escaneos, un feed de consola en vivo y un historial navegable de informes anteriores. El asistente de inicio necesita Python 3 (solo biblioteca estándar); la aplicación y sus dependencias se ejecutan en Docker.

La configuración de Docker ejecuta la interfaz web y la CLI como servicios independientes construidos a partir de la misma imagen, por lo que puedes usar cualquiera de ellos (o ambos) desde el mismo contenedor.

### Lanzar la interfaz web

Después de descargar Daksh SCRA desde GitHub, **extrae primero el archivo ZIP**.
Abre una terminal (PowerShell o Símbolo del sistema en Windows) dentro de la carpeta
del proyecto extraída que contiene `docker-compose.yml` y `dakshscra.py`.
**Ejecuta todos los comandos de inicio y de Docker Compose a continuación desde esa carpeta.**

Si tu terminal se abre en otro lugar, cambia primero a la carpeta extraída:```text
cd "path/to/extracted/DakshSCRA-folder"

Reemplace la ruta de ejemplo con su ubicación de descarga y nombre de carpeta reales. Si en su lugar clonó el repositorio, ejecute cd DakshSCRA desde su carpeta principal.

El asistente de inicio reconoce Windows, WSL, Linux y macOS, luego monta la raíz del host, las unidades de Windows disponibles y las carpetas comunes en modo de solo lectura antes de iniciar los contenedores. Ejecútelo en el equipo que ejecuta Docker.

Linux, macOS o WSL (primer plano):```bash python3 tools/start_webui.py

Windows PowerShell o Símbolo del sistema (primer plano):```powershell
py tools/start_webui.py

Añade --detach para el modo en segundo plano, o --dry-run para inspeccionar las rutas detectadas. Las anulaciones de rutas existentes en .env se respetan. Las cuentas, los escaneos y el volumen de tiempo de ejecución se conservan cuando se recrean los contenedores.

Docker Desktop puede requerir permiso para compartir las rutas de host seleccionadas. Si rechaza un montaje, permite esa ubicación en Docker Desktop y vuelve a ejecutar el asistente. Un navegador remoto ve las carpetas del host de Docker, no las unidades de su propio equipo. La detección automática requiere un motor de Docker local; ejecuta el asistente en el host del motor cuando uses un contexto de Docker remoto.

Para montajes configurados manualmente, docker compose up --build -d api web sigue estando disponible. Su configuración base monta el repositorio en /scan-targets y ${DAKSH_HOST_MOUNT:-/} en /host/root. Usa el asistente para el descubrimiento de unidades de Windows y los accesos directos a carpetas comunes; Compose simple no puede detectar el SO del cliente.

Luego abre http://localhost:8080.

Para usar un puerto diferente:```bash DAKSH_PORT=9090 python3 tools/start_webui.py

Detén el stack con:```bash
docker compose down

Inicio de sesión

La interfaz web requiere una cuenta. En el primer arranque, se crea una cuenta de administrador inicial a partir de DAKSH_ADMIN_USERNAME / DAKSH_ADMIN_PASSWORD (configúralas en .env); si DAKSH_ADMIN_PASSWORD se deja sin establecer, se genera una contraseña aleatoria y se imprime una sola vez en el registro de inicio de la API; guárdala, ya que no se puede recuperar después.

Se te pedirá que establezcas tu propia contraseña (y, opcionalmente, tu nombre de usuario) la primera vez que inicies sesión. Una cuenta de administrador puede crear más cuentas a través del endpoint de la API POST /api/v1/auth/users (todavía no hay una interfaz dedicada para esto). Consulta .env.example para ver la lista completa de ajustes relacionados con la autenticación (duración de la sesión, seguridad de las cookies, CORS).

Lo que obtienes

Categorías