Deepfake Offensive Toolkit (dot) - Le Bottin des Jeux Linux

Deepfake Offensive Toolkit (dot)

🗃️ Specifications

📰 Title: Deepfake Offensive Toolkit (dot) 🕹️ / 🛠️ Type: Tool
🗃️ Genre: Tool 🚦 Status: 08. Active & Not working (no status)
🏷️ Category: Tool ➤ Input devices ➤ Webcam ➤ Misc. 🌍️ Browser version:
🔖 Tags: Tool; Webcam; Record & Effects 📦️ Package Name:
🐣️ Approx. start: 2022-05-29 📦️ Arch package:
🐓️ Latest: 2022-12-27 📦️ RPM package:
📍️ Version: Latest: 1.1.0 / Dev: ede324e 📦️ Deb package:
🏛️ License type: 🕊️ Libre 📦️ Flatpak package:
🏛️ License: BSD 3-Clause 📦️ AppImage package:
🏝️ Perspective: First person (interface) 📦️ Snap package:
👁️ Visual: 2D ⚙️ Generic binary:
⏱️ Pacing: Real Time 📄️ Source: ✓
👫️ Played: Single 📱️ PDA support:
🎖️ This record: 5 stars 🕳️ Not used:
🎀️ Game design: 👫️ Contrib.: goupildb
🎰️ ID: 16328 🐛️ Created: 2023-06-18
🐜️ Updated: 2023-07-08

📖️ Summary

[en]: A libre, multi-platform tool that behaves like a virtual camera, replacing the user's face with one taken from a photography. It has been designed for research and demonstration purposes, to carry out penetration tests against, for example, identity verification and video-conferencing systems, for use by security analysts, Red Team members and biometrics researchers. It can be used in real time on a photo, enabling face swapping at 224 and 512 resolutions. The tool creates a virtual camera that can be used in OBS Studio, for example, replacing the user's face with the selected digital model. With a 6-core AMD Ryzen 5 2600 and an NVIDIA GeForce RTX 2070 card, the author achieves framerates of between 7 FPS and 31 FPS. [fr]: Un outil libre et multi-plateforme qui se comporte comme une caméra virtuelle, remplaçant le visage de l'utilisateur par celui issu d'une photographie. Il a été conçu à des fins de recherche et de démonstration, pour effectuer des tests de pénétration contre, par exemple, des systèmes de vérification d'identité et de vidéo-conférence, à l'usage des analystes de sécurité, des membres Red Team et des chercheurs en biométrie. Il peut être utilisé en temps réel sur une photo, permettant l'échange de visage aux résolutions 224 et 512. L'outil créé une caméra virtuelle utilisable sous OBS Studio par exemple, remplaçant le visage de l'utilisateur par le modèle numérique sélectionné. Avec un AMD Ryzen 5 2600 6 coeurs et une carte NVIDIA GeForce RTX 2070 l'auteur obtient un framerate compris entre 7 FPS et 31 FPS.

🚦 Entry status

💡 Lights on: 🦺️ Work in progress:
📰 What's new?: 💥️ New 💥️ New version published (to be updated):
🎨️ Significant improvement: 🚧️ Some work remains to be done:
🕳️ Not used2: 👔️ Already shown:

🎥️ Videos



🦉️From Devs: (202110),


🕸️ Links

🏡️ Website & videos
[Homepage] [Dev site] [Features/About] [Screenshots] [Videos t(202xxx) gd(202110) gd(202110) gu(202xxx) r(202xxx) lp(202xxx) ht(202xxx) ht[fr](202xxx) ht[de](202xxx) ht[ru](202xxx) ht[pl](202xxx) ht[cz](202xxx) ht[sp](202xxx) ht[pt](202xxx) ht[it](202xxx) ht[tr](202xxx)] [WIKI] [FAQ] [RSS] [Changelog 1 2 3]

💰 Commercial: (empty)

🍩️ Resources
● Similar projects:
• DeepFaceLive (Real-time face swap for PC streaming or video calls, GPL-3): gu(202109) ht(202111) ht(202007) d(202209) [Homepage] [Dev site] [Dev site (Build Linux)]
• Roop (Take a video and replace the face in it with a face of your choice, AGPL-3): gu(202305) [Homepage] [Dev site]

🛠️ Technical informations
[Open Hub] [PCGamingWiki] [MobyGames]

🐘 Social
Devs (Sensity 1 2 [fr] [en]): [Site 1 2] [Chat] [mastodon] [PeerTube] [YouTube] [PressKit] [Interview 1(202xxx) 2(202xxx)]
The Project: [Blog] [Chat] [Forums] [mastodon] [PeerTube] [YouTube] [PressKit] [reddit] [Discord]

