这可能会让一些人感到惊讶,但谈到人工智能及其可能性时,我持有极其怀疑的态度;但我始终保持开放的心态。话虽如此,两周前,我在旧金山国际机场时,发现了一件本不该发生的事情。每当我发现一些本不该发生的事情竟然行得通,我就会更加坚定地前进,让我相信我们已经进入了后通用人工智能时代。
当时我和一个朋友坐在酒吧里;时间已经很晚了,我们正在讨论 LLM 的功能,谈论Falco的现代版本或 DFIR 领域中的任何这些工具与 LLM 结合后会是什么样子。
几个月前,我一直在研究 eBPF 和 LLM,发现 LLM 对 eBPF 的支持异常出色。因此,本着刻意练习的精神(见下文),我们拿出了一台笔记本电脑,通过 SSH 连接到了一台 Linux 机器。
这个想法很简单。
我们能否通过Ralph Wiggum将 eBPF 跟踪转换为功能齐全的应用程序?所以我们从一个玩具开始。
strace ls 1>trace 2>&1
在ls
列出目录中的文件后,我们得到了一个 strace 文件。下一步是修改 strace 文件,删除所有使用 Vim 执行 ls 命令的引用。
:%s/ls/lol/g
你知道,我们不希望 LLM 通过使用有关strace
所做事情的提示来作弊,正如跟踪中可执行文件的文件名所示。
然后发出了以下提示。
读取 TRACE
用 Rust 重新实现一个程序,重新实现这个 trace 的功能
从那时起,事情就变得很奇怪,而且发展得非常快。要知道,我从来都不喜欢 Linux 内核中的专有固件 blob,如果这些信息被合适的人知晓,或许这类问题就能在人工智能的帮助下得到彻底解决。
亲爱的读者,请明智而谨慎地使用这些知识。