我的开源项目:python依赖安全修复助手

我的开源项目:python依赖安全修复助手

项目地址,dep-safe-agent。

项目介绍

dep-safe-agent,是一个python依赖安全修复助手,输入一个本地git仓库,即可完成依赖解析、cve检测、可达性分析、changelog读取、最小化修复、测试验证、最终提pr并生成报告。

项目优势

相比dependabot,我们的agent有以下优势:

  • 分析漏洞函数的可达性从而在无真实调用的情况下不做多余升级;
  • 读取版本变更changelog,分析是否存在破坏性变更,辅以运行项目自带测试套件,避免盲目升级导致项目崩溃;
  • 选用最低修复版本进行升级,避免引入多余变更。

作为agent,它有以下亮点:

  • 每一个失败路径都有降级策略,比如可达性分析在ast失效后会采用subagent探索代码文件,changelog从github获取失败后会采用subagent联网搜索获取信息,修复过程任何失败都会降级为提github issue。
  • 特别的人工审核方式,项目不是human-in-the-loop,而是after,启动agent之后只需在github页面审批pr或issue或阅览安全修复报告即可。
  • 评估完整,按行为类别分类设计包括breaking upgrade、simple bump、multi vulns等,双层指标,一层评估pipeline是否健康,比如完成率、预算耗尽率,另一层评估决策是否正确,比如修复版本是否正确、pr卫生如何、回归测试是否通过等,覆盖所有路径。

项目关键决策

bash降级

项目借鉴了swe-agent的模式但之将其作为降级路径,标准工作流只需调用自定义工具比如check cve、get changelog等,但是允许使用bash应对意外情况,提升容错率,比如使用bash寻找依赖文件等。

批间上下文重置

上下文管理,消息列表在多轮扫描之间就行重置,因为漏洞之间的修复上下文相对独立,重置影响较小且极大降低上下文管理的复杂度。另外,设置了0.85阈值,达到后会对工具结果进行裁剪,并进行结构化摘要,包括当前漏洞元信息、changelog、可达性等信息。

评估流程?

首先介绍一下项目的评估部分,整体上行为分类、两层指标。

以一个失败案例为例介绍流程,multi_vuln类里的flask-pyyaml,系统输入就是扫描漏洞这个指令,预期输出是flask与pyyaml各提一个pr,但是实际输出是只有flask提了一个,分析发现是扫描器一轮扫描5个,多轮扫描并没有生效,原来是提示词写成了单轮扫描的标准工作流,要求agent扫描后直接提交终止,修复方式为更改提示词为单轮扫描后要求继续调用scan扫描直至返回空列表,回归测试后发现仍出现偶发的只扫描单轮,于是将轮转逻辑写成代码,由代码循环负责多轮扫描,回归测试始终成功。

相关推荐
xiaohaiAIgeo13 小时前
【2026年】通风柜自动门安全吗?联锁逻辑与防夹设计
人工智能·安全·科普知识
·云扬·14 小时前
Prompt 工程与安全:从 System 设计到注入防御
java·人工智能·安全·ai·prompt
九卷14 小时前
企业级Agent系统整体技术架构介绍
ai·架构·大模型·llm·agent·智能体
Smoothcloud润云15 小时前
PyTorch大模型权重加载与启动耗时优化实战:定位磁盘、内存与显存瓶颈
人工智能·pytorch·python·深度学习·gpu算力
databook15 小时前
从循环到向量化:NumPy提速的7个关键思维
python·数据分析·numpy
棉猴16 小时前
玩游戏学Python1-Python和pgzero库的安装
python·pygame·玩游戏·pgzero·pgzrun
Csvn16 小时前
提示词即代码:有版本、能评审、可回滚(R01)
人工智能·aigc·agent
诺伦16 小时前
GEO优化数据实证:78%引用流向官网的机制拆解与小品牌三步管线实战教程 | RiseClaw玄策
python·seo·geo·内容营销·ai搜索
oooost16 小时前
pytorch学习笔记1
python·学习方法
QZ1665609515917 小时前
金融数据流转监测排行:从看见到拦截的距离
网络·安全·网络安全·金融