首先说结论,市场上说gpt审计代码的,都是非工业级别的代码,都是靶场!!吹逼的!!!gpt4 56 能做到还差不多,但是可以做到挖出接口,挖到参数,简单的查询之类的没问题
之前博客里发的文章都是很简单的说明了下
今天写一个比较详细的文档来讲讲如何使用gpt进行代码审计以及gpt审计的原理
其中我们会用到gpt_index(现在改名为llama_index,你自己github搜下就行)
基础的翻墙问题就不讲了,因为我觉得这个是作为一个基础的,最基本的安全工程师应该做到的事情,比如HK的IP会被openai 封禁之类的也属于基本的生活常识(HK 1997年回归的)。
首先你需要一个openai的apikey,可以使用gpt3.5模型以下的apikey,gpt4的key还没放出来,但是你可以参加官方的eval测评来获得一个key。
那么我们如何对自定义数据进行问题查询呢?
行业一般有2个方法
-
Embedding。即通过相似度的向量来查询这个问题的答案,这个适用于语言场景多点,个人感觉对结果准确性或者是逻辑性不高的
-
Fine tuning。这个是基于开源的模型进行微调,让它适应某个领域,比如代码审计之类的。这个需要自己去买个GPU服务器来自己调整,成本还是有点高的,这个准确率其实也不高哈哈哈哈哈,目前只有gpt4还不错,其他都是垃圾
我们先来说embedding
这个llama_index库的原理是用了向量进行chain起来的原理,大概过程就是先调用gpt的embedding模型对你要的数据进行embedding,它返回一个向量数据库,然后你存储好这个最大的集合的数据库,然后你再把用户的问题打成向量,用这个问题向量去大集合里查询,向量会找到一个最近的最相似的问题结果返回。但是这个有一个问题,就是在传输到gpt的时候,多次数据有一个trunk,这个trunk如果很小,会导致向量查询的结果有偏差,当然是在特定情况下,如果只是一般性对文章的总结的话没啥太大影响。
然后创建一个项目来引入llama_index
原文始发于微信公众号(xsser的博客):使用gpt进行代码审计和创建小型知识库的详细教程(手把手)
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论