
Kit de herramientas deepfake en tiempo real para pruebas de penetración de sistemas de verificación de identidad y videoconferencias. Admite intercambio de rostros, animación de imágenes e inyección de cámara virtual para operaciones de equipo rojo.
dot (también conocido como Deepfake Offensive Toolkit) permite crear deepfakes en tiempo real y controlables, listos para ser inyectados en cámaras virtuales. dot fue creado para realizar pruebas de penetración contra sistemas como verificación de identidad y videoconferencias, para uso de analistas de seguridad, miembros de equipos Red e investigadores en biometría.
Si quieres saber más sobre cómo se usa dot en pruebas de penetración con deepfakes en la industria, lee estos artículos de The Verge y Biometric Update.
dot se desarrolla con fines de investigación y demostración. Como usuario final, tienes la responsabilidad de cumplir con todas las leyes aplicables al usar este programa. Los autores y desarrolladores colaboradores no asumen ninguna responsabilidad ni se hacen responsables de cualquier uso indebido o daño causado por el uso de este programa.
En pocas palabras, dot funciona así:
flowchart LR;
A(tu feed de cámara web) --> B(conjunto de deepfakes en tiempo real);
B(conjunto de deepfakes en tiempo real) --> C(inyección en cámara virtual);
Todos los deepfakes compatibles con dot no requieren entrenamiento adicional. Se pueden usar en tiempo real, sobre la marcha, sobre una foto que se convierte en el objetivo de la suplantación facial. Métodos compatibles:
224 y 512
256 y 512Descarga y ejecuta el ejecutable de dot para tu sistema operativo:
Windows (probado en Windows 10 y 11):
dot.zip desde aquí, descomprímelo y luego ejecuta dot.exeUbuntu:
Mac (probado en Apple M2 Sonoma 14.0):
dot-m2.zip desde aquí y descomprímeloxattr -cr dot-executable.app para eliminar cualquier atributo extendidoShow Package Contentsdot-executable desde la carpeta Contents/MacOSEjemplo de uso:
source.target. En la mayoría de los casos, 0 es el ID correcto.config_file. Selecciona una configuración predeterminada de la lista desplegable o usa un archivo personalizado.use_gpu para usar la GPU.RUN para iniciar el deepfake.Para más información sobre cada campo, haz clic en el menú Help/Usage.
Mira el siguiente video de demostración para entender mejor la interfaz:
Linux
sudo apt install ffmpeg cmake
MacOS
brew install ffmpeg cmake
Windows
Las instrucciones asumen que tienes Miniconda instalado en tu máquina. Si no lo tienes, puedes consultar este enlace para las instrucciones de instalación.
conda env create -f envs/environment-gpu.yaml
conda activate dot
Instala las dependencias torch y torchvision según la versión de CUDA instalada en tu máquina:
Instala CUDA 11.8 desde enlace
Instala cudatoolkit desde conda: conda install cudatoolkit=<cuda_version_no> (reemplaza <cuda_version_no> con la versión de tu máquina)
Instala las dependencias torch y torchvision: pip install torch==2.0.1+<cuda_tag> torchvision==0.15.2+<cuda_tag> torchaudio==2.0.2 --index-url https://download.pytorch.org/whl/cu118, donde <cuda_tag> es la etiqueta CUDA definida por PyTorch. Por ejemplo, pip install torch==2.0.1+cu118 torchvision==0.15.2+cu118 torchaudio==2.0.2 --index-url https://download.pytorch.org/whl/cu118 para CUDA 11.8.
Nota: torch1.9.0+cu111 también se puede usar.
Para comprobar que torch y torchvision están instalados correctamente, ejecuta el siguiente comando: python -c "import torch; print(torch.cuda.is_available())". Si la salida es True, las dependencias están instaladas con soporte CUDA.
conda env create -f envs/environment-apple-m2.yaml
conda activate dot
Para comprobar que torch y torchvision están instalados correctamente, ejecuta el siguiente comando: python -c "import torch; print(torch.backends.mps.is_available())". Si la salida es True, las dependencias están instaladas con soporte del framework de programación Metal.
conda env create -f envs/environment-cpu.yaml
conda activate dot
pip install -e .
Ejecuta dot --help para obtener una lista completa de opciones disponibles.
Simswap
dot -c ./configs/simswap.yaml --target 0 --source "./data" --use_gpu
SimSwapHQ
dot -c ./configs/simswaphq.yaml --target 0 --source "./data" --use_gpu
FOMM
dot -c ./configs/fomm.yaml --target 0 --source "./data" --use_gpu
FaceSwap CV2
dot -c ./configs/faceswap_cv2.yaml --target 0 --source "./data" --use_gpu