<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Security on Hunter Wigelsworth</title><link>https://wiggels.dev/tags/security/</link><description>Recent content in Security on Hunter Wigelsworth</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Fri, 05 Jun 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://wiggels.dev/tags/security/index.xml" rel="self" type="application/rss+xml"/><item><title>AMD SEV-SNP: Trust Nobody, Encrypt Everything</title><link>https://wiggels.dev/posts/amd-sev-snp-trust-nobody-encrypt-everything/</link><pubDate>Fri, 05 Jun 2026 00:00:00 +0000</pubDate><guid>https://wiggels.dev/posts/amd-sev-snp-trust-nobody-encrypt-everything/</guid><description>&lt;p>Your cloud provider can read your VM&amp;rsquo;s memory. Full stop. I don&amp;rsquo;t care what their marketing page says. If you&amp;rsquo;re running on standard hardware with standard virtualization, the hypervisor has god-mode access to every byte of your guest&amp;rsquo;s RAM. Your encryption-at-rest doesn&amp;rsquo;t matter. Your TLS doesn&amp;rsquo;t matter. The moment your data is in memory, it&amp;rsquo;s naked and the hypervisor is watching.&lt;/p>
&lt;p>This is the problem AMD set out to solve with SEV-SNP, and after deploying this stuff in production across multiple clusters, I&amp;rsquo;m going to walk you through exactly how it works — all five generations of it — because understanding the evolution explains &lt;em>why&lt;/em> the final product looks the way it does.&lt;/p></description></item><item><title>I wrote a Rust crate for abuse reporting because apparently Python wasn't enough</title><link>https://wiggels.dev/posts/i-wrote-a-rust-crate-for-abuse-reporting-because-apparently-python-wasnt-enough/</link><pubDate>Tue, 19 May 2026 00:00:00 +0000</pubDate><guid>https://wiggels.dev/posts/i-wrote-a-rust-crate-for-abuse-reporting-because-apparently-python-wasnt-enough/</guid><description>&lt;p>You know that feeling when you&amp;rsquo;re reading a spec, see &amp;ldquo;reference implementation: Python&amp;rdquo; and &amp;ldquo;reference implementation: JavaScript&amp;rdquo;, and think &amp;ldquo;huh, nobody bothered with Rust for this&amp;rdquo;?&lt;/p>
&lt;p>That was me reading the XARF v4 spec.&lt;/p>
&lt;p>XARF — the eXtended Abuse Reporting Format — is a JSON schema for describing abuse incidents. Spam. DDoS. Phishing. Malware. Copyright violations. Compromised servers. Botnets. All the things that keep abuse desks awake at night, but in a machine-readable format that two organizations can actually exchange without someone sending a PDF attachment.&lt;/p></description></item></channel></rss>