JDBC简介 JDBC(Java Database Connectivity)是 Java 语言中访问数据库的标准 API,它允许我们通过统一的方式连接各种数据库(如 MySQL、PostgreSQL、SQLite、Oracle、H2 等),执行 SQL 查询和更新数据。 核心流程是: 加载数据库驱动 建立数据库连接(Connection) 创建执…
这篇文章受密码保护,输入密码才能阅读
RAG(Retrieval-Augmented Generation,检索增强生成)是一种结合了信息检索和生成式AI的技术框架,常用于问答系统、智能分析、知识驱动对话等应用场景。 传统的大语言模型(LLM)如 ChatGPT,知识固定在训练数据中,一旦训练完成,其知识不能实时更新。RAG 技术通过在推理时引入外部知识库,解决了这一问题。RAG 是一…
这篇文章受密码保护,输入密码才能阅读
环境配置 这里我使用的是教学版,Tai-e的实验作业去github下一份就行了:https://github.com/pascal-lab/Tai-e-assignments,因为Tai-e是用 Gradle 构建的,所以每个作业也符合 Gradle 的基本结构: build.gradle.kts,gradlew,gradlew.bat,gradl…
前言 比起啃代码,感觉还是啃论文舒服点,之前学习了南京大学李樾老师和谭添老师主讲的软件分析课程,对我的帮助很大,这里就来学习一下两位老师的代表作,这篇最初的关于Tai-e的论文。 背景 两位老师这篇论文翻译过来叫做:《利用经典优秀设计的Java开发人员友好型静态分析框架》,从标题也可以看出来,Soot的核心创新点其实就是它是一个开发者友好的静态分析…
前言 CodeQL 是 GitHub(实际上是Github收购的)推出的一种代码分析引擎和查询语言,用于查找软件中的漏洞和安全问题。它的核心理念是将代码表示成一种可以查询的数据库结构,开发者或研究人员可以像查询数据库一样查询代码的结构和行为,简单来说就是一种可以通过编写 QL 制定规则的静态分析工具(SAST)。 我自己也勉强算是搞SAST的,所以…
学习huggingface agents-course的笔记。 智能体简介 什么是智能体(Agent) 从Agent的本身进行定义,Agent指的是一个能够感知环境、做出决策,并采取行动以实现某种目标的自主系统。在AI里对于Agent的定义与其类似,指的是一个能够进行推理、规划和与环境交互的人工智能模型,我们称之为智能体(Agent),因为它具有能…
LangChain 概述 LangChain 是一个用于构建基于大语言模型(LLM)的应用程序的 Python 框架,它的核心目标是让我们能更容易地把 LLM 与数据、工具、记忆等组件连接起来,构建复杂的、可组合的 AI 应用。 大语言模型很强,但原生 API 只支持「问一句 → 回一句」的简单用法,如果我们想实现有记忆的多轮对话、自动调用工具(如…
前言 对于一般工业界的漏扫工具,比如xray,它和爬虫之间其实是解耦的,比如xray是外接了一个rad。xray本身专注于漏洞检测逻辑(Payload 发送 + 响应判断),而不负责目标页面/接口的路径发现(URL 枚举),这项工作是由rad完成的,这是一个xray官方推出的专注于信息搜集的爬虫工具。换句话说,xray 专注做漏洞检测逻辑本身,而不…