🐝️ Related
[The Verge] [Biometric Update] [Developpez.com [fr]] [ladn.eu [fr]]

📦️ Misc. repositories
[Repology] [pkgs.org] [Arch Linux / AUR] [openSUSE] [Debian/Ubuntu] [Flatpak] [AppImage (author's repo)] [Snap] [PortableLinuxGames]

🕵️ Reviews
[HowLongToBeat] [metacritic] [OpenCritic] [iGDB]

🕊️ Source of this Entry: [YouTube (202110)]

🐘 Social Networking Update (on mastodon)

🛠️ Title: Deepfake Offensive Toolkit (dot)
🦊️ What's: A libre & multi-platform tool that acts like a virtual camera, replacing the user's face with one taken from a photograph
🏡️ -
🐣️ https://github.com/sensity-ai/dot
🔖 #LinuxTool #Video #VideoEffects
📦️ #Libre
📖 Our entry: http://www.lebottindesjeuxlinux.tuxfamily.org/en/online/lights-on/

🥁️ Update: 1.1.0
⚗️ Code improvement 🚀️
📌️ Changes: https://github.com/sensity-ai/dot/releases
🐘 From: https://www.youtube.com/embed/SU9K1LsgX7c

🦉️ https://www.youtube.com/embed/SU9K1LsgX7c
🩳️ https://www.youtube.com/embed/rLmxdIHpZtU

🕶️ A demonstration of the utility's possibilities: the user plates an image of the actor Tom Cruise on his face, which he shows from several angles on a video output.

Deepfake Offensive Toolkit (dot) is a libre, multi-platform tool that behaves like a virtual camera, replacing the user's face with one taken from a photography. It has been designed for research and demonstration purposes, to carry out penetration tests against, for example, identity verification and video-conferencing systems, for use by security analysts, Red Team members and biometrics researchers. It can be used in real time on a photo, enabling face swapping at 224 and 512 resolutions. The tool creates a virtual camera that can be used in OBS Studio, for example, replacing the user's face with the selected digital model. With a 6-core AMD Ryzen 5 2600 and an NVIDIA GeForce RTX 2070 card, the author achieves framerates of between 7 FPS and 31 FPS.

📕 Description [en]

📕🐧"A libre & multi-platform tool that acts like a virtual camera, replacing the user's face with one taken from a photograph."🐧📕

dot (aka Deepfake Offensive Toolkit) makes real-time, controllable deepfakes ready for virtual cameras injection. dot is created for performing penetration testing against e.g. identity verification and video conferencing systems, for the use by security analysts, Red Team members, and biometrics researchers.

If you want to learn more about dot is used for penetration tests with deepfakes in the industry, read these articles by The Verge and Biometric Update.

dot is developed for research and demonstration purposes. As an end user, you have the responsibility to obey all applicable laws when using this program. Authors and contributing developers assume no liability and are not responsible for any misuse or damage caused by the use of this program.

All deepfakes supported by dot do not require additional training. They can be used in real-time on the fly on a photo that becomes the target of face impersonation. Supported methods:

☑ face swap (via SimSwap), at resolutions 224 and 512
• with the option of face superresolution (via GPen) at resolutions 256 and 512
☑ lower quality face swap (via OpenCV)
☑ FOMM, First Order Motion Model for image animation

📕 Description [fr]

Un outil libre qui se comporte comme une caméra virtuelle, remplaçant le visage de l'utilisateur par celui issu d'une photographie, par le studio Sensity.
En Python/Cuda.

Deepfake Offensive Toolkit (dot) est un outil libre et multi-plateforme qui se comporte comme une caméra virtuelle, remplaçant le visage de l'utilisateur par celui issu d'une photographie. Il a été conçu à des fins de recherche et de démonstration, pour effectuer des tests de pénétration contre, par exemple, des systèmes de vérification d'identité et de vidéo-conférence, à l'usage des analystes de sécurité, des membres Red Team et des chercheurs en biométrie. Il peut être utilisé en temps réel sur une photo, permettant l'échange de visage aux résolutions 224 et 512. L'outil créé une caméra virtuelle utilisable sous OBS Studio par exemple, remplaçant le visage de l'utilisateur par le modèle numérique sélectionné. Avec un AMD Ryzen 5 2600 6 coeurs et une carte NVIDIA GeForce RTX 2070 l'auteur obtient un framerate compris entre 7 FPS et 31 FPS.


dot (aka Deepfake Offensive Toolkit) produit des deepfakes contrôlables en temps réel, prêts à être injectés dans des caméras virtuelles. dot est créé pour effectuer des tests de pénétration contre, par exemple, des systèmes de vérification d'identité et de vidéo-conférence, à l'usage des analystes de sécurité, des membres de l'équipe rouge et des chercheurs en biométrie.

Si vous voulez en savoir plus sur l'utilisation de dot pour des tests de pénétration avec des deepfakes dans l'industrie, lisez ces articles de The Verge et Biometric Update.

dot est développé à des fins de recherche et de démonstration. En tant qu'utilisateur final, vous avez la responsabilité de respecter toutes les lois applicables lors de l'utilisation de ce programme. Les auteurs et les développeurs contributeurs n'assument aucune responsabilité et ne sont pas responsables de toute mauvaise utilisation ou de tout dommage causé par l'utilisation de ce programme.

Tous les deepfakes pris en charge par dot ne nécessitent pas de formation supplémentaire. Elles peuvent être utilisées en temps réel sur une photo qui devient la cible d'une usurpation d'identité. Méthodes prises en charge :

☑ échange de visage (via SimSwap), aux résolutions 224 et 512
• avec l'option de super-résolution du visage (via GPen) aux résolutions 256 et 512
☑ échange de visages de moindre qualité (via OpenCV)
☑ FOMM, modèle de mouvement de premier ordre pour l'animation d'images

🚧️ Installation [fr]

🔧️ INSTALLATION :

⚙️ Installation à partir du binaire du jeu :
• Pas de binaire classique disponible.


📄️ Installation à partir du source du jeu :
• (✘ v. 1.1.0 / Dev: ede324e) Si vous souhaitez quelque-chose de très récent (versions de développement) et/ou qu'il n'y a pas de binaire disponible pour votre distribution/architecture (32/64-bits), la compilation du source est une bonne idée, voir un passage obligé.

▸ Installation des dépendances (en dépôt) :
• Installez au préalable les paquets suivants : miniconda3 ffmpeg v4l2loopback-utils v4l-utils v4l2loopback-dkms obs-studio

▸ Téléchargement du source (sur GitHub) :
• Si vous souhaitez une version publiée / stable :
- En HTTP : sur la page de développement du site (lien "Dev site" ci-dessus) vous cliquez sur "Clone"
- Ou en console, dans le répertoire de votre choix, lancez :
$ git clone -b "Nom_de_la_release" --recursive https://github.com/sensity-ai/dot
Nom_de_la_release : à remplacer par le nom d'une release valide indiquée sur la page de développement (sur GitHub, dans la section Release, le nom valide est l'étiquette située à gauche du titre, ou cliquez sur "Tags" pour obtenir la liste des étiquettes valides).
• Si vous souhaitez obtenir la version la plus récente (de développement, non stable, potentiellement non fonctionnelle), dans le répertoire de votre choix, lancez :
$ git clone --recursive https://github.com/sensity-ai/dot

▸ Compilation du jeu :
• Dans son répertoire racine lancez successivement :

● Pour le support GPU :
• Lancez les commandes suivantes (le paquet conda installe celui-ci dans /opt/miniconda3/bin/, d'où l'ajout du chemin) :
$ /opt/miniconda3/bin/conda env create -f envs/environment-gpu.yaml
$ /opt/miniconda3/bin/conda activate dot

▸ Compilation :
$ pip install -e .
(n'oubliez pas le ".")

▸ Téléchargement des modèles & décompression :
$ wget https://github.com/sensity-ai/dot/releases/download/1.0.0/dot_model_checkpoints.z01
$ wget https://github.com/sensity-ai/dot/releases/download/1.0.0/dot_model_checkpoints.z02
$ wget https://github.com/sensity-ai/dot/releases/download/1.0.0/dot_model_checkpoints.zip

$ zip -s 0 dot_model_checkpoints.zip --out saved_models.zip && unzip saved_models.zip

(vous n'avez ensuite plus besoin de ces fichiers Zip, vous pouvez les effacer si vous le souhaitez).


🚀️ LANCEMENT DE L'UTILITAIRE :

(non testé)

• En console dans son répertoire racine lancez :

▸ 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

Note: Pour activer le mode face superresolution, ajoutez les paramètres --gpen_type gpen_256 ou --gpen_type gpen_512.

L'exécution de dot via l'une des méthodes ci-dessus génère un Deepfake en temps réel sur le flux vidéo d'entrée à l'aide des images sources du dossier data/.
Lors de l'exécution de dot, une liste d'options de contrôle disponibles apparaît dans la fenêtre du terminal. Vous pouvez passer d'une image source à l'autre et la sélectionner en appuyant sur la touche de contrôle correspondante.

Ouvrez OBS Studio et vérifiez si tools --> v4l2sink existe. Si ce n'est pas le cas, suivez ces instructions :

$ mkdir -p ~/.config/obs-studio/plugins/v4l2sink/bin/64bit/
$ ln -s /usr/lib/obs-plugins/v4l2sink.so ~/.config/obs-studio/plugins/v4l2sink/bin/64bit/

Utilisez la caméra virtuelle avec OBS Studio :
• Ouvrez OBS Studio
• Allez dans tools --> v4l2sink
• Sélectionnez /dev/video2 et YUV420
• Cliquez sur start
• Participez à une réunion et sélectionnez OBS Cam

🔍️ Test [fr]

🕵️ Test (✘ v. 1.1.0 / Dev: ede324e) par goupildb (config. : Manjaro 64-bit) :
Le : 18 Juin 2023
⏱️ Durée du test : 15 minutes.

🎯️ Objectif de ce test : tester son fonctionnement.

📜️ Préambule :
Pour le fun j'ai eu envie de tester son installation mais n'y suis pas parvenu.
Comme l'outil n'est pas commun, j'ai aussi eu envie de vous en partager l'info. Ça reste un outil pour le fun (mais déjà à la portée de l'amateur). N'allez pas croire que vous allez usurper des outils de sécurité - vu la résolution de l'image et son taux de rafraîchissement (7 FPS pour une bête à 6 coeurs et une carte NVIDIA GeForce RTX 2070, vous ne tromperez pas grand monde :)).

🫕️ Installation :
Il requiert l'installation de miniconda3 (en dépôt AUR), l'utilitaire produit s'installe dans /opt/miniconda3/bin/
Je suis bloqué par un plantage à l'installation via la commande : $ /opt/miniconda3/bin/conda env create -f envs/environment-gpu.yaml
(la commande est assez longue et élaborée, elle plante après environ 5-10min)
Il est possible qu'il faille plutôt ajouter le répertoire /opt/miniconda3/bin/ dans le chemin de ~bashrc (ajouter à la suite de PATH=/bin:/sbin:(...):/opt/miniconda3/bin/
J'ai néanmoins tenté un :
$ /opt/miniconda3/bin/conda activate dot
Il a alors ajouté des commandes à la fin du fichier ~bashrc (car je lui ai précisé au lancement que j'utilisais bash) et m'a demandé de redémarrer ma console, ce qui a eu pour effet de rajouter une petite extension avant chaque ligne. Mais ça n'a pas davantage fonctionné. POur revenir en arrière (et supprimer ce truc en plus), il suffit d'éditer le fichier ~bashrc et d'enlever la section à la fin du fichier.


🕹️ Conclusion :
Impression globale : 👎️
Finalement devant la longueur, la complexité, et une confiance mitigée dans ces scripts liés à la sécurité, je me suis dit que ce test pour le fun n'en valait pas la chandelle. J'ai laissé tomber :)
Un utilitaire certainement intéressant, mais trop complexe à installer en l'état (au moins pour moi) - d'autant que personnellement je n'en aurai aucune utilité, si ce n'est 5 min pour m'amuser à prendre moi-aussi la tête de mes stars préférées - ou pourquoi pas celle de Shrek. Mais le temps faisant son oeuvre pour moi, nul besoin d'un outil puissant et d'un ordinateur réchauffant la planète : la nature s'en charge sans effort :))
👏️ ❤️ Un grand bravo et merci à ses auteurs !


💡️ Commentaires généraux:
⏱️ Durée du test : encore 30 minutes ;).
En cherchant une vidéo sur Linux, je suis tombé sur 2 projets similaires (voir la section "Resources" ci-dessus) :
• DeepFaceLive (utilise lui aussi Miniconda). J'ai essayé de l'installer (installer mlocate et lancer #updatedb), avec une installation qui semble plus simple, mais pas davantage de succès (le script $ ./start.sh plante sur mon installation).
• Roop : semble encore plus simple à installer via la commande pip qui s'occupe de tout. Mais sur ma distribution Manjaro, pip plante sur "(...) ERROR: Cannot install -r requirements.txt (line 14), -r requirements.txt (line 4), -r requirements.txt (line 5), -r requirements.txt (line 6) and numpy==1.23.5 because these package versions have conflicting dependencies.

The conflict is caused by:
The user requested numpy==1.23.5
(...)"

Je pense que ces projets sont intéressants, mais (me semblent parfois un peu intrusifs et) nécessitent un binaire (AppImage ou Flatpak) car trop complexes à installer pour un novice.
C'est un signe qui ne trompe pas : l'intérêt des utilisateurs pour s'amuser avec ces outils et les projets qui fleurissent.
D'une manière générale, la vidéo rejoint la photo pour ses retouches de plus en plus faciles.
Et moi j'aurai une fois de plus massacré une bonne partie de mon Dimanche dans des trucs qui n'aurons pas fonctionnés :)).