分享一个实验性的 DAG 流程审计 Skill 目前项目的内容只是为了展示架构的使用所以比较简单一共 5 个 nodeenv_setup根据开发框架下载依赖库完成编译project_parsing根据编译内容以及合约代码对项目的函数调用与业务流程进行解析与总结business_flow_analysis分析合约项目在业务流程层面的安全问题fund_flow_analysis分析合约在资金层面的安全问题summary_output问题去重确认输出漏洞报告其中 3 和 4 是并行执行的。每个节点首先都需要在 workflow.dag.yaml 文件中进行登记(max_parallel_nodes 为最大并行数量)version: 1name: solidity_auditruntime:max_parallel_nodes: 2nodes:id: env_setupmodule: nodes/env_setupid: project_parsingmodule: nodes/project_parsingid: fund_flow_analysismodule: nodes/fund_flow_analysisid: business_flow_analysismodule: nodes/business_flow_analysisid: summary_outputmodule: nodes/summary_output为了避免 context 占用过高每个 node 都采用 sub-agent 的形式进行调用调用结果通过输出文件进行返回。所以每个节点之间的关系在 DAG 中对应 edge 的概念根据是节点间的输入输出文档进行关联比如Node1 的输出文档为 node1-output.mdNode2 的输入文档也是 node1-output.md那么就认为存在一条 Node1 -- Node2 的边。每个节点的输入输出文档定义在节点目录下的 node.yaml 文件中实现比如上游节点 project_parsing 的输出内容定义为outputs:- name: project_overviewpath: project_overview.mdformat: markdowndescription: High-level project summary, contract roles, and business flow- name: call_graph path: call_graph.yaml format: yaml description: Compressed call graph per ast_compress_template.yaml - name: business_flows path: business_flows.yaml format: yaml description: Structured function call chains for each business flow而它的下游节点 business_flow_analysis 的输入定义刚好为上游节点的输出。artifacts:output_dir: ./acai-dag-auditor/artifacts/business_flow_analysis/inputs:- name: project_overviewsource: upstream:project_parsingpath: project_overview.mdrequired: truedescription: Project architecture, contract roles, and business flow- name: business_flows source: upstream:project_parsing path: business_flows.yaml required: true description: Structured function call chains for each business flow - name: call_graph source: upstream:project_parsing path: call_graph.yaml required: true description: Compressed call graph with function call edges and risk annotations当上游节点执行完毕且目录中所输出的文件满足了下游节点的输入文件要求时Agent 将会启动 sub-agent 执行下游节点的任务。整个项目最核心的内容就介绍完了接下你就可以根据你自己的需求设计和添加各种节点搭建你自己的审计流程。后记因为这个项目是先有一个想法然后根据这个想法来实现的一个 demo。可能想法并不成熟实现过程中也有很多没考虑到的地方。就当是一个积聚内心想法的分享也非常希望大家能够交流一下看法毕竟现在很难找到一个交流的平台和社区长时间的闭门造车最终也只能是在不断的自我否定中止步不前。尤其是现在 AI 时代分享自己的想法变得

相关新闻

最新新闻

Linux 官网下载速度龟速?阿里云镜像站高速获取 Ubuntu/CentOS 系统镜像

Linux 官网下载速度龟速?阿里云镜像站高速获取 Ubuntu/CentOS 系统镜像

很多使用联想小新笔记本做开发、运维学习的朋友,想要搭建虚拟机、本地服务器,需要下载 Ubuntu、CentOS、Deepin 等 Linux 系统镜像,但直接访问海外官方源下载时,常常遇到下载速度几十 KB/s、链接中断、文件损坏等问题。不少人四处…

2026/7/22 10:22:24
MibSPI DMA通道寄存器配置详解与实战避坑指南

MibSPI DMA通道寄存器配置详解与实战避坑指南

1. MibSPI DMA通道控制与寄存器配置详解在嵌入式系统,尤其是汽车电子和工业控制这类对实时性和可靠性要求极高的领域,SPI(串行外设接口)总线承担着大量传感器数据采集、执行器控制命令下发等关键任务。当数据吞吐量增大&#xff0…

2026/7/22 10:22:24
Windows 更新后提示 PIN 不可用,卡在登录界面进不去系统?官方修复流程

Windows 更新后提示 PIN 不可用,卡在登录界面进不去系统?官方修复流程

很多联想小新、ThinkPad、台式机用户在 Windows 自动更新补丁、系统大版本升级后,重启电脑直接卡在登录界面,屏幕弹出提示「出现问题,你的 PIN 不可用」,只能看到 “设置我的 PIN” 按钮,原本的数字 PIN 完全失效无法登…

2026/7/22 10:22:24
企业财务数字化转型用什么系统?2026年主流平台深度对比

企业财务数字化转型用什么系统?2026年主流平台深度对比

当财务部门成为数据中枢,系统选型决定未来三年聊财务数字化转型,很多人的第一反应就是"上系统"。但上什么系统、怎么上、先上哪个模块,这些问题远比买一套软件复杂得多。一家年营收20亿的制造企业CFO跟我聊过一件事:他们…

2026/7/22 10:22:24
天然产物靶点发现技术:HuProt™ 20K人类蛋白组芯片的应用优势

天然产物靶点发现技术:HuProt™ 20K人类蛋白组芯片的应用优势

a天然产物因其结构多样性和广泛的药理活性,一直是新药研发的重要宝库。然而,“活性明确、机制不明”常成为制约其深入研究的瓶颈。在面对海量蛋白质时,天然产物单体如何锁定靶点成为科研人员亟需解决的挑战。HuProt™ 20K人类蛋白组芯片&…

2026/7/22 10:22:24
遗憾真的是智能车竞赛主旋律吧

遗憾真的是智能车竞赛主旋律吧

01 【遗憾的魅力】 卓大您好!我们是华南赛区深圳职业技术大学飞檐走壁组。 首先我们承认比赛存在些许不足, 但整车结构、PCB硬件、控制软件均为团队独立从零研发。 我们车模自重仅98g(极限可达95g), 自主迭代十几代结构…

2026/7/22 10:17:24

月新闻