LangChainAI代码审计Agent初用心得"

admin 2026-10-22 11:22:56 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

cover_image

LangChain AI代码审计Agent 初用心得

d2550自留地

2026年5月25日 09:37
江苏

在小说阅读器读本章

去阅读

以下文章来源于ap0s
,作者ap0s

ap0s
.

安全小白

LangChain AI代码审计Agent 初用心得

本人使用的优缺点总结

优点

  1. 封装prompt、llm,Parser 调用确实方便
  2. 工具集成,如一个@tool就可以封装成一个agent的方法
  3. 链式调用
  4. 对RAG处理以及向量数据库处理比较方便

缺点:

  1. 受服务提供商的限制,如官方GLM暂未集成

框架

设计思想是通过对审计的重点使用@tool进行封装,让agent知道自己要干哪些事情,然后进行补充,这里写死比较局限,得喂一些rag

\"\"\"
PHP Ssrf 检测工具
\"\"\"
from langchain_core.tools import tool
from typing import List, Dict, Any
import re

@tool
def detect_php_ssrf(code: str) -> List[Dict[str, Any]]:
    \"\"\"检测 PHP SSRF (服务端请求伪造) 漏洞\"\"\"
    import re
    vulnerabilities = []
    \"\"\"例如\"\"\"
    patterns = {
        \"file_get_contents\": {
            \"pattern\": r'file_get_contents\\s*\\([^)]*\\$_(GET|POST|REQUEST)',
            \"severity\": \"HIGH\",
            \"description\": \"file_get_contents 使用用户输入,可能 SSRF\"
        },
        \"curl_setopt URL\": {
            \"pattern\": r'curl_setopt.*CURLOPT_URL.*\\$_(GET|POST|REQUEST)',
            \"severity\": \"HIGH\",
            \"description\": \"cURL 请求 URL 由用户控制\"
        },
        \"fopen用户输入\": {
            \"pattern\": r'fopen\\s*\\([^)]*\\$_(GET|POST|REQUEST)',
            \"severity\": \"MEDIUM\",
            \"description\": \"fopen 打开用户指定的 URL\"
        },
    }

    lines = code.splitlines()
    for i, line in enumerate(lines, 1):
        for vuln_type, info in patterns.items():
            if re.search(info[\"pattern\"], line, re.IGNORECASE):
                vulnerabilities.append({
                    \"type\": f\"PHP SSRF - {vuln_type}\",
                    \"line\": i,
                    \"code\": line.strip(),
                    \"description\": info[\"description\"],
                    \"severity\": info[\"severity\"]
                })

    return vulnerabilities

使用漏洞分析+污点检测的,判断此处是否用户可控

## 详细发现

### 1. SSRF (服务端请求伪造) - CRITICAL

**位置**: webhook/model.php 第 580-620 行,misc/model.php 第 200-250 行
**检测方式**: detect_php_ssrf + LLM 分析
**污点验证**: is_tainted=True, confidence=HIGH

审计结果

目前看来,确实能够审计出来一些有用或者可以水cve的洞,对于组合漏洞的挖掘效果不是很尽如人意

关于ai幻觉

让每次ai干活的时候,让读取一个类似于:《用户使用协议》的东西进行排除,但是不能完全排除

消耗

因为不集成GLM,所以我这里使用的QWEN3.5-PLUS,简单审计100w token就消耗完了,LangChain这种工具的开发还是得使用本地模型进行调试

TODO

  1. 添加LLM漏洞验证模块
  2. 添加国标+实际漏洞的RAG
  3. 添加任务模块让工具自行pull干活

LangChainAI代码审计Agent初用心得" 网络安全文章

LangChainAI代码审计Agent初用心得"

本文分享使用LangChain框架构建AI代码审计代理的实践经验,重点介绍其工具集成、链式调用和RAG处理等优点,同时指出依赖服务商、高资源消耗和AI幻觉等局限性。作者通过PHPSSRF检测工具示例展示漏洞发现过程,并提出添加验证模块、国标RAG和任务自动化等改进方向。
船舶及系统网络弹性指导意见(2024年版)" 网络安全文章

船舶及系统网络弹性指导意见(2024年版)"

该文档为船舶及系统网络弹性指导意见(2024年版)的推广页面,主要功能是引导读者关注微信公众号并通过发送特定代码获取PDF下载链接。页面包含大量图片占位符和社群招募信息(汽车网络信息安全、测试评价等技术交流群),但未展示具体技术内容。文档似乎涉及国际船级社协会(IACS)和美国船级社(ABS)对船载系统的网络韧性要求,但核心指导意见内容需通过外部链接获取。
现在这情况,我劝大家提前做好准备。。" 网络安全文章

现在这情况,我劝大家提前做好准备。。"

该文档为一篇AI算法工程师培训课程的推广软文,核心内容是宣传一套由大厂技术专家研发的保薪就业课程,承诺结业后若未获得28万年薪offer则全额退款。文章强调课程覆盖Python基础、深度学习、大模型及多模态技术,并通过企业级项目实训和内推资源保障就业,列举了多个学员成功案例以证明课程效果。
0166.从失败到获得32,000美元:我的漏洞赏金之旅" 网络安全文章

0166.从失败到获得32,000美元:我的漏洞赏金之旅"

本文是作者关于漏洞赏金之旅的经验分享,讲述了从零基础起步,历经两年失败后首次获得500美元奖励,再到最终年收入突破3.2万美元的成长历程。核心经验包括专注于访问控制等特定领域、持之以恒地学习与实践,并分享了一个GitLab的IDOR(不安全的直接对象引用)漏洞案例及其利用步骤。文章强调,漏洞赏金是一场需要耐心和持续努力的马拉松。
评论:0   参与:  0