本文以 Koog 1.3.0 的 Kotlin API 为例,讲解 Agent 的事件与拦截器底座。自定义 feature 需实现对应 agent 类型的接口,并通过 install 注册拦截器,可覆盖 agent、策略、LLM 调用、流式、工具调用等生命周期;节点级拦截器仅限 graph 管道。事件对象可由 EventHandler 回调或 FeatureMessageProcessor 消费,Tracing 将事件转为消息交给 processor,OpenTelemetry 再将其翻译为 OTel span。内容审核是模型调用层的独立能力,不依赖 feature。序列化默认使用 KotlinxSerializer,可切换为 JacksonSerializer。测试可用官方 agents-test 的 mock 执行器离线验证。
研究测试语言模型通过自然语言传递树状表达式时的信息损耗:一模型生成应用题,另一模型提取表达式,以符号等价判定。结果显示通道有损且不对称,角色互换后准确率差达60.4个百分点;至少73.6%的失败源于生成端,难度取决于树结构;约3600条微调样本即可提升所有开源模型。
Serde 是 Rust 主流序列化库,但存在设计局限:内部标签枚举与任意精度数字冲突、flatten 缓冲丢失类型信息、无法对 Option 等包装类型应用自定义函数。作者为此开发了 Deser,采用事件驱动、堆上 sink 架构,避免递归,支持 XML 命名空间、扩展值和路径错误定位。代价是运行时性能略慢、二进制体积更大,且生态兼容性有限。
本文介绍Python dataclass如何替代易出错的配置字典,构建结构化、可维护的数据模型。涵盖组合嵌套记录、用default_factory处理可变默认值、在__post_init__中校验不变量、用frozen=True实现不可变、以及通过asdict和显式from_dict进行JSON序列化。最后对比dict、dataclass和Pydantic的适用场景,强调dataclass适合可信的内部数据,外部数据则用Pydantic。
文章探讨了金融应用中精确十进制数类型(如NUMERIC/DECIMAL)的必要性。法规要求精确存储和特定舍入规则,二进制浮点无法满足。支付系统将金额作为整数加货币比例传输,而ERP系统因比例多变需用十进制。分析引擎倾向固定宽度整数,性能优化趋势是限制精度至38位。结论是整数适合统一比例场景,十进制适合多变比例,且序列化需确保跨系统一致性。
本文介绍四个Rust项目:fcmaes-rust提供并行黑箱优化算法及22个教程;Apache Fory 1.5.0支持外部类型序列化,JSON性能大幅提升;BorrowSanitizer优化垃圾回收后平均提速1.90倍,发现跨语言别名错误;job-control实现支持作业控制的Unix shell。
Qt框架的QtXml模块存在XML注入漏洞(CVE-2026-15037),影响Qt 4、5及6.12之前版本。当应用将不可信文本插入QDom注释、CDATA或处理指令节点并序列化时,攻击者可注入恶意标记,破坏文档结构。CVSS评分2.9(低危)。缓解措施:设置无效数据策略为ReturnNullNode或DropInvalidChars,并验证输入。升级至Qt 6.12或更高版本可修复。
React Flight协议是React服务器组件用于流式传输UI的自定义协议,但其反序列化机制存在严重安全漏洞。CVE-2025-55182(React2Shell)为CVSS 10.0级漏洞,攻击者可通过构造恶意请求实现未授权远程代码执行。防御措施包括:严格输入验证、使用server-only包、加强CSRF防护、及时更新补丁、利用Taint API和WAF。该协议仍面临中间人攻击等结构性风险。
本文介绍Shiro反序列化漏洞的进阶利用方法:通过修改加解密Key来独占控制权。作者指出默认Key可被反射修改,但需同时更新`encryptionCipherKey`和`decryptionCipherKey`。提供两种方案:改配置重启(不可取)或利用Filter内存马动态修改Key,并给出代码示例。修改后原Key失效,攻击工具无法再利用,但重启会失效,且需谨慎操作以免影响业务。
本文介绍使用CodeQL数据流分析挖掘Java反序列化漏洞。作者以Shiro-CTF项目为例,通过查找实现Serializable接口的类定位入口,分析User类实例化及Tools类反序列化方法,确定source(用户可控的request参数)和sink(deserialize的bytes参数),并尝试全局污点分析。最终使用RemoteFlowSource成功追踪数据流,发现LogHandler调用exeCmd可被利用,完成漏洞挖掘。
本教程介绍如何使用CodeQL查找Apache Struts中的不安全XML反序列化漏洞(CVE-2017-9805)。通过编写查询,识别XStream的fromXML调用及ContentTypeHandler接口的toObject方法,并利用数据流分析追踪不受信任数据流向,最终定位漏洞。教程包含详细步骤、代码示例和路径问题查询转换,帮助用户掌握CodeQL在Java安全分析中的应用。
本文分析银行CTF比赛中的Shiro反序列化题目,涉及CVE-2020-13933权限绕过漏洞和反序列化点。通过构造恶意Cookie触发LogHandler类的toString方法执行命令,详细介绍了黑盒测试、代码审计、Payload构造过程,并补充了Shiro相关知识,最终成功利用漏洞。
本文分析Java Commons-Collections组件中的反序列化漏洞,重点讲解CC3和CC4两条利用链。CC3通过BadAttributeValueExpException触发LazyMap链,CC4利用PriorityQueue和TemplatesImpl执行命令。文章详细演示了漏洞触发流程、成因及利用代码,强调反射机制在漏洞中的关键作用,并总结构造Gadget链的要点。
本文逆向学习Fastjson反序列化漏洞,分析@type字段指定反序列化类名导致的安全隐患,重点解析JdbcRowSetImpl类payload的构造与触发原理,给出Gadget chain调用链,并讨论不同版本下DNSLOG探测payload的适用性差异。
本文介绍Java反序列化漏洞回显的两种解决方案:一是通过自定义类加载器(defineClass)将恶意字节码转为类并执行命令,利用异常抛出回显结果;二是使用URLClassLoader远程加载jar/class文件实现回显。文章还提供了相关代码示例,并指出可结合CC链改造利用。
本文介绍Java反序列化漏洞的原理与利用。序列化将对象转为字节流存储或传输,反序列化则恢复对象。漏洞需满足三个条件:实现Serializable接口、使用readObject()和writeObject()方法。通过重写readObject()可执行恶意命令,如Runtime.exec("calc")。攻击者控制反序列化过程即可触发漏洞,常见利用工具包括ysoserial,建议新手从URLDNS链学习。
本文分析了Fastjson反序列化漏洞,重点讨论了@type字段在反序列化过程中的作用。通过构造特定payload,攻击者可利用Fastjson的反序列化机制执行远程代码。文章还比较了不同版本Fastjson对payload的响应差异,并提供了代码示例以帮助理解漏洞成因。
本文讨论了银行CTF比赛中的shiro反序列化题目,分析了权限绕过和反序列化漏洞。通过黑盒和白盒测试,发现shiro版本存在CVE-2020-13933漏洞。深入分析源码,确认反序列化点和命令执行漏洞,并成功构造payload执行命令。总结了shiro的知识和反序列化链的构建过程。
本文讨论了Java反序列化漏洞的回显问题,介绍了如何利用自定义类加载器和CC链实现反序列化回显,并通过示例代码展示了加载字节码和执行命令的过程。文章强调了Java类加载机制的安全隐患,鼓励读者探索更多反序列化攻击方式。
本文讨论了Java中的Commons-Collections反序列化漏洞,特别是版本3和4的利用方式。通过分析Gadget链,展示了如何利用BadAttributeValueExpException类触发反序列化漏洞,并提供了模拟服务器和利用代码示例,强调了Java反射机制在漏洞利用中的重要性,最后总结了反序列化漏洞的成因和触发流程。
完成下面两步后,将自动完成登录并继续当前操作。