Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
dot — 实时深度伪造工具包,用于身份验证和视频会议系统的渗透测试。支持换脸、图像动画和虚拟摄像头注入,用于红队操作。 | Kitploit
工具/GitHubGitHub/sensity-ai/dot
冒充工具渗透测试社会工程学红队AI 安全对抗性攻击
GitHubsensity-ai/dot

dot

实时深度伪造工具包,用于身份验证和视频会议系统的渗透测试。支持换脸、图像动画和虚拟摄像头注入,用于红队操作。

查看仓库
4.6k4792年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

深度伪造攻击工具包

stars license Python 3.8 build-dot code-check

dot(即深度伪造攻击工具包)可制作实时、可控的深度伪造视频,并用于虚拟摄像头注入。dot 专为安全分析师、红队成员和生物识别研究人员设计,用于对身份验证和视频会议系统等进行渗透测试。

如果你想了解 dot 如何在行业中被用于深度伪造渗透测试,请阅读 The Verge 和 Biometric Update 的相关文章。

dot 是为研究和演示目的而开发的。作为最终用户,你有责任在使用本程序时遵守所有适用法律。作者和贡献开发者不承担任何责任,也不对因使用本程序造成的任何误用或损害负责。

工作原理

简而言之,dot 的工作方式如下:

root@kitploit:~
flowchart LR;
    A(your webcam feed) --> B(suite of realtime deepfakes);
    B(suite of realtime deepfakes) --> C(virtual camera injection);

dot 支持的所有深度伪造方法均无需额外训练。它们可以在运行时实时使用,以一张照片作为人脸冒充的目标。支持的方法:

  • 人脸交换(通过 SimSwap),支持分辨率 224 和 512
    • 可选择人脸超分辨率(通过 GPen),支持分辨率 256 和 512
  • 低质量人脸交换(通过 OpenCV)
  • FOMM,First Order Motion Model 用于图像动画

运行 dot

图形界面

GUI 安装

下载并运行适用于你操作系统的 dot 可执行文件:

  • Windows(已在 Windows 10 和 11 上测试):

    • 从 这里 下载 dot.zip,解压后运行 dot.exe
  • Ubuntu:

    • 待办
  • Mac(已在 Apple M2 Sonoma 14.0 上测试):

    • 从 这里 下载 dot-m2.zip 并解压
    • 打开终端并运行 xattr -cr dot-executable.app 以移除所有扩展属性
    • 如果出现摄像头读取错误:
      • 右键点击并选择“显示包内容”
      • 从 Contents/MacOS 文件夹中执行 dot-executable

GUI 使用方法

使用示例:

  1. 在 source 字段中指定源图像。
  2. 在 target 字段中指定摄像头 ID 号。大多数情况下,0 是正确的摄像头 ID。
  3. 在 config_file 字段中指定配置文件。从下拉列表中选择默认配置,或使用自定义文件。
  4. (可选)勾选 use_gpu 字段以使用 GPU。
  5. 点击 RUN 按钮启动深度伪造。

关于每个字段的更多信息,请点击菜单 Help/Usage。

观看以下演示视频以更好地了解界面:

命令行

CLI 安装

安装前置依赖
  • Linux

    root@kitploit:~
    sudo apt install ffmpeg cmake
    
  • MacOS

    root@kitploit:~
    brew install ffmpeg cmake
    
  • Windows

    1. 从 这里 下载并安装 Visual Studio Community
    2. 在 Visual Studio 安装程序中安装“使用 C++ 的桌面开发”
创建 Conda 环境

以下说明假设你的机器上已安装 Miniconda。如果尚未安装,可参考此 链接 进行安装。

使用 GPU 支持
root@kitploit:~
conda env create -f envs/environment-gpu.yaml
conda activate dot

根据你机器上安装的 CUDA 版本安装 torch 和 torchvision 依赖:

  • 从 链接 安装 CUDA 11.8

  • 从 conda 安装 cudatoolkit: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> 是 PyTorch 定义的 CUDA 标签。例如,对于 CUDA 11.8,使用 pip install torch==2.0.1+cu118 torchvision==0.15.2+cu118 torchaudio==2.0.2 --index-url https://download.pytorch.org/whl/cu118。

    注意:也可以使用 torch1.9.0+cu111。

要检查 torch 和 torchvision 是否正确安装,请运行以下命令:python -c "import torch; print(torch.cuda.is_available())"。如果输出为 True,则依赖已安装并支持 CUDA。

使用 MPS 支持(Apple Silicon)
root@kitploit:~
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 编程框架。

