HIllya51 / LunaTranslator

Galgame翻译器,支持HOOK、OCR、剪贴板等。Visual Novel Translator , support HOOK / OCR / clipboard
http://docs.lunatranslator.org/
GNU General Public License v3.0
4.55k stars 230 forks source link

[安全] 加密函数中使用密钥作为IV的潜在不安全问题 #841

Closed kexinoh closed 3 months ago

kexinoh commented 3 months ago

Version 程序版本

any

bug's screenshot 错误截图

no

Reproduction steps 复现步骤

描述

我在LunaTranslator项目中发现了一个潜在的安全问题。在文件的208行的加密函数似乎使用了静态密钥(iv=key)作为加密过程的初始化向量(IV)。这种做法可能导致安全漏洞,因为使用静态或可预测的IV可能会削弱加密的安全性。

重现步骤

转到volcengine.py文件。-->volcengine.py 检查208行的加密函数。 观察使用key作为IV。

预期行为

加密函数应该为每次加密操作使用一个独特且不可预测的IV,以确保加密数据的安全性。

实际行为

加密函数使用了静态密钥作为IV,这可能被利用来潜在地破坏加密。包括重放攻击,消息可能的猜测等等。

建议的解决方案

我建议为每次加密操作生成一个新的、随机的IV,并确保在必要时将其与加密数据一起传输。这将符合安全加密的最佳实践。

附加信息

加密函数位于:volcengine.py

HIllya51 commented 3 months ago

首先,这个函数压根就不会被调用