<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>CI/CD on Al Banna</title><link>https://albanna.id/tags/ci/cd/</link><description>Recent content in CI/CD on Al Banna</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Wed, 26 Aug 2026 14:00:00 +0700</lastBuildDate><atom:link href="https://albanna.id/tags/ci/cd/index.xml" rel="self" type="application/rss+xml"/><item><title>Twenty-two scanners later, a pentester still walked in</title><link>https://albanna.id/posts/twenty-scanners-one-pipeline/</link><pubDate>Wed, 26 Aug 2026 14:00:00 +0700</pubDate><guid>https://albanna.id/posts/twenty-scanners-one-pipeline/</guid><description>&lt;p&gt;I got tired of pasting the same scanner block into yet another repo.&lt;/p&gt;
&lt;p&gt;It always started small. “Can we add Trivy here?” Sure. Semgrep next week. Secrets the week after. Then repo A and repo B quietly drifted apart—one job wrote into a folder &lt;code&gt;git clean&lt;/code&gt; would erase, another uploaded an empty &lt;code&gt;{}&lt;/code&gt; to DefectDojo like that counted as diligence. I wasn’t managing security. I was managing copies of the same bad mood.&lt;/p&gt;</description></item></channel></rss>