使用 CPU 支持(较慢,不推荐)
root@kitploit:~
conda env create -f envs/environment-cpu.yaml
conda activate dot
安装 dot
root@kitploit:~
pip install -e .
下载模型
  • 从 这里 下载 dot 模型检查点
  • 将下载的文件解压到本项目的根目录

CLI 使用方法

运行 dot --help 可获取所有可用选项的完整列表。

  1. Simswap

    root@kitploit:~
    dot -c ./configs/simswap.yaml --target 0 --source "./data" --use_gpu
    
  2. SimSwapHQ

    root@kitploit:~
    dot -c ./configs/simswaphq.yaml --target 0 --source "./data" --use_gpu
    
  3. FOMM

    root@kitploit:~
    dot -c ./configs/fomm.yaml --target 0 --source "./data" --use_gpu
    
  4. FaceSwap CV2

    root@kitploit:~
    dot -c ./configs/faceswap_cv2.yaml --target 0 --source "./data" --use_gpu
    
    

注意:要启用面部超分辨率,请使用 --gpen_type gpen_256 或 --gpen_type gpen_512 标志。要在 CPU 上使用 dot(不推荐),请不要传递 --use_gpu 标志。

使用 CLI 控制 dot

免责声明:以下演示使用 SimSwap 技术。

通过上述任何一种方法运行 dot 都会使用 data/ 文件夹中的源图像,在输入视频流上生成实时深度伪造。

运行 dot 时,终端窗口会显示可用控制选项列表,如上所示。你可以通过按下相关的控制键来切换和选择不同的源图像。

观看以下演示视频以更好地了解控制选项:

Docker

设置 docker

  • 构建容器

    root@kitploit:~
    docker-compose up --build -d
    
  • 进入容器

    root@kitploit:~
    docker-compose exec dot "/bin/bash"
    

将 docker 连接到摄像头

Ubuntu

  1. 构建容器

    root@kitploit:~
    docker build -t dot -f Dockerfile .
    
  2. 运行容器

    root@kitploit:~
    xhost +
    docker run -ti --gpus all \
    -e NVIDIA_DRIVER_CAPABILITIES=compute,utility \
    -e NVIDIA_VISIBLE_DEVICES=all \
    -e PYTHONUNBUFFERED=1 \
    -e DISPLAY \
    -v .:/dot \
    -v /tmp/.X11-unix:/tmp/.X11-unix:rw \
    --runtime nvidia \
    --entrypoint /bin/bash \
    -p 8080:8080 \
    --device=/dev/video0:/dev/video0 \
    dot
    

Windows

  1. 按照 此处 Windows 下的说明设置摄像头与 docker 的连接。

  2. 构建容器

    root@kitploit:~
    docker build -t dot -f Dockerfile .
    
  3. 运行容器

    root@kitploit:~
    docker run -ti --gpus all \
    -e NVIDIA_DRIVER_CAPABILITIES=compute,utility \
    -e NVIDIA_VISIBLE_DEVICES=all \
    -e PYTHONUNBUFFERED=1 \
    -e DISPLAY=192.168.99.1:0 \
    -v .:/dot \
    --runtime nvidia \
    --entrypoint /bin/bash \
    -p 8080:8080 \
    --device=/dev/video0:/dev/video0 \
    -v /tmp/.X11-unix:/tmp/.X11-unix \
    dot
    

macOS

  1. 按照 此处 的说明设置摄像头与 docker 的连接。

  2. 构建容器

    root@kitploit:~
    docker build -t dot -f Dockerfile .
    
  3. 运行容器

    root@kitploit:~
    docker run -ti --gpus all \
    -e NVIDIA_DRIVER_CAPABILITIES=compute,utility \
    -e NVIDIA_VISIBLE_DEVICES=all \
    -e PYTHONUNBUFFERED=1 \
    -e DISPLAY=$IP:0 \
    -v .:/dot \
    -v /tmp/.X11-unix:/tmp/.X11-unix \
    --runtime nvidia \
    --entrypoint /bin/bash \
    -p 8080:8080 \
    --device=/dev/video0:/dev/video0 \
    dot
    

虚拟摄像头注入

不同操作系统的说明有所不同。

Windows

  • 安装 OBS Studio。

  • 运行 OBS Studio。

  • 在“来源”部分,点击“添加”按钮(“+”号),

    选择“窗口捕获”并点击“确定”。在弹出的窗口中, 从“窗口”下拉菜单中选择“[python.exe]: fomm”,然后点击“确定”。 接着选择“编辑” -> “变换” -> “适配屏幕”。

  • 在 OBS Studio 中,进入“工具” -> “VirtualCam”。勾选“AutoStart”,

    将“Buffered Frames”设置为 0,然后点击“Start”。

  • 现在,OBS-Camera 摄像头应可在 Zoom(或其他视频会议软件)中使用。

