
Инструментарий deepfake в реальном времени для тестирования на проникновение систем проверки личности и видеоконференций. Поддерживает замену лиц, анимацию изображений и инъекцию виртуальной камеры для операций red team.
dot (также известный как Deepfake Offensive Toolkit) позволяет создавать управляемые дипфейки в реальном времени и внедрять их в виртуальные камеры. dot создан для проведения пентестов систем, например, проверки личности и видеоконференций, и предназначен для аналитиков безопасности, участников Red Team и исследователей биометрии.
Если вы хотите узнать больше о том, как dot используется для пентестов с дипфейками в индустрии, прочитайте эти статьи от The Verge и Biometric Update.
dot разработан для исследовательских и демонстрационных целей. Как конечный пользователь, вы несёте ответственность за соблюдение всех применимых законов при использовании этой программы. Авторы и разработчики не несут ответственности за любое неправильное использование или ущерб, причинённый использованием этой программы.
В двух словах dot работает так:
flowchart LR;
A(ваш видеопоток с веб-камеры) --> B(набор дипфейков в реальном времени);
B(набор дипфейков в реальном времени) --> C(внедрение в виртуальную камеру);
Все дипфейки, поддерживаемые dot, не требуют дополнительного обучения. Их можно использовать в реальном времени на лету на фотографии, которая становится целью подмены лица. Поддерживаемые методы:
224 и 512
256 и 512Скачайте и запустите исполняемый файл dot для вашей ОС:
Windows (протестировано на Windows 10 и 11):
dot.zip отсюда, распакуйте и запустите dot.exeUbuntu:
Mac (протестировано на Apple M2 Sonoma 14.0):
dot-m2.zip отсюда и распакуйтеxattr -cr dot-executable.app, чтобы удалить расширенные атрибутыShow Package Contentsdot-executable из папки Contents/MacOSПример использования:
source.target. В большинстве случаев правильный идентификатор — 0.config_file. Выберите конфигурацию по умолчанию из выпадающего списка или используйте собственный файл.use_gpu, чтобы использовать GPU.RUN, чтобы запустить дипфейк.Для получения дополнительной информации о каждом поле нажмите меню Help/Usage.
Посмотрите следующее демонстрационное видео для лучшего понимания интерфейса:
Linux
sudo apt install ffmpeg cmake
MacOS
brew install ffmpeg cmake
Windows
Инструкции предполагают, что на вашем компьютере установлен Miniconda. Если нет, обратитесь к этой ссылке для установки.
conda env create -f envs/environment-gpu.yaml
conda activate dot
Установите зависимости torch и torchvision в зависимости от версии CUDA, установленной на вашем компьютере:
Установите CUDA 11.8 по ссылке
Установите cudatoolkit через conda: conda install cudatoolkit=<cuda_version_no> (замените <cuda_version_no> на версию на вашем компьютере)
Установите зависимости torch и 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, где <cuda_tag> — это тег CUDA, определённый PyTorch. Например, pip install torch==2.0.1+cu118 torchvision==0.15.2+cu118 torchaudio==2.0.2 --index-url https://download.pytorch.org/whl/cu118 для CUDA 11.8.
Примечание: также можно использовать torch1.9.0+cu111.
Чтобы проверить, что torch и torchvision установлены правильно, выполните команду: python -c "import torch; print(torch.cuda.is_available())". Если вывод True, зависимости установлены с поддержкой CUDA.
conda env create -f envs/environment-apple-m2.yaml
conda activate dot
Чтобы проверить, что torch и torchvision установлены правильно, выполните команду: python -c "import torch; print(torch.backends.mps.is_available())". Если вывод True, зависимости установлены с поддержкой фреймворка Metal.
conda env create -f envs/environment-cpu.yaml
conda activate dot
pip install -e .
Выполните dot --help, чтобы получить полный список доступных опций.
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
Примечание: Чтобы включить суперразрешение лица, используйте флаг --gpen_type gpen_256 или --gpen_type gpen_512. Для использования dot на CPU (не рекомендуется) не передавайте флаг --use_gpu.
Отказ от ответственности: Для следующей демонстрации используется техника
SimSwap