熊喵君的博客

Thinking will not overcome fear but action will.

Linux 内核之旅(三十二):内核路径解析 d_path 的实现分析

d_path && bpf_d_path

0x00 前言 d_path 是内核提供的基于 dentry 和 vfsmount 获取绝对路径函数 extern char *d_path(const struct path *, char *, int); 0x01 d_path 的实现分析 并发分析 0x02 内核中对 d_path 的调用场景 //https://elixir.bootlin.com/linu...

TLS 1.2 协议核心原理与 Go 标准库实现分析

从记录层、ECDHE 密钥协商、PRF 密钥派生到 AES-CBC/GCM 加解密,再到观测实战

0x00 前言 本文系统梳理 TLS 1.2(RFC 5246)的核心机制: 记录层、握手与密钥协商 Pre-master Secret 到 Master Secret 再到 6 把会话子密钥的派生 AES-CBC 与 AES-GCM 两类记录保护方式 工程观测(Wireshark 解密的原理) 基于 eBPF 的 eCapture 项目密钥捕获实现介绍 相...

一次挖矿木马脚本 XMRig 的攻防拆解与 eBPF 检测分析

木马样本结合 Tracee 项目的 eBPF 检测能力覆盖分析

0x00 前言 本文以一个真实的 Linux 挖矿投放脚本 mining.sh 为样本,主要涉及如下内容: 攻击手段原理与细节 基于 MITRE ATT&CK 战术做归类 基于开源项目 Tracee ,分析能检测到脚本中的哪些恶意行为以及检测盲区 相关文章: Linux 安全对抗收集 样本画像 mining.sh 是一段 POSIX sh 脚本,本...

Linux 内核之旅(二十九):内核并发与同步机制深入分析

内核从内存屏障、spinlock、mutex 到 RCU 的实现探究

0x00 前言 本文代码基于 v4.11.6 版本,架构为x86_64 内核是一个天生高度并发的程序,同一份数据结构变量(task_struct、dentry、sk_buff、路由表等)可能被多个 CPU 上运行的进程上下文、软中断、硬中断同时访问。如何在保证正确性的前提下把同步开销降到最低,是内核设计的核心命题之一。本文系统梳理下内核中常见的并发与同步机制,覆盖如下场景: ...

CVE-2025-40237 分析:读取 overlayfs 的 fdinfo 与 umount 竞态导致内核 panic

v6.6.98 内核的 fsnotify 与 overlayfs 空指针解引用问题追踪

0x00 前言 本文分析 CVE-2025-40237,一个比较典型的内核竞态漏洞,描述如下: 当一个 inotify/fanotify 句柄正在监控 overlayfs 上的 inode,而这个 overlayfs 恰好正在被 umount 时,读取该句柄的 /proc/<pid>/fdinfo/<fd> 会解引用一个已经被拆卸/置空的指针,触发内核空指针...

Linux 内核内存管理:/proc/meminfo 深度解析

从 free 命令到内核源码分析

0x00 前言 在日常 Linux 系统运维和性能调优中,经常会遇到内存相关的问题 free 命令显示内存几乎用光了,但找不到是谁在占用 16G 的机器 MemTotal 却只显示 15G malloc 申请了大块内存但 MemFree 并没有减少 dirty dentry cache为何不可回收 OOM的判定机制 本文基于 Linux 内核 v5.4 版...

Linux 内核之旅(二十六):TCP 发送路径上的内核实现

拥塞控制、滑动窗口、ACK 处理与 skb 生命周期

0x00 前言 本文代码基于 v4.11.6 版本,主要涉及到如下知识点: accept 完成后 tcp_sock 中与发送相关字段的初始化状态 tcp_sendmsg → tcp_write_xmit → tcp_transmit_skb 发送链路的字段级分析 拥塞控制在发送时的门控作用(哪些字段影响发送决策) tcp_ack 收到 ACK 时的完整处理:窗口更...

一次有趣的内核追踪:关于iov_iter结构体的实现变迁

Linux 内核 I/O vector 演进:从 iovec 到 ITER_UBUF 的优化之路

0x00 前言 本文梳理下笔者在实现内核5.4.241-1-tlinux4-0017.14~6.6.47-12.tl4.x86_64对DNS hook相关兼容性解决的一些知识点的梳理总结,主要涉及到如下hook与内核数据结构 hook涉及: k*probe/udp_sendmsg k*probe/tcp_sendmsg 关联的内核数据结构: struct iov...

AI agent开发入门:基于eino开发agent(五)

ADK应用:a excel agent

0x00 前言 Eino ADK 参考 Google-ADK 的设计,提供了 Go 语言 的 Agents 开发的灵活组合框架,即 Agent、特别是是Multi-Agent 开发框架,并为多 Agent 交互场景沉淀了通用的上下文传递、事件流分发和转换、任务控制权转让、中断与恢复、通用切面等能力 Eino ADK 中的 Agent Eino ADK 抽象设计: type Agen...

AI agent开发入门:基于eino开发agent(四)---TODO

plan-and-execute实现模式

0x00 前言 plan_execute 0x01 基础 0x02 核心编排 PlanExecuteMultiAgent的编排图如下: flowchart LR START([START]) END_NODE((END)) subgraph PlanExecute["PlanExecuteMultiAgent"] P[plan...