新闻详情

新闻详情

首页 / 资讯中心 / 详情

Scapy 仓库的 AI Agent 协作指南:从 UTScapy 测试到提交规范的完整实践

发布时间:2026/11/1 5:51:30来源:尧图网络
Scapy 仓库的 AI Agent 协作指南:从 UTScapy 测试到提交规范的完整实践
网络网络安全【免费下载链接】scapyScapy: the Python-based interactive packet manipulation program library.项目地址https://gitcode.com/gh_mirrors/sc/scapy点击查看免费下载AGENTS.md是 Scapy 仓库为 AI Agent以及任何在 checkout 中工作的自动化工具准备的操作手册它并不取代CONTRIBUTING.md而是与之配套的日常执行细则。本文基于该文档并结合仓库内 UTScapy 测试解析器、tox.ini、test/run_tests等源码系统讲解 Agent 在 Scapy 仓库中如何写代码、放代码、写测试、跑检查、处理生成文件与上报安全漏洞帮助读者掌握一套可直接照做的协作工作流。定位AGENTS.md 与 CONTRIBUTING.md 的分工AGENTS.md 开篇即明确自己的角色它是 Scapy 贡献指南在具体 checkout 中的运行伴侣operational companion而非替代品。二者分工如下CONTRIBUTING.md定义编码规范、测试要求、AI 辅助报告与 PR 的提交规则等章程AGENTS.md面向在此仓库中工作的 Agent给出可执行的日常约束——代码放哪里、函数怎么声明、异常怎么处理、测试怎么写、命令怎么跑。对 Agent 而言正确的做法是先遵循 CONTRIBUTING.md 的规范再用 AGENTS.md 的细则逐条执行。仓库中.github/skills/目录下还提供了两个技能文件scapy-packet-fields与scapy-security-audit的 SKILL.md分别用于指导包/字段/绑定/层测试的写法以及安全审计流程属于上述两文档的补充素材。Agent 编码准则从代码风格到异常处理AGENTS.md 为 Agent 写代码设定了四条硬性准则遵循既有模式编辑某个文件时模仿该文件已有的代码模式编辑 layer 时模仿scapy/layers/或scapy/contrib/中相似 layer 的写法。不为简单检查声明函数优先保证代码可读性而不是为了减少重复而过度抽象永远不要声明只被调用一次的函数除非它是公开 API。禁止静默吞掉异常不允许try: ... except Exception: pass或裸except: pass。必须捕获具体异常类型如(AttributeError, OSError)。当异常属于意外情况时用scapy.error.log_runtime.debug(...)或对应模块的子 logger 记录例如 j1939 模块用log_j1939.debug(...)只有当确有必要抑制时才在注释中明确说明原因。WARNING 及以上级别只用于 bug 或意外行为。注意热路径开销在 Scapy 核心代码如 scapy/packet.py中要格外在意 CPU 与内存成本——报文初始化是典型的热路径。第 3 条在源码中有直接佐证scapy/error.py 定义了log_runtime logging.getLogger(scapy.runtime)及其频率过滤器这正是文档建议用于记录意外异常的运行时 loggerlog_scapy则是 Scapy 的顶层 logger默认级别为 WARNING。因此用 debug 记录意外异常、用 warning 标记 bug的分级用法与源码实现完全对应。代码放对位置layers、contrib 与 modules 的边界放对位置是 Scapy 贡献的核心原则之一。AGENTS.md 给出了清晰的判定标准layer 的定义一个 layer 是带fields_desc列表的Packet子类。在 scapy/contrib/automotive/autosar/pdu.py 中可以看到标准形态——PDU与PDUTransport两个Packet子类各自携带fields_desc。scapy/layers/与scapy/contrib/的分工layers/放常见网络中出现的协议contrib/放不常见或特定领域协议。依赖方向是单向的scapy/layers/内的代码不得importscapy/contrib/而 contrib 代码可以 import 任意位置。contrib 模块通过load_contrib()加载而不是默认的 layer 加载器。功能归属与协议相关的功能放在对应协议的模块中其他功能可以放在scapy/modules/或scapy/contrib/。这一约束在测试中也可见load_contrib(automotive.autosar.pdu, globals_dictglobals())见 test/contrib/automotive/autosar/pdu.uts演示了测试里如何显式加载 contrib 层。提交、PR 与安全公告消息的硬性要求对于 Agent 编写的 commit message、PR 描述或安全公告AGENTS.md 要求严格遵守以下规则违规可能直接导致报告被驳回使用完全中性的英语只陈述事实禁止使用最高级/夸大措辞superlatives信息保持极简一两句话说明 bug附上复现问题的代码或 pcap可选地给出修复建议到此为止使用指向所讨论代码行的 github 链接假定读者/维护者已经熟悉大部分代码不要铺陈背景不要谈论测试是否通过或覆盖率——这些由 CI 展示必须披露 AI 辅助写作例如在消息末尾注明*This message was written with the help of AI (GPT-5.6-Cyber).*。这条中性语言 最小信息 强制披露的组合本质上是把 AI 生成内容纳入可审计、可复现的流程值得任何用 Agent 协作的开源项目借鉴。添加 UTScapy 测试格式、示例与运行测试框架与文件组织Scapy 的测试套件使用UTScapy编写.uts测试活动campaign统一放在 test/ 目录下。UTScapy 的解析逻辑位于 scapy/tools/UTscapy.py 的parse_campaign_file()逐行解析特殊前缀指令前缀含义源码处理parse_campaign_file#注释整行跳过if line[0] #: continue%声明一个 campaign测试活动标题test_campaign.title line[1:].strip()开启一个新的 test set测试集创建TestSet并加入 campaign声明一个 unit test单元测试必须位于 test set 内创建UnitTest若此时无 test set 则抛出错误~给 campaign/test set/unit test 打关键字调用add_keywords(line[1:].split())*给测试/测试集/campaign 追加注释按层级写入 comments其他单元测试内的 Python 代码行追加到test.test若不在任何测试内且非空则报错AGENTS.md 给出的标准 campaign 骨架如下% Packet regression Build and dissect Round trip ~ protocol_keyword packet Protocol(fieldvalue) decoded Protocol(bytes(packet)) decoded.field value规则要点%、、分别开始一个 campaign、test set 与 unit test~分配关键字单元测试内无前缀的行是 Python 代码最后一个表达式的真值决定测试结果。真实示例可参考 test/contrib/automotive/autosar/pdu.uts其中 Defaults test、 Build test pdu_id等单元测试内直接写p PDU()、assert p.pdu_id 0这样的断言语句。运行测试的命令开发阶段可以直接针对受影响的 campaign 运行例如./test/run_tests -t test/contrib/automotive/autosar/pdu.uts -K tshark -N在仓库根目录、已安装 Python 与 tox 的前提下运行完整可移植测试套件./test/run_tests从 test/run_tests 的实现可以看到无参数时run_tests会调用bash .config/ci/test.sh并设置一组默认排除关键字-K tcpdump -K wireshark -K tshark -K ci_only ...见 test/run_tests以禁用依赖外部软件的测试带参数时则直接转交scapy/tools/UTscapy.py执行。-t指定目标.uts文件-K排除带某关键字的测试如tshark-N禁用交互提示这些参数在 UTscapy 的命令行解析中生效。新增/修改测试的准则不要新建.uts文件只要已存在包含该 layer 测试的文件就向其中添加只有该 layer 从未有过测试时才新建。就近放置新测试应放在与相同或相似功能测试相邻的位置保持上下文相关。检查源码改动flake8 与 mypy 的对齐方式修改代码后要按 CONTRIBUTING.md 的风格与约定自查。AGENTS.md 特别强调flake8 与 CI 的配置对齐flake8 检查scapy/行宽上限88 列并在 tox.ini 的[flake8]段配置了ignore E203, E731, W504, W503以及针对具体文件的per-file-ignores例如scapy/tools/UTscapy.py:E501、scapy/contrib/eigrp.py:E501同时exclude掉scapy/libs/ethertypes.py与scapy/layers/msrpce/raw/*。CI 在Python 3.12下调用 lint 与 type-check 环境tox.ini 中的[testenv:flake8]与[testenv:mypy]分别执行flake8 scapy/与.config/mypy/mypy_check.py linux/win32。由于tox.ini并未为这些环境选定 Python 3.12 解释器需要为 Python 3.12 安装 tox 并显式调用以与 CI 一致python3.12 -m tox -e flake8 python3.12 -m tox -e mypymypy 环境会同时运行 Linux 与 Windows 两种配置mypy_check.py linux与mypy_check.py win32。不要手工编辑生成内容仓库中部分文件是自动生成的手工编辑会被覆盖或破坏生成链AGENTS.md 明确禁止scapy/layers/msrpce/raw/这些文件头部标注This file is auto-generated by midl-to-scapy, do not modify.如 scapy/layers/msrpce/raw/ept.py由 MIDL 接口定义经midl-to-scapy生成禁止直接修改。编码数据文件scapy/libs/bluetoothids.py、scapy/libs/manuf.py、scapy/libs/ethertypes.py中的数据必须通过配套的生成脚本更新——即 scapy/tools/generate_bluetooth.py、generate_manuf.py、generate_ethertypes.py。以 generate_bluetooth.py 为例脚本从公开的 Bluetooth SIG 列表读取数据并直接覆写../libs/bluetoothids.py这与 tox 的apitree环境忽略这些文件、flake8 排除ethertypes.py的做法相互印证说明它们被当作产物而非源码对待。潜在安全漏洞的上报流程若改动过程中发现疑似安全问题按SECURITY.md进行严重性分级与上报可使用.github/skills/scapy-security-audit/SKILL.md技能辅助审计用 AI 研究/发现的安全问题必须附带可复现问题的代码并在 GitHub Advisories 私有仓库中起草包含修复补丁的 PR若确实无法提供复现代码则必须简要说明原因。这条规则与前述提交消息最小化 强制披露 AI 参与一脉相承安全修复的可复现性与可审计性被放在最高优先级。小结Agent 在 Scapy 仓库的合规工作流综合全文一个合规的 Agent 工作流可归纳为动手前读 CONTRIBUTING.md 掌握章程读 AGENTS.md 掌握细则必要时调用.github/skills/中的技能文件写代码遵循既有模式不写一次性的私有函数用具体异常类型捕获并记录log_runtime.debug把新协议放进正确的layers/或contrib/目录并遵守依赖方向写测试向已有的.uts文件就近追加 UTScapy 测试用%///~组织 campaign并以最后一行表达式的真值作为断言本地验证./test/run_tests -t 目标.uts ...跑受影响用例用python3.12 -m tox -e flake8与python3.12 -m tox -e mypy对齐 CI提交中性语言、极简内容、附复现证据、强制披露 AI 辅助绝不手改生成文件安全问题按 SECURITY.md 流程附代码与补丁上报。这套规范的价值在于它把AI 参与开源贡献从模糊的期望落成了可检查、可执行的清单任何 Agent 或人类贡献者按此操作都能与 Scapy 的 CI 与维护流程无缝对接。赞分享网络网络安全【免费下载链接】scapyScapy: the Python-based interactive packet manipulation program library.项目地址https://gitcode.com/gh_mirrors/sc/scapy点击查看免费下载相关推荐Tambo AI Monorepo 开发规范与 AI Agent 协作指南从仓库结构到工程实践的完整解读Tambo AI Monorepo 开发规范与 AI Agent 协作指南从仓库结构到工程实践的完整解读 本指南基于 Tambo AI 开源仓库根目录的 AG人工智能AI AgentAI 应用前端后端MCP 服务Pyrefly 仓库 Agent 协作指南从目录架构到测试规范的完整开发手册Pyrefly 仓库 Agent 协作指南从目录架构到测试规范的完整开发手册 Pyrefly 是一个用 Rust 编写的 Python 快速类型检查器与语言服开发工具静态分析IDE代码质量Expo 仓库的 Agent 开发工作流et CLI、红绿测试与提交规范的完整实践Expo 仓库的 Agent 开发工作流et CLI、红绿测试与提交规范的完整实践 本文基于 Expo 仓库中的 Agent 指令文档 .claude/CLA移动开发前端跨平台原生移动创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

