
Kit de deepfake em tempo real para testes de penetração em sistemas de verificação de identidade e videoconferência. Suporta troca de rosto, animação de imagem e injeção de câmera virtual para operações de red team.
dot (também conhecido como Deepfake Offensive Toolkit) torna deepfakes em tempo real e controláveis prontos para injeção em câmeras virtuais. dot foi criado para realizar testes de penetração contra, por exemplo, sistemas de verificação de identidade e videoconferência, para uso por analistas de segurança, membros de Red Team e pesquisadores biométricos.
Se você quiser saber mais sobre como o dot é usado para testes de penetração com deepfakes na indústria, leia estes artigos do The Verge e Biometric Update.
dot é desenvolvido para fins de pesquisa e demonstração. Como usuário final, você tem a responsabilidade de obedecer a todas as leis aplicáveis ao usar este programa. Os autores e desenvolvedores contribuintes não assumem nenhuma responsabilidade e não se responsabilizam por qualquer uso indevido ou dano causado pelo uso deste programa.
Em poucas palavras, o dot funciona assim:
flowchart LR;
A(sua transmissão da webcam) --> B(conjunto de deepfakes em tempo real);
B(conjunto de deepfakes em tempo real) --> C(injeção em câmera virtual);
Todos os deepfakes suportados pelo dot não requerem treinamento adicional. Eles podem ser usados em tempo real, na hora, em uma foto que se torna o alvo da personificação facial. Métodos suportados:
224 e 512
256 e 512Baixe e execute o executável do dot para seu sistema operacional:
Windows (Testado no Windows 10 e 11):
dot.zip de aqui, descompacte-o e então execute dot.exeUbuntu:
Mac (Testado no Apple M2 Sonoma 14.0):
dot-m2.zip de aqui e descompacte-oxattr -cr dot-executable.app para remover quaisquer atributos estendidosMostrar Conteúdo do Pacotedot-executable a partir da pasta Contents/MacOSExemplo de uso:
source.target. Na maioria dos casos, 0 é o ID correto da câmera.config_file. Selecione uma configuração padrão na lista suspensa ou use um arquivo personalizado.use_gpu para usar a GPU.RUN para iniciar o deepfake.Para mais informações sobre cada campo, clique no menu Help/Usage.
Assista ao vídeo de demonstração a seguir para entender melhor a interface:
Linux
sudo apt install ffmpeg cmake
MacOS
brew install ffmpeg cmake
Windows
As instruções assumem que você tenha o Miniconda instalado na sua máquina. Caso não tenha, consulte este link para instruções de instalação.
conda env create -f envs/environment-gpu.yaml
conda activate dot
Instale as dependências torch e torchvision com base na versão do CUDA instalada na sua máquina:
Instale o CUDA 11.8 do link
Instale o cudatoolkit pelo conda: conda install cudatoolkit=<cuda_version_no> (substitua <cuda_version_no> pela versão na sua máquina)
Instale as dependências torch e 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, onde <cuda_tag> é a tag CUDA definida pelo PyTorch. Por exemplo, 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 também pode ser usado.
Para verificar se torch e torchvision foram instalados corretamente, execute o seguinte comando: python -c "import torch; print(torch.cuda.is_available())". Se a saída for True, as dependências estão instaladas com suporte a CUDA.
conda env create -f envs/environment-apple-m2.yaml
conda activate dot
Para verificar se torch e torchvision foram instalados corretamente, execute o seguinte comando: python -c "import torch; print(torch.backends.mps.is_available())". Se a saída for True, as dependências estão instaladas com suporte ao framework de programação Metal.
conda env create -f envs/environment-cpu.yaml
conda activate dot
pip install -e .
Execute dot --help para obter uma lista completa das opções disponíveis.
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
Nota: Para ativar a super-resolução facial, use a flag --gpen_type gpen_256 ou --gpen_type gpen_512. Para usar o dot na CPU (não recomendado), não passe a flag --use_gpu.