Ubuntu

root@kitploit:~
sudo apt update
sudo apt install v4l-utils v4l2loopback-dkms v4l2loopback-utils
sudo modprobe v4l2loopback devices=1 card_label="OBS Cam" exclusive_caps=1
v4l2-ctl --list-devices
sudo add-apt-repository ppa:obsproject/obs-studio
sudo apt install obs-studio

打开 OBS Studio 并检查 工具 --> v4l2sink 是否存在。 如果不存在,请按照以下说明操作:

root@kitploit:~
mkdir -p ~/.config/obs-studio/plugins/v4l2sink/bin/64bit/
ln -s /usr/lib/obs-plugins/v4l2sink.so ~/.config/obs-studio/plugins/v4l2sink/bin/64bit/

使用 OBS Studio 的虚拟摄像头:

  • 打开 OBS Studio
  • 进入 工具 --> v4l2sink
  • 选择 /dev/video2 和 YUV420
  • 点击 start
  • 加入会议并选择 OBS Cam

MacOS

  • 从 这里 下载并安装适用于 MacOS 的 OBS Studio
  • 打开 OBS 并按照首次设置向导操作(你可能需要在“系统偏好设置”中启用某些权限)
  • 使用 --use_cam 标志运行 dot 以启用摄像头画面
  • 在来源部分点击“+”按钮 → 选择“窗口捕获”,创建一个新来源并点击“确定” → 选择名称中包含“python”的窗口,然后点击“确定”
  • 在控制部分点击“启动虚拟摄像头”按钮
  • 在目标注入应用(例如 Zoom)的视频设置中,选择“OBS Cam”作为默认摄像头

在 Android 模拟器中运行 dot

如果你正在对移动应用进行测试,虚拟摄像头注入会更加困难。一种替代方案是使用移动模拟器并仍然依赖虚拟摄像头注入。

  • 运行 dot。更多信息请查看运行 dot。

  • 运行 OBS Studio 并设置虚拟摄像头。更多信息请查看虚拟摄像头注入。

  • 下载并安装 Genymotion。

  • 打开 Genymotion 并设置 Android 模拟器。

  • 将 dot 与 Android 模拟器连接:

    • 打开 Android 模拟器。
    • 点击 camera 并将前后摄像头都选择为 OBS-Camera。此时应出现 dot 窗口的预览。 如果没有预览,请重启 OBS 和模拟器并重试。 如果仍不行,请尝试使用其他虚拟摄像头软件,如 e2eSoft VCam 或 ManyCam。
    • 此时 dot 深度伪造输出应成为模拟器的手机摄像头画面。

速度

使用 GPU

在 AMD Ryzen 5 2600 六核处理器 + 一块 NVIDIA GeForce RTX 2070 上测试

root@kitploit:~
Simswap: FPS 13.0
Simswap + gpen 256: FPS 7.0
SimswapHQ: FPS 11.0
FOMM: FPS 31.0

使用 Apple Silicon

在 Macbook Air M2 2022 16GB 上测试

root@kitploit:~
Simswap: FPS 3.2
Simswap + gpen 256: FPS 1.8
SimswapHQ: FPS 2.7
FOMM: FPS 2.0

许可证

这不是 Sensity 的商业产品,免费分发,不提供任何担保

本软件采用 BSD 3-Clause 许可证发布。 dot 使用了多个开源库。如果你使用 dot,请确保你也同意它们的许可证。具体来说,本代码库构建于以下研究项目之上:

  • https://github.com/AliaksandrSiarohin/first-order-model
  • https://github.com/alievk/avatarify-python
  • https://github.com/neuralchen/SimSwap
  • https://github.com/yangxy/GPEN

贡献

如果你有改进 dot 的想法,欢迎提交相关的 Issue 和 PR。在贡献之前,请阅读 CONTRIBUTING.md。

维护者

  • @ghassen1302
  • @vassilispapadop
  • @giorgiop
  • @AjinkyaIndulkar
  • @kjod

贡献者

在预录制的图像和视频文件上运行 dot

  • 在图像和视频文件上运行 dot,而非摄像头画面

常见问题

  • dot 运行非常慢,无法实时运行

请确保你通过 --use_gpu 标志在 GPU 上运行。不推荐使用 CPU。 如果仍然觉得太慢,可能是因为你运行在旧的 GPU 型号上,且显存小于 8GB。

  • dot 只能用于摄像头画面吗?能否用于预录制的视频?

你可以通过这些脚本在预录制的视频文件上使用 dot,或者直接在 Colab 上尝试。

下载工具