<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Loki on Joshua's Notebook</title><link>https://burnett.sh/tags/loki/</link><description>Recent content in Loki on Joshua's Notebook</description><generator>Hugo</generator><language>en</language><lastBuildDate>Wed, 17 Jun 2026 10:00:00 -0500</lastBuildDate><atom:link href="https://burnett.sh/tags/loki/index.xml" rel="self" type="application/rss+xml"/><item><title>HoneyPi Part 6: AI Reporting</title><link>https://burnett.sh/posts/honeypi-enrich-ai/</link><pubDate>Wed, 17 Jun 2026 10:00:00 -0500</pubDate><guid>https://burnett.sh/posts/honeypi-enrich-ai/</guid><description>&lt;p&gt;The &lt;a href="https://burnett.sh/posts/honeypi-enrich-pi/"&gt;previous two&lt;/a&gt; &lt;a href="https://burnett.sh/posts/honeypi-enrich-mac/"&gt;posts&lt;/a&gt; got all three streams into Loki, unified by &lt;code&gt;src_ip&lt;/code&gt; and joinable by Community ID. That&amp;rsquo;s a powerful dataset, but it has a problem: it&amp;rsquo;s enormous. A single day produces tens of thousands of Cowrie events, thousands of Suricata alerts, and thousands of Zeek records. Nobody is reading that by hand every morning. This post covers the layer that makes the whole thing usable, a Python script that pulls the day&amp;rsquo;s data, scores attackers by how interesting they are, and hands the most significant ones to Claude to write up as per-attacker narratives.&lt;/p&gt;</description></item><item><title>HoneyPi Part 5: Combining the Streams on the Mac</title><link>https://burnett.sh/posts/honeypi-enrich-mac/</link><pubDate>Tue, 16 Jun 2026 09:00:00 -0500</pubDate><guid>https://burnett.sh/posts/honeypi-enrich-mac/</guid><description>&lt;p&gt;In the &lt;a href="https://burnett.sh/posts/honeypi-enrich-pi/"&gt;previous post&lt;/a&gt; I got two of the three streams live on the Pi: Cowrie and Suricata, both shipping to Loki through Alloy with a shared &lt;code&gt;src_ip&lt;/code&gt; key. This post covers the Mac side, which is where the third stream comes in and where the whole correlation idea stops being a diagram and starts being something you can actually query. By the end of it, one attacker IP lights up across all three tools at once, and any single network flow can be matched between Suricata and Zeek deterministically rather than by eyeballing timestamps.&lt;/p&gt;</description></item><item><title>HoneyPi Part 4: Setting up the Streams on the Pi</title><link>https://burnett.sh/posts/honeypi-enrich-pi/</link><pubDate>Mon, 15 Jun 2026 08:00:00 -0500</pubDate><guid>https://burnett.sh/posts/honeypi-enrich-pi/</guid><description>&lt;p&gt;A quick preface before we get into the technical stuff. The next several sections are AI generated. I dumped my notes, config files, scripts and all the rest into a project in Claude, then prompted it through how I wanted the post compiled, linked and published. I have already had many nights of tinkering, troubleshooting and building a rather large note repository on this project, I didn&amp;rsquo;t want to take another week trying to type up, link and copy/paste code snippets in here. This is just much more efficient and I highly encourage it. Now, on to the juicy details!&lt;/p&gt;</description></item><item><title>HoneyPi Part 3: Enrichment Planning</title><link>https://burnett.sh/posts/honeypi-enrich-plan/</link><pubDate>Sat, 13 Jun 2026 00:00:00 +0000</pubDate><guid>https://burnett.sh/posts/honeypi-enrich-plan/</guid><description>&lt;p&gt;Now we get into the part of the project that I have little to no experience in. While I have used the tools, I don&amp;rsquo;t have years of working knowledge and I have certainly never combined them in this way in an attempt to build a narrative around an attack. Thus enter my good buddy Claude to fill in the gaps.&lt;/p&gt;
&lt;p&gt;I knew what I wanted, but not how to get there. I have been in school with SANS for some time now and while I have learned an absolute ton, I don&amp;rsquo;t claim myself to be an expert in anything. Since this is my first experience setting up a honeypot like this, I started reading about different ways to parse the data&amp;hellip; and man there are a lot of them. I decided that while I could follow a write up of someone that had come before me to the letter and have a working solution in no time, I would probably learn more by explaining what I wanted to AI and having it coach me through the process.&lt;/p&gt;</description></item></channel></rss>