Skip to content

Security: SRInternet/word-pk-machine

Security

SECURITY.md

安全与隐私说明

数据本地化承诺

Word PK Machine 所有操作 100% 在本地完成,不包含任何网络通信:

  • 不连接任何远程服务器
  • 不发送任何遥测数据
  • 不记录任何使用日志(除控制台调试输出)
  • 不收集任何个人信息

屏幕截图处理

阶段 说明
截图捕获 仅截取用户配置的 ROI 区域(单词 + 4 个选项),不截取全屏
内存处理 截图数据以 NumPy 数组形式存在于内存中,OCR 识别完成后立即丢弃
调试模式 启用「显示识别线框」后,预处理后的图像会保存到 ocr_debug/ 目录(仅首次触发)
磁盘清理 ocr_debug/ 目录不会自动清理,用户可随时手动删除

词典数据库

  • 使用本地 stardict.db(ECDICT 格式 SQLite 数据库)
  • 查询通过 SQLite 本地引擎完成,不走网络
  • 数据库文件由用户自行获取并放置于程序目录

配置文件

config.json 仅存储以下非敏感数据:

{
    "word_region":     { "x": 0, "y": 0, "width": 0, "height": 0 },
    "option_regions":  [ /* 4 个选项区域坐标 */ ],
    "hotkey":          "f1",
    "auto_click":      true,
    "confidence_threshold": 40.0,
    "overlay_duration_ms": 1500,
    "show_ocr_regions_overlay": false
}

不包含任何密码、账号、Token 或个人信息。


自动点击安全性

  • 程序通过 pyautogui 模拟鼠标点击,点击位置仅限用户框选的选项区域
  • 可通过托盘菜单「🔁 切换自动点击」随时关闭自动点击
  • 建议仅在信任的本地测验环境中启用自动点击

所需权限

权限 用途 是否需要管理员
屏幕捕获 (mss) 截取 ROI 区域截图
模拟输入 (pyautogui) 自动点击正确答案
全局热键 (RegisterHotKey) 拦截 F1 等热键注册

本程序无需管理员权限即可运行全部功能。


第三方依赖及其用途

包名 用途 网络行为
mss 屏幕区域截图
PyQt6 GUI 框架(选择器、托盘、覆盖层)
Pillow 图像编解码
numpy 图像数组运算
rapidfuzz 字符串模糊匹配
pyautogui 鼠标自动点击
winsdk Windows 原生 OCR API 调用
paddlepaddle + paddleocr 备用 OCR 引擎(非 Windows 平台) 首次运行下载模型(~50MB)

仅 PaddleOCR 在首次初始化时会从 PaddlePaddle 官方 CDN 下载轻量 OCR 模型文件(一次性),之后完全离线运行。Windows 用户使用 WinOCR 则完全不需要下载模型。


报告安全漏洞

如发现安全相关问题,请通过以下方式联系:

建议使用加密通信。请勿在公开 Issue 中披露敏感漏洞细节。

There aren't any published security advisories