LangChainAI代码审计Agent初用心得"

admin 2026-10-24 09:31:15 网络安全文章 来源: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和任务自动化等改进方向。
0166.从失败到获得32,000美元:我的漏洞赏金之旅" 网络安全文章

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

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

DeepSeek原生的终端AI编程代理——Reasonix,力求将编程成本打下来"

DeepSeekReasonix是一款基于DeepSeekV4Pro模型的开源AI编程代理框架,通过高缓存架构大幅降低Token消耗成本,可实现比肩ClaudeCode的自动化编程功能。该工具支持智能代理循环、长文本缓存、全流程开发等能力,适合中小开发者进行低成本私有化部署,标志着国产AI正式进入工程化智能代理阶段。
腾讯云智能渗透挑战赛中AIFirst的学习与思考" 网络安全文章

腾讯云智能渗透挑战赛中AIFirst的学习与思考"

本文探讨了腾讯云智能渗透挑战赛中AIFirst理念的应用,重点分析了淚笑师傅提出的CairnAI系统的黑板架构设计。该系统将渗透测试抽象为无限状态空间的有向搜索问题,通过Fact、Intent、Hint三个核心要素实现OODA循环。文章对比了Harness编排与AIFirst的差异,指出黑板架构的可解释性优势,并强调在AI时代理解深度比工具堆砌更重要。
评论:0   参与:  0