<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Bandit on Daffa Abhipraya</title><link>https://blog.abhipraya.dev/tags/bandit/</link><description>Recent content in Bandit on Daffa Abhipraya</description><generator>Hugo</generator><language>en-us</language><copyright>© Daffa Abhipraya</copyright><lastBuildDate>Mon, 23 Mar 2026 00:00:00 +0700</lastBuildDate><atom:link href="https://blog.abhipraya.dev/tags/bandit/index.xml" rel="self" type="application/rss+xml"/><item><title>PPL: Fixing a JWT Vulnerability [Sprint 2, Week 1]</title><link>https://blog.abhipraya.dev/ppl/part-b/s2w1-security/</link><pubDate>Mon, 23 Mar 2026 00:00:00 +0700</pubDate><guid>https://blog.abhipraya.dev/ppl/part-b/s2w1-security/</guid><description>&lt;h2 id="what-i-worked-on">
 &lt;a class="anchor" href="#what-i-worked-on" data-anchor="what-i-worked-on" aria-hidden="true">#&lt;/a>
 What I Worked On
&lt;/h2>
&lt;p>This week I addressed a critical security vulnerability flagged by SonarQube and hardened the CI pipeline so security issues block merges instead of being silently reported.&lt;/p>
&lt;h2 id="the-jwt-vulnerability-sonarqube-s5659">
 &lt;a class="anchor" href="#the-jwt-vulnerability-sonarqube-s5659" data-anchor="the-jwt-vulnerability-sonarqube-s5659" aria-hidden="true">#&lt;/a>
 The JWT Vulnerability (SonarQube S5659)
&lt;/h2>
&lt;p>SonarQube flagged &lt;code>dependencies.py:34&lt;/code> as a &lt;strong>CRITICAL vulnerability&lt;/strong>: &lt;code>jwt.get_unverified_header()&lt;/code> reads the JWT header without verifying the signature. This enables the &lt;strong>alg:none attack&lt;/strong>, where an attacker crafts a token with &lt;code>&amp;quot;alg&amp;quot;: &amp;quot;none&amp;quot;&lt;/code> in the header, causing the library to skip signature verification entirely.&lt;/p></description></item></channel></rss>