ctokx/mouse-behavioral-biometrics-offline-rl-

GitHub: ctokx/mouse-behavioral-biometrics-offline-rl-

基于MuJoCo物理模拟和离线强化学习的鼠标轨迹合成工具,用于生成能够通过机器人检测的拟人化鼠标运动数据。

Stars: 3 | Forks: 0

![BMDS 演示](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/540462fe4e170715.gif) # BMDS (生物力学鼠标动态合成器) BMDS 生成能够通过机器人检测的合成鼠标轨迹。 它涵盖了 Balabit 遥测数据摄取、轨迹分割、运动学特征提取、MuJoCo 物理模拟、离线 RL 策略训练 (IQL/CQL/BC)、后处理以及针对三个独立机器人检测器的定量评估。 ## 仓库结构 - `bmds/` — 核心包(数据、环境、奖励、训练、工具) - `scripts/` — 评估和可视化脚本 (01–12) - `run_training.py` — 端到端流水线入口点 - `data/` — 原始和处理后的数据集(gitignored) - `models/` — 保存的模型文件(gitignored) - `output/` — 可视化和日志 ## 设置 ``` python -m venv .venv .venv\Scripts\activate pip install -r requirements.txt npm install # for DELBOT bot detector ``` ## 快速开始 完整流程(下载 → 数据集 → 训练 → 评估): ``` python run_training.py ``` 推荐训练方式(IQL,复用现有数据集): ``` python run_training.py --skip-download --skip-dataset-build --algorithm iql --steps 100000 ``` 从训练好的模型生成轨迹: ``` python scripts/06_generate_trajectories.py --start 100 100 --end 800 500 --plot ``` 运行完整的机器人检测严苛测试(DELBOT RNN + GradBoost + One-Class SVM): ``` python scripts/11_multi_detector_gauntlet.py --n-movements 100 --seed 42 ``` 将后处理后的输出可视化为动画 GIF: ``` python scripts/12_visualize_postprocessed.py --n 5 ``` ## 评估脚本 | 脚本 | 用途 | |---|---| | `09_bot_detection_test.py` | 基于特征的 GradBoost + OCSVM 检测器 | | `10_third_party_bot_test.py` | InceptionV3 图像检测器 | | `11_multi_detector_gauntlet.py` | 一次性运行所有三个检测器 | | `12_visualize_postprocessed.py` | 后处理轨迹的动画 GIF | ## 备注 - 主要算法:IQL(在 RTX 4060 上约 2 分钟内达到 8/8 个目标) - 后处理:振荡截断 → 高斯平滑(σ=2.5,3 帧边界固定)→ 侧向拱形 → 端点停顿并带有 0.28px 抖动 - 主要依赖:MuJoCo 3.x, d3rlpy 1.1.x, PyTorch, Gymnasium, scikit-learn, Node.js (DELBOT)
标签:Balabit数据集, CQL, d3rlpy, IQL, MITM代理, MuJoCo物理仿真, Python, 人机交互, 凭据扫描, 反欺诈, 合成数据生成, 强化学习, 持续认证, 无后门, 深度学习, 生物力学, 离线强化学习, 行为动力学, 行为生物识别, 逃逸机器人检测, 逆向工具, 鼠标轨迹模拟