把 openai 或 deepseek 的 api key 写到 GUI 客户端里会被网络抓包软件嗅探到吗? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
iMath
V2EX    问与答

把 openai 或 deepseek 的 api key 写到 GUI 客户端里会被网络抓包软件嗅探到吗?

  •  
  •   iMath 274 天前 870 次点击
    这是一个创建于 274 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如果我把 openai 或 deepseek 的 api key 写到 GUI 客户端里,然后把这个 GUI 客户端软件打包成 exe 软件分发给好多用户,我的 key 不会被用户使用网络抓包软件探测到而泄露呢? 我是为了提高响应速度所以才会这么做的,否则我也知道可以把这部分功能放到我的服务器上面,然后再转接给客户端。 除此之外不知道还有没有别的方法?

    8 条回复    2025-01-14 15:02:30 +08:00
    EgbertW
        1
    EgbertW  
       274 天前
    这样肯定会泄露啊,我自己做类似的事情的笨办法是,搭个服务端,用到 key 的请求全放服务端上,然后自己的服务端跟客户端做一个自己的 api ,做个加密之类的机制防止别人抓包套用,这样套一层
    iMath
        2
    iMath  
    OP
       274 天前
    @EgbertW 奇怪的是我用网络抓包软件没有抓到,不知道是什么原因
    yinmin
        3
    yinmin  
       273 天前 via iPhone
    iMath
        4
    iMath  
    OP
       272 天前
    @yinmin 我参照这里的方法
    https://www.cnblogs.com/yoyoketang/p/16984669.html
    还是没有抓到,只是报错,错误码 V2EX 不准发,请看这里 https://q.cnblogs.com/q/151615
    yinmin
        5
    yinmin  
       272 天前
    @iMath https MITM 抓包是要先将根证书导入到系统里的,你漏了这步。

    防止 MITM 抓包的方法是做证书锁定(SSL Pinning),但是如果别人 crack 你的代码,去掉 SSL Pinning ,还是可以抓包的。

    总之,你把 key 写在代码不安全,别人 crack 你的代码总能获得 key 的。
    iMath
        6
    iMath  
    OP
       272 天前
    @yinmin 我按照博文里的“抓取 https 请求”部分安装了证书了呀
    yinmin
        7
    yinmin  
       271 天前
    你加根证书的姿势不对。你在 python 对应的 Lib\site-packages 的嵌套子目录下找 cacert.pem ,你文本编辑器打开,将新的根证书添加在末尾。(如果还不行,就全盘找 cacert.pem 都加一下)
    iMath
        8
    iMath  
    OP
       271 天前
    @yinmin
    你说这个我搜了一下找到这个粗略的方法
    https://www.redelijkheid.com/blog/2023/8/22/add-ca-certificates-to-python
    说是要转成 base64 ,我用这个代码转了

    ```
    import base64

    # Read the binary content of the .p12 file
    with open('mitmproxy-ca-cert.p12', 'rb') as file:
    binary_cOntent= file.read()

    # Encode the binary content to base64
    base64_encoded_cOntent= base64.b64encode(binary_content).decode('utf-8')

    # Print the base64 encoded content
    print(base64_encoded_content)
    ```
    mitmproxy-ca-cert.p12 在这里 https://drive.google.com/file/d/1Ctuk6G-NSHlOCH30jP_uNhKzw-wRslGB/view?usp=sharing

    然后把 Python312\Lib\site-packages\certifi\cacert.pem 里最后的信息复制了一份,转出来的 base64 信息贴进去,但是肉眼可见格式不一致,实在不会弄了,没进行下去

    ```
    # Issuer: CN=Telekom Security TLS RSA Root 2023 O=Deutsche Telekom Security GmbH
    # Subject: CN=Telekom Security TLS RSA Root 2023 O=Deutsche Telekom Security GmbH
    # Label: "Telekom Security TLS RSA Root 2023"
    # Serial: 44676229530606711399881795178081572759
    # MD5 Fingerprint: bf:5b:eb:54:40:cd:48:71:c4:20:8d:7d:de:0a:42:f2
    # SHA1 Fingerprint: 54:d3:ac:b3:bd:57:56:f6:85:9d:ce:e5:c3:21:e2:d4:ad:83:d0:93
    # SHA256 Fingerprint: ef:c6:5c:ad:bb:59:ad:b6:ef:e8:4d:a2:23:11:b3:56:24:b7:1b:3b:1e:a0:da:8b:66:55:17:4e:c8:97:86:46
    -----BEGIN CERTIFICATE-----
    转出来的 base64 信息贴在了这里,
    -----END CERTIFICATE-----
    ```
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2721 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 91ms UTC 12:10 PVG 20:10 LAX 05:10 JFK 08:10
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86