【外设】之大彩串口显示屏 2026/11/1 1:42:41

【外设】之大彩串口显示屏

大彩串口屏初步使用 1 .官网下载 STM32 屏幕 GUI 设计资料 http://www.gz-dc.com/category/typeid/4112 找到 STM32 Keil 工程,移植相关代码因项目而异进行移植,由于项目简单,本人只对用到的指令接口进行修改。 比如:注意事项&…

阅读更多 →
无法下载Windows系统iso文件 2026/11/1 2:34:07

无法下载Windows系统iso文件

当我遇到这个问题的时候,我打开了一个网站: 登录 然后我打算下载的时候: 突然那个官方的连接就可以下载了:

阅读更多 →
【清华代码熊】DeepSeek V4.1 Flash 后训练详解 2026/11/1 2:01:57

【清华代码熊】DeepSeek V4.1 Flash 后训练详解

📌 上期解析了 DeepSeek V4.1 Flash 模型架构改进,本期解析 DeepSeek V4.1 Flash 预训练/后训练技术: 🌟 预训练:45T 文本 多模态混合语料、直接训练 sparse attention(取消 DeepSeek V4 的 dense 冷启动&…

阅读更多 →
Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ... 2026/11/1 3:13:10

Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ...

文章主要内容和创新点 主要内容 本文聚焦于多模态大语言模型(MLLM)强化学习(RL)训练中的效率问题,提出了一个名为Shuffle-R1的框架。研究发现,当前RL训练存在两个关键缺陷: 优势值坍缩(Advantage Collapsing):批次中大多数优势值集中在零附近,导致有效梯度信号被淹…

阅读更多 →
PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction 2026/11/1 2:11:52

PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction

一、文章主要内容总结 本文聚焦于利用大型语言模型(LLMs)实现个人身份信息(PII)脱敏的研究,旨在解决传统脱敏方法(如基于规则的系统、领域特定命名实体识别(NER)模型)泛化能力差、跨格式/跨语境适应性弱的问题。 研究通过全面评估多种LLM架构(包括密集型LLM(D-LLM…

阅读更多 →
LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model 2026/11/1 3:23:38

LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model

文章主要内容和创新点 主要内容 本文聚焦于二进制图像-文本相关性评估任务(判断图像与文本“相关”或“不相关”),针对该任务中文本格式多样、相关性定义随场景变化等挑战,提出了基于多模态大语言模型(MLLM)的解决方案LLaVA-RE。 模型设计:LLaVA-RE基于LLaVA 1.5架构,…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