<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Nathan Sapwell | AI Engineer &amp; Full-Stack Developer</title>
		<link>https://nathan.sapwell.net/</link>
		<description>Recent content on Nathan Sapwell | AI Engineer &amp; Full-Stack Developer</description>
		<generator>Hugo</generator>
		<language>en-au</language>
		
		
		
		
			<lastBuildDate>Thu, 15 Oct 2026 00:00:00 +0000</lastBuildDate>
		
			<atom:link href="https://nathan.sapwell.net/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>CVE-2026-110912: Arpbleed</title>
				<link>https://nathan.sapwell.net/posts/cve-2026-110912-arpbleed/</link>
				<pubDate>Thu, 15 Oct 2026 00:00:00 +0000</pubDate>
				<guid>https://nathan.sapwell.net/posts/cve-2026-110912-arpbleed/</guid>
				<description>&lt;p&gt;CVE-2026-110912 is my first published CVE! The fix is merged upstream and the record is live in the database. It lives in a 23-year-old corner of DragonFly BSD. The ARP input path trusts two one-byte length fields from any packet on the wire. Ask for a 200-byte hardware address and the kernel builds its reply with a 200-byte memcpy out of a 6-byte buffer, and sends the excess back to you. Same trick on the protocol length reads straight off the kernel stack. One crafted ARP request on the same L2 segment leaks up to 249 bytes of heap and 251 bytes of stack, kernel pointers included. No authentication, and nothing in the victim&amp;rsquo;s logs.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Hack the Box - Craft</title>
				<link>https://nathan.sapwell.net/posts/hack-the-box-craft/</link>
				<pubDate>Wed, 07 Oct 2026 00:00:00 +0000</pubDate>
				<guid>https://nathan.sapwell.net/posts/hack-the-box-craft/</guid>
				<description>&lt;p&gt;Craft is a medium Hack the Box machine and the whole thing is one mistake repeated four times. A public Gogs server holds the API source, the git history holds a working password, and a private repository holds the developer&amp;rsquo;s own SSH key, protected by a passphrase I had already dumped.&lt;/p&gt;&#xA;&lt;p&gt;The bug is one line of Python that runs &lt;code&gt;eval()&lt;/code&gt; on the ABV value of a beer. Every wrong attempt came back with the same useless error and the correct one came back as a 500. Root came from HashiCorp Vault, which hands out one-time root SSH passwords to any source address.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Hack Smarter - Slayer</title>
				<link>https://nathan.sapwell.net/posts/hack-smarter-slayer/</link>
				<pubDate>Sat, 03 Oct 2026 00:00:00 +0000</pubDate>
				<guid>https://nathan.sapwell.net/posts/hack-smarter-slayer/</guid>
				<description>&lt;p&gt;Slayer is an easy Windows lab on Hack Smarter and it starts where most engagements end. A social engineering phase has already worked, and I am dropped in with a standard account and a working password on a Windows 11 build 26100 host. The win was a text file in the profile I already had. PowerShell logs every line you type, and whoever built this box set the local Administrator password from a session running as that same standard user. No exploit, one file read. Most of my hour still went into a privilege escalation that was not there at all.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Hack Smarter - Aftermath</title>
				<link>https://nathan.sapwell.net/posts/hack-smarter-aftermath/</link>
				<pubDate>Fri, 02 Oct 2026 00:00:00 +0000</pubDate>
				<guid>https://nathan.sapwell.net/posts/hack-smarter-aftermath/</guid>
				<description>&lt;p&gt;Aftermath is an easy Linux lab on Hack Smarter. Three ports, one webmail app, and a privilege escalation that comes down to a single sudoers line.&lt;/p&gt;&#xA;&lt;p&gt;Postfix still answers &lt;code&gt;VRFY&lt;/code&gt;, which turns 499 names into one real account. That account logs into an unlinked Roundcube install, and Roundcube 1.5.9 is one release short of the fix for CVE-2025-49113. The shell that bug hands over may run &lt;code&gt;apt-get&lt;/code&gt; as root.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Qwen3.8-27B Abliteration Benchmarked: 8 Variants Under the Microscope</title>
				<link>https://nathan.sapwell.net/posts/qwen38-27b-abliteration/</link>
				<pubDate>Sun, 06 Sep 2026 00:00:00 +0000</pubDate>
				<guid>https://nathan.sapwell.net/posts/qwen38-27b-abliteration/</guid>
				<description>&lt;p&gt;Eight different groups abliterated the same AI model, Alibaba&amp;rsquo;s Qwen3.8-27B. I ran all nine models, base plus the eight variants, through the same four tests: weight forensics, KL divergence, a 13-task benchmark suite, and HarmBench with 400 harmful behaviours. Every model was served identically on a single RTX 5090, and all 3,600 HarmBench responses were read by an LLM judge. The full run took 167 GPU-hours over eleven days.&lt;/p&gt;&#xA;&lt;p&gt;The headline finding is a familiar one by now. The careful surgical edits took the leaderboard, orcarouter at 82% and apostate at 79%. The heaviest edit of all landed second-to-last, because nearly half its answers get stuck in a thinking loop and never arrive.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Gemma 4 12B Abliteration Benchmarked: 12 Variants Under the Microscope</title>
				<link>https://nathan.sapwell.net/posts/gemma4-12b-abliteration/</link>
				<pubDate>Fri, 28 Aug 2026 00:00:00 +0000</pubDate>
				<guid>https://nathan.sapwell.net/posts/gemma4-12b-abliteration/</guid>
				<description>&lt;p&gt;Twelve uncensored variants of the same AI model, Google&amp;rsquo;s Gemma 4 12B. Ten abliterations and two LoRA adapters, from eleven different creators. The headline finding inverts the usual story. The most surgical edit of the entire project, just 12 tensors out of 666, also produced the biggest unlock I have measured, 89.8%. And hiding underneath all of it was a thinking-loop tax that makes every headline maths score for a reasoning model misleading. The full run took 165 GPU-hours across three and a half weeks, and all 5,200 HarmBench responses were reviewed by an LLM judge.&lt;/p&gt;</description>
			</item>
			<item>
				<title>How Do You Measure Abliteration Damage? I Compared Every Way I Could</title>
				<link>https://nathan.sapwell.net/posts/measuring-kl-divergence/</link>
				<pubDate>Thu, 06 Aug 2026 00:00:00 +0000</pubDate>
				<guid>https://nathan.sapwell.net/posts/measuring-kl-divergence/</guid>
				<description>&lt;p&gt;How much did that abliteration actually hurt the model? It is the question behind every comparison I run, and for a long time I did not really understand the number we use to answer it. The score is KL divergence, and there is more than one way to calculate it. Different datasets, different token depths, thinking on or off, three tools each with their own method. So I stopped taking the number on faith and compared them. I will explain the maths as plainly as I can too, because it scared me off for years and it really should not.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Gemma4-E4B Abliteration Benchmarked: 23 Variants Under the Microscope</title>
				<link>https://nathan.sapwell.net/posts/gemma4-e4b-abliteration/</link>
				<pubDate>Sat, 01 Aug 2026 00:00:00 +0000</pubDate>
				<guid>https://nathan.sapwell.net/posts/gemma4-e4b-abliteration/</guid>
				<description>&lt;p&gt;Twenty-three different people tried to remove the safety filters from the same AI model, Google&amp;rsquo;s Gemma4-E4B. The headline finding is an awkward one. The most popular variant, with 796,000 downloads, is also the most damaged. Meanwhile a surgical edit that touches just 21 of the model&amp;rsquo;s 719 weight tensors does nearly as well with no measurable harm. This is the biggest abliteration comparison I have run, and the gap between the best and worst is wider than anything I have seen before.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Qwen3-VL-4B Heretic: Abliterated Vision-Language Model Released</title>
				<link>https://nathan.sapwell.net/posts/qwen3-vl-4b-heretic/</link>
				<pubDate>Thu, 16 Jul 2026 00:00:00 +0000</pubDate>
				<guid>https://nathan.sapwell.net/posts/qwen3-vl-4b-heretic/</guid>
				<description>&lt;p&gt;&lt;a href=&#34;https://docs.comfy.org/tutorials/image/krea/krea-2&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Krea 2&lt;/a&gt;&#xA; came out recently and I wanted to experiment with it. Like most image-generation models, it uses a text encoder to understand your prompt. Krea 2 happens to use Qwen3-VL-4B-Instruct, a vision-language model that can see images as well as read text. I abliterated it with &lt;a href=&#34;https://github.com/p-e-w/heretic&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Heretic&lt;/a&gt;&#xA; to give Krea 2 an uncensored encoder, ran four trials, compared them forensically with &lt;a href=&#34;https://github.com/dreamfast/abliterlitics&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Abliterlitics&lt;/a&gt;&#xA;, and published the winner across three repos covering transformers, GGUF, and ComfyUI.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Gemma4-E2B Abliteration Benchmarked: 13 Techniques Under the Microscope</title>
				<link>https://nathan.sapwell.net/posts/gemma4-e2b-abliteration/</link>
				<pubDate>Thu, 09 Jul 2026 00:00:00 +0000</pubDate>
				<guid>https://nathan.sapwell.net/posts/gemma4-e2b-abliteration/</guid>
				<description>&lt;p&gt;Thirteen different groups abliterated the same AI model, Google&amp;rsquo;s Gemma4-E2B. Every single one removed the safety filters. That part is not interesting any more. What is interesting is how much collateral damage each technique caused along the way, and how many of the creators&amp;rsquo; capability claims survived an independent measurement. The KL divergence spread between the best and worst variant is 58.7x, the largest I have ever seen in this project. And one creator&amp;rsquo;s &amp;ldquo;near-zero divergence&amp;rdquo; claim turned out to be 187 times lower than reality.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Qwen3.6-27B Abliteration Benchmarked: Five Techniques Under the Microscope</title>
				<link>https://nathan.sapwell.net/posts/qwen36-27b-abliteration/</link>
				<pubDate>Sun, 17 May 2026 00:00:00 +0000</pubDate>
				<guid>https://nathan.sapwell.net/posts/qwen36-27b-abliteration/</guid>
				<description>&lt;p&gt;Five different groups abliterated the same AI model. When I ran the maths benchmarks, their scores ranged from 27.5% to 75.1%. That is a 47.6 percentage point gap. It looks like some techniques made the model way better at maths and others broke it. But when I dug into why, it turned out nobody got smarter or dumber. The abliteration just changed how long they think before answering. The real scores were all within 2.8 percentage points of each other.&lt;/p&gt;</description>
			</item>
			<item>
				<title>HauhauCS Reaper-Abliteration Plagiarism Investigation: A Fork of Heretic</title>
				<link>https://nathan.sapwell.net/posts/hauhaucs-plagiarism-investigation/</link>
				<pubDate>Thu, 07 May 2026 00:00:00 +0000</pubDate>
				<guid>https://nathan.sapwell.net/posts/hauhaucs-plagiarism-investigation/</guid>
				<description>&lt;p&gt;HauhauCS publishes uncensored LLM models on HuggingFace with 5 million combined monthly downloads. Every model card claims &amp;ldquo;private methods and tools.&amp;rdquo; I recovered the deleted source code from PyPI&amp;rsquo;s CDN. It is a fork of the open source Heretic abliteration tool, refactored and relicensed without attribution.&lt;/p&gt;</description>
			</item>
			<item>
				<title>GLM-4.7-Flash Abliteration Benchmarked: Heretic vs HauhauCS vs Huihui vs Abliterix</title>
				<link>https://nathan.sapwell.net/posts/glm47-flash-abliteration/</link>
				<pubDate>Fri, 01 May 2026 00:00:00 +0000</pubDate>
				<guid>https://nathan.sapwell.net/posts/glm47-flash-abliteration/</guid>
				<description>&lt;p&gt;GLM-4.7-Flash is a 59 billion parameter reasoning model from Zhipu AI that uses 64 specialist expert modules per layer. I benchmarked four pre-existing abliterated variants against it and discovered something unexpected in the maths benchmarks. The raw scores look terrible for some variants, but the models can actually still do the maths. They just overthink and run out of tokens before writing their answer. And the weight forensics on one of those variants led to a bigger story about plagiarism.&lt;/p&gt;</description>
			</item>
			<item>
				<title>reaper-abliteration analysis</title>
				<link>https://nathan.sapwell.net/archive/reaper-analysis/</link>
				<pubDate>Tue, 28 Apr 2026 00:00:00 +0000</pubDate>
				<guid>https://nathan.sapwell.net/archive/reaper-analysis/</guid>
				<description>&lt;h1 id=&#34;reaper-abliteration-analysis&#34;&gt;reaper-abliteration analysis&lt;/h1&gt;&#xA;&lt;p&gt;Forensic analysis of HauhauCS&amp;rsquo;s closed-source and proprietary &lt;code&gt;reaper-abliteration&lt;/code&gt; tool. 6 of 8 known releases have been recovered from PyPI&amp;rsquo;s CDN and verified byte-for-byte via SHA-256.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://nathan.sapwell.net/archive/reaper-analysis/reaper-abliteration%20maintainers%20pypi.org-3-cropped.webp&#34; alt=&#34;PyPI maintainers page for reaper-abliteration showing HauhauCS as the listed maintainer&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;table-of-contents&#34;&gt;Table of Contents&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#what-this-is&#34;&gt;What this is&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#statement-from-heretics-author&#34;&gt;Statement from Heretic&amp;rsquo;s author&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#downloads&#34;&gt;Downloads&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#evidence-of-heretic-derivation&#34;&gt;Evidence of Heretic derivation&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#side-by-side-code-comparisons&#34;&gt;Side-by-side code comparisons&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#weight-level-correlation&#34;&gt;Weight-level correlation&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#benchmark-findings&#34;&gt;Benchmark findings&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#what-the-models-actually-are&#34;&gt;What the models actually are&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#perfect-quants&#34;&gt;&amp;ldquo;Perfect&amp;rdquo; quants&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#licensing&#34;&gt;Licensing&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#reapers-additions&#34;&gt;Reaper&amp;rsquo;s additions&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#false-and-misleading-claims&#34;&gt;False and misleading claims&lt;/a&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#methodology-deflection-timeline&#34;&gt;Methodology deflection timeline&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#hauhaucs-discord-response&#34;&gt;HauhauCS Discord response&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#benchmark-platform-vs-own-model-benchmarks&#34;&gt;Benchmark platform vs. own model benchmarks&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#independent-verification&#34;&gt;Independent verification&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#links&#34;&gt;Links&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://nathan.sapwell.net/archive/reaper-analysis/reaper_readme/&#34;&gt;Reaper Abliteration README&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#cached-pypi-and-ecosystems-pages&#34;&gt;Cached PyPI and Ecosyste.ms pages&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#additional-cached-sources&#34;&gt;Additional cached sources&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;what-this-is&#34;&gt;What this is&lt;/h2&gt;&#xA;&lt;p&gt;HauhauCS publishes uncensored LLM models on &lt;a href=&#34;https://huggingface.co/HauhauCS&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;HuggingFace&lt;/a&gt;&#xA; with 5M+ combined monthly downloads across 22 models (verified via the HuggingFace API, April 2026). Every model card claims &amp;ldquo;0/465 refusals, zero capability loss.&amp;rdquo; He described his tool, &lt;code&gt;reaper-abliteration&lt;/code&gt;, as his &amp;ldquo;own private methods and tools.&amp;rdquo; When asked about methodology on &lt;a href=&#34;https://huggingface.co/HauhauCS/Qwen3.5-35B-A3B-Uncensored-HauhauCS-Aggressive/discussions/5&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;HuggingFace&lt;/a&gt;&#xA;, the response was: &amp;ldquo;Currently it&amp;rsquo;s my own private methods and tools :) Not interested in any donations.&amp;rdquo;&lt;/p&gt;</description>
			</item>
			<item>
				<title>Uncensored LLM Abliteration Benchmarked: HauhauCS vs Heretic vs Huihui</title>
				<link>https://nathan.sapwell.net/posts/hauhaucs-abliteration-analysis/</link>
				<pubDate>Sat, 18 Apr 2026 00:00:00 +0000</pubDate>
				<guid>https://nathan.sapwell.net/posts/hauhaucs-abliteration-analysis/</guid>
				<description>&lt;p&gt;HauhauCS describes their abliterated models as &amp;ldquo;the best lossless uncensored models out there&amp;rdquo; with &amp;ldquo;no changes to datasets or capabilities&amp;rdquo; and claims 0 refusals across their entire model range. I ran the full forensic suite across five Qwen models to find out whether those claims hold up.&lt;/p&gt;</description>
			</item>
			<item>
				<title>HF All-Time Downloads: A Browser Extension for HuggingFace</title>
				<link>https://nathan.sapwell.net/posts/hf-all-time-downloads/</link>
				<pubDate>Thu, 09 Apr 2026 00:00:00 +0000</pubDate>
				<guid>https://nathan.sapwell.net/posts/hf-all-time-downloads/</guid>
				<description>&lt;p&gt;HuggingFace model pages only show downloads from the last 30 days. That number goes up and down as a rolling window, and it hides the real impact of older models. I built &lt;a href=&#34;https://github.com/dreamfast/hf-totaldownloads&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;HF All-Time Downloads&lt;/a&gt;&#xA;, a browser extension for Chrome and Firefox that surfaces the all-time download count directly on the model page.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Heretic Docker: Abliterating LLMs for Video and Image Generation</title>
				<link>https://nathan.sapwell.net/posts/heretic-docker/</link>
				<pubDate>Tue, 10 Mar 2026 00:00:00 +0000</pubDate>
				<guid>https://nathan.sapwell.net/posts/heretic-docker/</guid>
				<description>&lt;p&gt;A while back I did a &lt;a href=&#34;https://nathan.sapwell.net/posts/heretic-gemma-12b&#34;&gt;deep dive into abliterating Gemma 3 12B&lt;/a&gt;&#xA; for use as an uncensored text encoder in LTX-2 video generation. The process worked but involved a lot of manual steps: running Heretic, merging safetensor shards, converting to ComfyUI format, quantizing to FP8, building GGUF quants. I got tired of doing it all by hand, so I built &lt;a href=&#34;https://github.com/dreamfast/heretic-docker&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;heretic-docker&lt;/a&gt;&#xA; to automate the whole thing.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Abliterating Gemma 3 12B for LTX-2: Does It Actually Help?</title>
				<link>https://nathan.sapwell.net/posts/heretic-gemma-12b/</link>
				<pubDate>Sun, 11 Jan 2026 00:00:00 +0000</pubDate>
				<guid>https://nathan.sapwell.net/posts/heretic-gemma-12b/</guid>
				<description>&lt;p&gt;LTX-2 is Lightricks&amp;rsquo; open-source video generation model, and it uses Google&amp;rsquo;s Gemma 3 12B as its text encoder. Lets explore how to make an uncensored model and if it matters for LTX2 video generation.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Hack the Box - Cap</title>
				<link>https://nathan.sapwell.net/posts/hack-the-box-cap/</link>
				<pubDate>Tue, 05 Aug 2025 10:07:04 +0000</pubDate>
				<guid>https://nathan.sapwell.net/posts/hack-the-box-cap/</guid>
				<description>&lt;p&gt;Today we&amp;rsquo;re going to do ‘&lt;a href=&#34;https://app.hackthebox.com/machines/Cap&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Cap&lt;/a&gt;&#xA;’ which is another &lt;em&gt;easy&lt;/em&gt; hackthebox challenge. This will be similar to our &lt;a href=&#34;https://nathan.sapwell.net/posts/hack-the-box-code&#34;&gt;previous challenge&lt;/a&gt;&#xA; where we will go through without reviewing how it was done, then compare afterward with the solution.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Hack the Box - Code</title>
				<link>https://nathan.sapwell.net/posts/hack-the-box-code/</link>
				<pubDate>Sun, 03 Aug 2025 10:50:50 +0000</pubDate>
				<guid>https://nathan.sapwell.net/posts/hack-the-box-code/</guid>
				<description>&lt;p&gt;Lets brush up our skills with HackTheBox! We’re starting with a simple retired machine called ‘&lt;a href=&#34;https://app.hackthebox.com/machines/Code&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Code&lt;/a&gt;&#xA;’. The total time to complete this challenge was just over six hours.&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
