<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Peter Nasarah Dashe</title>
    <description>The latest articles on DEV Community by Peter Nasarah Dashe (@peternasarah).</description>
    <link>https://dev.to/peternasarah</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3790565%2F0379c76f-65b3-4eb0-a51e-3c7ab7a252be.png</url>
      <title>DEV Community: Peter Nasarah Dashe</title>
      <link>https://dev.to/peternasarah</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/peternasarah"/>
    <language>en</language>
    <item>
      <title>Most security tools still use 20-year-old rules. That's why I built Permi.</title>
      <dc:creator>Peter Nasarah Dashe</dc:creator>
      <pubDate>Sun, 12 Apr 2026 13:24:10 +0000</pubDate>
      <link>https://dev.to/peternasarah/most-security-tools-still-use-20-year-old-rules-thats-why-i-built-permi-5bj7</link>
      <guid>https://dev.to/peternasarah/most-security-tools-still-use-20-year-old-rules-thats-why-i-built-permi-5bj7</guid>
      <description>&lt;h2&gt;
  
  
  The Problem
&lt;/h2&gt;

&lt;p&gt;Old-school vulnerability scanners work like this:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;If&lt;/strong&gt; response matches pattern → &lt;strong&gt;safe&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Else&lt;/strong&gt; → &lt;strong&gt;unsafe&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That logic was fine in the early 2000s. But modern systems are dynamic, complex, and full of legitimate edge cases. Those same tools now flood you with false positives.&lt;/p&gt;

&lt;p&gt;You run a scan. It says 50 "critical" issues. You spend hours filtering. Only 8 are real. That's not security—that's a productivity killer.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Permi Does Differently
&lt;/h2&gt;

&lt;p&gt;Permi is an AI-powered vulnerability scanner built for today's development workflow.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Reduces false positives&lt;/strong&gt; with intelligent filtering.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Works where you code&lt;/strong&gt; – CLI now, VS Code &amp;amp; GitHub actions coming soon.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;One command&lt;/strong&gt; to scan websites or source code.&lt;/li&gt;
&lt;/ul&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
bash
pip install permi
permi scan --url https://your-site.com

##Early stage, honest feedback needed
Permi is still in early development. It's stable, but you might find rough edges. If something is confusing, broken, or missing:

Comment below or DM me.
Open an issue on GitHub.
Your feedback will directly shape Permi into the tool developers actually need.

&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/Peternasarah" rel="noopener noreferrer"&gt;
        Peternasarah
      &lt;/a&gt; / &lt;a href="https://github.com/Peternasarah/permi" rel="noopener noreferrer"&gt;
        permi
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      AI-powered vulnerability scanner for Nigerian developers and global SMBs
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Permi&lt;/h1&gt;
&lt;/div&gt;

&lt;p&gt;&lt;a href="https://pypi.org/project/permi/" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/35b45d887e3627b6ba65629c4b1a6a8488c6b75494af4404558b758b87c91f6e/68747470733a2f2f62616467652e667572792e696f2f70792f7065726d692e737667" alt="PyPI version"&gt;&lt;/a&gt;
&lt;a href="https://github.com/Peternasarah/permi/actions/workflows/ci.yml" rel="noopener noreferrer"&gt;&lt;img src="https://github.com/Peternasarah/permi/actions/workflows/ci.yml/badge.svg" alt="CI"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AI-powered vulnerability scanner for Nigerian developers and global SMBs.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Permi scans live websites and source code for security vulnerabilities, then uses AI to filter out false positives — so you only see findings that actually matter.&lt;/p&gt;

&lt;p&gt;Built in Nigeria. For Nigeria. Then for the world.&lt;/p&gt;




&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Two scan modes&lt;/h2&gt;
&lt;/div&gt;

&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;
&lt;code&gt;--url&lt;/code&gt; — Live web scanning&lt;/h3&gt;
&lt;/div&gt;

&lt;p&gt;Point Permi at any website. It crawls the pages, tests for SQL injection, XSS, and checks security headers on the running application.&lt;/p&gt;

&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;permi scan --url https://yoursite.com&lt;/pre&gt;

&lt;/div&gt;

&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;
&lt;code&gt;--path&lt;/code&gt; — Static source code scanning&lt;/h3&gt;

&lt;/div&gt;

&lt;p&gt;Point Permi at a local folder or GitHub repository. It reads your code files, matches vulnerability patterns, and flags issues before they ship.&lt;/p&gt;

&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;permi scan --path ./myapp
permi scan --path https://github.com/user/repo&lt;/pre&gt;

&lt;/div&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;What Permi detects&lt;/h2&gt;

&lt;/div&gt;

&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Web scanning (&lt;code&gt;--url&lt;/code&gt;)&lt;/h3&gt;

&lt;/div&gt;


&lt;ul&gt;

&lt;li&gt;

&lt;strong&gt;SQL Injection&lt;/strong&gt; — error-based, boolean-based blind, time-based blind&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Cross-Site Scripting (XSS)&lt;/strong&gt; — reflected XSS with context-aware testing&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Missing Security Headers&lt;/strong&gt; — HSTS, CSP, X-Frame-Options, X-Content-Type-Options&lt;/li&gt;

&lt;li&gt;…&lt;/li&gt;

&lt;/ul&gt;
&lt;/div&gt;
&lt;br&gt;
  &lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/Peternasarah/permi" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;h2&gt;
  
  
  Links
&lt;/h2&gt;

&lt;p&gt;PyPI: pip install permi&lt;br&gt;
GitHub: peternasarah/permi&lt;br&gt;
Let's kill false positives together. 🔥 &lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn16vusodviazyrw20qff.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn16vusodviazyrw20qff.png" alt="Permi CLI scanning a live URL for vulnerabilities" width="786" height="595"&gt;&lt;/a&gt; Permi CLI scanning a live URL for vulnerabilities&lt;br&gt;
&lt;/p&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

</description>
      <category>cybersecurity</category>
      <category>devsecops</category>
      <category>python</category>
      <category>opensource</category>
    </item>
    <item>
      <title>250 Clones in 4 Days! Thank You 🙌</title>
      <dc:creator>Peter Nasarah Dashe</dc:creator>
      <pubDate>Sat, 11 Apr 2026 14:09:01 +0000</pubDate>
      <link>https://dev.to/peternasarah/250-clones-in-4-days-thank-you-cke</link>
      <guid>https://dev.to/peternasarah/250-clones-in-4-days-thank-you-cke</guid>
      <description>&lt;p&gt;Permi just hit a huge milestone, and I couldn't be more grateful. Now, I need your help to make it even better. &lt;/p&gt;

&lt;p&gt;I'm building this in public, and your feedback is the most valuable tool I have.&lt;/p&gt;

&lt;h2&gt;
  
  
  How is your experience so far?
&lt;/h2&gt;

&lt;p&gt;If you've run &lt;code&gt;permi scan&lt;/code&gt;, please leave a comment with one of these words:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🔴 &lt;strong&gt;"broke"&lt;/strong&gt; – if something crashed&lt;/li&gt;
&lt;li&gt;🟡 &lt;strong&gt;"confusing"&lt;/strong&gt; – if it wasn't clear&lt;/li&gt;
&lt;li&gt;🟢 &lt;strong&gt;"useful"&lt;/strong&gt; – if it helped&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Alternatively, feel free to DM me with specific details. No pitch—just trying to build something helpful.&lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/Peternasarah" rel="noopener noreferrer"&gt;
        Peternasarah
      &lt;/a&gt; / &lt;a href="https://github.com/Peternasarah/permi" rel="noopener noreferrer"&gt;
        permi
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      AI-powered vulnerability scanner for Nigerian developers and global SMBs
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Permi&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;&lt;a href="https://pypi.org/project/permi/" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/35b45d887e3627b6ba65629c4b1a6a8488c6b75494af4404558b758b87c91f6e/68747470733a2f2f62616467652e667572792e696f2f70792f7065726d692e737667" alt="PyPI version"&gt;&lt;/a&gt;
&lt;a href="https://github.com/Peternasarah/permi/actions/workflows/ci.yml" rel="noopener noreferrer"&gt;&lt;img src="https://github.com/Peternasarah/permi/actions/workflows/ci.yml/badge.svg" alt="CI"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;AI-powered vulnerability scanner for Nigerian developers and global SMBs.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Permi scans live websites and source code for security vulnerabilities, then uses AI to filter out false positives — so you only see findings that actually matter.&lt;/p&gt;
&lt;p&gt;Built in Nigeria. For Nigeria. Then for the world.&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Two scan modes&lt;/h2&gt;
&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;
&lt;code&gt;--url&lt;/code&gt; — Live web scanning&lt;/h3&gt;
&lt;/div&gt;
&lt;p&gt;Point Permi at any website. It crawls the pages, tests for SQL injection, XSS, and checks security headers on the running application.&lt;/p&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;permi scan --url https://yoursite.com&lt;/pre&gt;

&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;
&lt;code&gt;--path&lt;/code&gt; — Static source code scanning&lt;/h3&gt;

&lt;/div&gt;
&lt;p&gt;Point Permi at a local folder or GitHub repository. It reads your code files, matches vulnerability patterns, and flags issues before they ship.&lt;/p&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;permi scan --path ./myapp
permi scan --path https://github.com/user/repo&lt;/pre&gt;

&lt;/div&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;What Permi detects&lt;/h2&gt;

&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Web scanning (&lt;code&gt;--url&lt;/code&gt;)&lt;/h3&gt;

&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;SQL Injection&lt;/strong&gt; — error-based, boolean-based blind, time-based blind&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cross-Site Scripting (XSS)&lt;/strong&gt; — reflected XSS with context-aware testing&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Missing Security Headers&lt;/strong&gt; — HSTS, CSP, X-Frame-Options, X-Content-Type-Options&lt;/li&gt;
&lt;li&gt;…&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/Peternasarah/permi" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;&lt;a href="https://github.com/peternasarah/permi/issues" class="crayons-btn crayons-btn--primary" rel="noopener noreferrer"&gt;Open an issue on GitHub&lt;/a&gt;
&lt;/p&gt;

</description>
      <category>showdev</category>
      <category>opensource</category>
      <category>feedback</category>
      <category>productivity</category>
    </item>
    <item>
      <title>250 Clones in 4 Days: A Student's Journey Building an AI Security Tool</title>
      <dc:creator>Peter Nasarah Dashe</dc:creator>
      <pubDate>Tue, 07 Apr 2026 12:07:05 +0000</pubDate>
      <link>https://dev.to/peternasarah/250-clones-in-4-days-a-students-journey-building-an-ai-security-tool-1mna</link>
      <guid>https://dev.to/peternasarah/250-clones-in-4-days-a-students-journey-building-an-ai-security-tool-1mna</guid>
      <description>&lt;h2&gt;
  
  
  🚀 250 Clones in 4 Days: A Student's Journey Building an AI Security Tool
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;By Nasarah Peter Dashe&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
&lt;em&gt;Cybersecurity Student @ UNIJOS | Founder of Permi&lt;/em&gt;&lt;/p&gt;


&lt;h2&gt;
  
  
  The Numbers That Surprised Me
&lt;/h2&gt;

&lt;p&gt;On April 2nd, 2026, I did something terrifying.&lt;/p&gt;

&lt;p&gt;I typed &lt;code&gt;pip install permi&lt;/code&gt; into my terminal, ran a few final tests, and hit &lt;strong&gt;publish&lt;/strong&gt; on PyPI. A vulnerability scanner built by a student with no funding, no team, and no prior accomplishments was now available for anyone in the world to download.&lt;/p&gt;

&lt;p&gt;Four days later, GitHub told me something I didn't expect:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;250 clones.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;62 developers per day, on average, downloading Permi. Testing it. Breaking it. Some even giving feedback.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This isn't a Silicon Valley startup with millions in backing. This is a cybersecurity student at the University of Jos, building in public, one commit at a time.&lt;/p&gt;


&lt;h2&gt;
  
  
  The Problem That Wouldn't Leave Me Alone
&lt;/h2&gt;

&lt;p&gt;I've spent hours staring at security scan reports. You know the kind: 47 "critical" vulnerabilities flagged, only 4 of them real. The rest? False positives. Misconfigurations that don't apply. Warnings about libraries I wasn't even using.&lt;/p&gt;

&lt;p&gt;That's not security. That's noise.&lt;/p&gt;

&lt;p&gt;And noise has a cost:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Developers learn to ignore alerts&lt;/li&gt;
&lt;li&gt;Real vulnerabilities slip through&lt;/li&gt;
&lt;li&gt;Breaches happen&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The recent LiteLLM supply chain attack proved that even the tools we trust to secure us can become the vulnerability. Three security tools compromised in five days using the same stolen credentials. The attacker didn't exploit the tools – they exploited the CI/CD access those tools had.&lt;/p&gt;

&lt;p&gt;I saw this gap and couldn't unsee it.&lt;/p&gt;

&lt;p&gt;Nigerian developers and SMBs are stuck with expensive, complex tools built for Western enterprises. Tools that don't understand our local fintech APIs, our hosting constraints, or the unique threats we face. Tools that interrupt our flow instead of supporting it.&lt;/p&gt;

&lt;p&gt;So I decided to build something different.&lt;/p&gt;


&lt;h2&gt;
  
  
  What Permi Is (And Isn't)
&lt;/h2&gt;

&lt;p&gt;Permi is an &lt;strong&gt;AI-powered vulnerability scanner&lt;/strong&gt; designed for one job: meet developers where they already work.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;Status&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;pip install permi&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;✅ Live&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CLI scan command&lt;/td&gt;
&lt;td&gt;✅ Live&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Web vulnerability detection (SQLi, XSS, etc.)&lt;/td&gt;
&lt;td&gt;✅ Live&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AI false-positive classifier&lt;/td&gt;
&lt;td&gt;🚧 In progress&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;VS Code extension&lt;/td&gt;
&lt;td&gt;🔜 Planned&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GitHub Action&lt;/td&gt;
&lt;td&gt;🔜 Planned&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;One command to scan a website:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pip &lt;span class="nb"&gt;install &lt;/span&gt;permi
permi scan &lt;span class="nt"&gt;--url&lt;/span&gt; https://example.com
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;No context switching.&lt;/strong&gt; CLI first, with IDE integrations coming soon.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AI that actually helps.&lt;/strong&gt; False-positive filtering, remediation suggestions, risk prioritization.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Built for Nigeria first.&lt;/strong&gt; Affordable pricing, local vulnerability checks, NDPR compliance mapping.&lt;/p&gt;

&lt;p&gt;Permi isn't trying to replace every security tool. It's trying to fix the parts that frustrate developers most.&lt;/p&gt;




&lt;h2&gt;
  
  
  What 250 Clones Tell Me
&lt;/h2&gt;

&lt;p&gt;Numbers without context are just numbers. Here's what these 250 clones mean to me:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. The problem is real
&lt;/h3&gt;

&lt;p&gt;Developers don't clone random repos. They clone tools they intend to use or learn from.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. My announcement worked
&lt;/h3&gt;

&lt;p&gt;The spike of 70 clones in a single day came right after I shared Permi on social media. Community matters.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Word of mouth is happening
&lt;/h3&gt;

&lt;p&gt;250 clones in 4 days means people are sharing my link. I don't have a marketing budget. I have developers who see value.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. I'm no longer "pre-product"
&lt;/h3&gt;

&lt;p&gt;An investor recently told me Permi had "no traction." Now I have evidence that the market disagrees.&lt;/p&gt;




&lt;h2&gt;
  
  
  What I've Learned (In Just 4 Days)
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Shipping is everything.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
An imperfect product in the wild is infinitely more valuable than a perfect product in your head.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Traction talks.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
No amount of pitch deck polish replaces a developer typing &lt;code&gt;pip install permi&lt;/code&gt; and running your code.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Community is my unfair advantage.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Senior security leaders accepted my connection requests. Practicing security analysts took time to explain real-world misconfigurations like &lt;code&gt;.env&lt;/code&gt; leaks and dependency confusion. Security companies engaged with my posts.&lt;/p&gt;

&lt;p&gt;These aren't just names. They're people who saw a student trying to build something real and decided to help.&lt;/p&gt;




&lt;h2&gt;
  
  
  What's Next for Permi
&lt;/h2&gt;

&lt;p&gt;The MVP is live. Now I'm building:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;AI false-positive classifier&lt;/strong&gt; – cut the noise by 80%&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;VS Code extension&lt;/strong&gt; – real-time scanning as you code&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;GitHub Action&lt;/strong&gt; – automatic PR comments and blocking&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;API scanner&lt;/strong&gt; – for fintechs and backend teams&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I've also applied to the &lt;strong&gt;iDICE Founders Lab&lt;/strong&gt; – a ₦10 million grant program for early-stage Nigerian founders. If selected, I'll use the funding to focus on Permi full-time, hire a part-time developer, and reach our first 500 paying users.&lt;/p&gt;




&lt;h2&gt;
  
  
  I Need Your Help
&lt;/h2&gt;

&lt;p&gt;I'm not writing this to brag about 250 clones. I'm writing this because I genuinely believe the best products are built with the community, not in isolation.&lt;/p&gt;

&lt;p&gt;So here's my ask:&lt;/p&gt;

&lt;p&gt;If you're a developer, founder, or security professional:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Try Permi:&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   pip &lt;span class="nb"&gt;install &lt;/span&gt;permi
   permi scan &lt;span class="nt"&gt;--url&lt;/span&gt; https://your-site.com
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Break it.&lt;/strong&gt; Tell me what's missing, what's confusing, what's broken.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Share this post&lt;/strong&gt; with one person who struggles with security noise.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;And if you've ever ignored a security alert because you've been burned by false positives before – drop a comment. I want to hear your story.&lt;/p&gt;




&lt;h2&gt;
  
  
  One Last Thing
&lt;/h2&gt;

&lt;p&gt;Four days ago, Permi was just a PyPI package.&lt;/p&gt;

&lt;p&gt;Today, it's been cloned 250 times.&lt;/p&gt;

&lt;p&gt;Tomorrow, I'm back to building.&lt;/p&gt;

&lt;p&gt;Because that's what founders do. We ship, we learn, we iterate. And we do it in public, so everyone can see that a student at UNIJOS with no funding can still build tools that matter.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;code&gt;pip install permi&lt;/code&gt; and let's secure Nigeria's developers, one scan at a time.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  🔗 Links
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/peternasarah/permi" rel="noopener noreferrer"&gt;github.com/peternasarah/permi&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;PyPI:&lt;/strong&gt; &lt;a href="https://pypi.org/project/permi" rel="noopener noreferrer"&gt;pypi.org/project/permi&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Twitter/X:&lt;/strong&gt; &lt;a href="https://twitter.com/peternasarah" rel="noopener noreferrer"&gt;@peternasarah&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Permi:&lt;/strong&gt; &lt;a href="https://peternasarah.github.io/permi" rel="noopener noreferrer"&gt;https://peternasarah.github.io/permi&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🏷️ Tags
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;cybersecurity&lt;/code&gt; &lt;code&gt;devsecops&lt;/code&gt; &lt;code&gt;opensource&lt;/code&gt; &lt;code&gt;python&lt;/code&gt; &lt;code&gt;buildinpublic&lt;/code&gt; &lt;code&gt;supplychainsecurity&lt;/code&gt;&lt;/p&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

</description>
      <category>cybersecurity</category>
      <category>devsecops</category>
      <category>opensource</category>
      <category>python</category>
    </item>
    <item>
      <title>The Vulnerability Scanner That Became the Vulnerability</title>
      <dc:creator>Peter Nasarah Dashe</dc:creator>
      <pubDate>Tue, 31 Mar 2026 21:27:31 +0000</pubDate>
      <link>https://dev.to/peternasarah/the-vulnerability-scanner-that-became-the-vulnerability-ak8</link>
      <guid>https://dev.to/peternasarah/the-vulnerability-scanner-that-became-the-vulnerability-ak8</guid>
      <description>&lt;h2&gt;
  
  
  The Story
&lt;/h2&gt;

&lt;p&gt;A vulnerability scanner got hacked.&lt;/p&gt;

&lt;p&gt;Then the hackers used it to poison one of the most popular AI libraries on the planet.&lt;/p&gt;

&lt;p&gt;That happened last week.&lt;/p&gt;

&lt;p&gt;Here's what went down:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;March 19&lt;/strong&gt; — TeamPCP compromised Aqua Security's Trivy, one of the most trusted open-source vulnerability scanners in DevSecOps.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;March 23&lt;/strong&gt; — Using stolen credentials, they compromised Checkmarx's KICS GitHub Actions and VS Code extensions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;March 24&lt;/strong&gt; — Those same credentials gave them access to LiteLLM's CI/CD pipeline.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Is LiteLLM?
&lt;/h2&gt;

&lt;p&gt;LiteLLM is the universal AI gateway used across &lt;strong&gt;36% of all cloud environments&lt;/strong&gt;. It averages &lt;strong&gt;95 million downloads per month&lt;/strong&gt;. It sits between applications and 100+ AI providers—holding API keys for OpenAI, Anthropic, AWS, and Azure in one place.&lt;/p&gt;

&lt;p&gt;The attackers published two backdoored versions to PyPI.&lt;/p&gt;




&lt;h2&gt;
  
  
  What the Malware Did
&lt;/h2&gt;

&lt;p&gt;In just three hours, the malware:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Harvested SSH keys, cloud credentials, and Kubernetes secrets&lt;/li&gt;
&lt;li&gt;Deployed privileged pods to every node in Kubernetes clusters&lt;/li&gt;
&lt;li&gt;Installed a persistent backdoor polling for additional payloads&lt;/li&gt;
&lt;li&gt;Swept cryptocurrency wallets and &lt;code&gt;.env&lt;/code&gt; files&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;TeamPCP posted this on Telegram:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;"These companies were built to protect your supply chains yet they can't even protect their own."&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;They also announced a partnership with LAPSUS$.&lt;/p&gt;

&lt;p&gt;Let that land.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Irony That Kills
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Victim&lt;/th&gt;
&lt;th&gt;Their Job&lt;/th&gt;
&lt;th&gt;What Happened&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Aqua Trivy&lt;/td&gt;
&lt;td&gt;Vulnerability scanner&lt;/td&gt;
&lt;td&gt;Got hacked&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Checkmarx KICS&lt;/td&gt;
&lt;td&gt;Infrastructure as Code security&lt;/td&gt;
&lt;td&gt;Got hacked&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;LiteLLM&lt;/td&gt;
&lt;td&gt;AI gateway with 95M downloads&lt;/td&gt;
&lt;td&gt;Got backdoored&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;The companies selling supply chain security became the supply chain risk.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  What This Means for Developers
&lt;/h2&gt;

&lt;p&gt;If Trivy, KICS, and LiteLLM—with all their resources and visibility—can be compromised this way, what does that mean for the rest of us?&lt;/p&gt;

&lt;p&gt;More importantly: &lt;strong&gt;What should we be asking our security tool providers right now?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I'm a cybersecurity student at UNIJOS, and I've been sitting with this question all week.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Question I Keep Coming Back To
&lt;/h2&gt;

&lt;p&gt;If you're using security tools in your workflow—scanners, CI/CD integrations, AI libraries—&lt;strong&gt;what's one thing you wish you knew about their security before you started using them?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Not asking for product pitches. Genuinely trying to understand how developers and security professionals are thinking about this.&lt;/p&gt;

&lt;p&gt;Drop your thoughts in the comments. I'll read every single one.&lt;/p&gt;




&lt;h2&gt;
  
  
  A Quick Reflection
&lt;/h2&gt;

&lt;p&gt;This attack reinforced something for me:&lt;/p&gt;

&lt;p&gt;Firewalls aren't enough. Tools aren't enough. Even the tools built to protect us need to be secured.&lt;/p&gt;

&lt;p&gt;If we're building on top of AI infrastructure, we have to start asking harder questions about the tools we trust—because right now, the attackers are asking the right questions.&lt;/p&gt;

&lt;p&gt;Let's learn together.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;If you found this helpful, consider sharing it with someone who's building on AI infrastructure. We need to have this conversation.&lt;/em&gt;&lt;/p&gt;




</description>
      <category>cybersecurity</category>
      <category>devsecops</category>
      <category>opensource</category>
      <category>supplychainsecurity</category>
    </item>
    <item>
      <title>Reducing False Positives in XSS Detection: Designing Confirmation-Based Scanners</title>
      <dc:creator>Peter Nasarah Dashe</dc:creator>
      <pubDate>Thu, 26 Feb 2026 23:53:23 +0000</pubDate>
      <link>https://dev.to/peternasarah/reducing-false-positives-in-xss-detection-designing-confirmation-based-scanners-2n26</link>
      <guid>https://dev.to/peternasarah/reducing-false-positives-in-xss-detection-designing-confirmation-based-scanners-2n26</guid>
      <description>&lt;p&gt;Most beginner vulnerability scanners detect XSS using a simple pattern:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Inject payload&lt;/li&gt;
&lt;li&gt;Check if payload appears in response&lt;/li&gt;
&lt;li&gt;If yes → flag vulnerability&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This approach is fast. It is also deeply flawed.&lt;/p&gt;

&lt;p&gt;In real-world applications, &lt;strong&gt;reflection alone does not equal exploitability&lt;/strong&gt;. Reflection without context analysis leads to massive false positives.&lt;/p&gt;

&lt;p&gt;In this article, I'll walk you through a structured approach to reducing false positives in reflected XSS detection.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Core Problem: Reflection ≠ Execution
&lt;/h2&gt;

&lt;p&gt;A payload appearing in the response does not mean:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;It executes&lt;/li&gt;
&lt;li&gt;It appears in a dangerous context&lt;/li&gt;
&lt;li&gt;It bypasses encoding&lt;/li&gt;
&lt;li&gt;It breaks out of attributes or scripts&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;You searched for: &lt;span class="ni"&gt;&amp;amp;lt;&lt;/span&gt;script&lt;span class="ni"&gt;&amp;amp;gt;&lt;/span&gt;alert(1)&lt;span class="ni"&gt;&amp;amp;lt;&lt;/span&gt;/script&lt;span class="ni"&gt;&amp;amp;gt;&lt;/span&gt;&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A naive scanner flags this. But the payload is HTML-encoded. There is no XSS. Yet many tools still report it.&lt;/p&gt;




&lt;h2&gt;
  
  
  Designing a Confirmation-Based Detection Model
&lt;/h2&gt;

&lt;p&gt;Instead of binary reflection checks, a structured scanner should:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Inject a uniquely identifiable marker&lt;/li&gt;
&lt;li&gt;Analyze where it appears&lt;/li&gt;
&lt;li&gt;Classify context&lt;/li&gt;
&lt;li&gt;Confirm exploitability conditions&lt;/li&gt;
&lt;li&gt;Only then report&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This changes detection from &lt;strong&gt;pattern-matching&lt;/strong&gt; to &lt;strong&gt;context validation&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  Step 1: Unique Marker Injection
&lt;/h2&gt;

&lt;p&gt;Instead of injecting generic payloads like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;script&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;alert&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="nt"&gt;&amp;lt;/script&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Use uniquely identifiable markers:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;PERMI_XSS_9fA21
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This allows precise reflection tracking without accidental matches.&lt;/p&gt;




&lt;h2&gt;
  
  
  Step 2: Context Classification
&lt;/h2&gt;

&lt;p&gt;Where did the marker appear?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Inside HTML body text&lt;/li&gt;
&lt;li&gt;Inside attribute value&lt;/li&gt;
&lt;li&gt;Inside JavaScript block&lt;/li&gt;
&lt;li&gt;Inside HTML tag name&lt;/li&gt;
&lt;li&gt;Inside comment&lt;/li&gt;
&lt;li&gt;Inside encoded output&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each context has different exploitability rules.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Safe contexts:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fully HTML encoded&lt;/li&gt;
&lt;li&gt;Inside comment&lt;/li&gt;
&lt;li&gt;Inside text node without script context&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Potentially dangerous contexts:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Inside unquoted attribute&lt;/li&gt;
&lt;li&gt;Inside JavaScript string&lt;/li&gt;
&lt;li&gt;Inside event handler&lt;/li&gt;
&lt;li&gt;Inside script block&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Context matters more than reflection.&lt;/p&gt;




&lt;h2&gt;
  
  
  Step 3: Encoding Detection
&lt;/h2&gt;

&lt;p&gt;Before reporting, confirm:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Is &lt;code&gt;&amp;lt;&lt;/code&gt; encoded?&lt;/li&gt;
&lt;li&gt;Is &lt;code&gt;"&lt;/code&gt; encoded?&lt;/li&gt;
&lt;li&gt;Is &lt;code&gt;'&lt;/code&gt; encoded?&lt;/li&gt;
&lt;li&gt;Are special characters escaped?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If the payload is consistently encoded, it should &lt;strong&gt;not&lt;/strong&gt; be flagged.&lt;/p&gt;

&lt;p&gt;A confirmation-based engine checks &lt;strong&gt;transformation patterns&lt;/strong&gt; instead of blindly matching strings.&lt;/p&gt;




&lt;h2&gt;
  
  
  Step 4: Multi-Step Validation
&lt;/h2&gt;

&lt;p&gt;Instead of one payload, use controlled variations:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Plain marker&lt;/li&gt;
&lt;li&gt;Attribute-breaking marker&lt;/li&gt;
&lt;li&gt;Script-breaking marker&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If only the plain marker reflects but breaking payloads do not alter structure, likelihood of exploitation decreases.&lt;/p&gt;

&lt;p&gt;This moves detection toward &lt;strong&gt;probabilistic validation&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  Moving Beyond Rule-Based Logic
&lt;/h2&gt;

&lt;p&gt;Traditional scanners operate with:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;reflected&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;report&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A better approach introduces &lt;strong&gt;weighted scoring&lt;/strong&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;confidence&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;reflection_weight&lt;/span&gt;  &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="mf"&gt;0.3&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt;
    &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;context_weight&lt;/span&gt;     &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="mf"&gt;0.4&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt;
    &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;encoding_bypass&lt;/span&gt;    &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="mf"&gt;0.2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt;
    &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;breakout_success&lt;/span&gt;   &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="mf"&gt;0.1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Only report if the score exceeds a defined threshold. This reduces false positives dramatically.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why This Matters
&lt;/h2&gt;

&lt;p&gt;False positives have real consequences:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Developer fatigue&lt;/li&gt;
&lt;li&gt;Security team distrust&lt;/li&gt;
&lt;li&gt;Ignored reports&lt;/li&gt;
&lt;li&gt;Delayed remediation&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Precision builds trust. Noise destroys it.&lt;/p&gt;

&lt;p&gt;If developers repeatedly see inaccurate reports, they stop believing the scanner.&lt;/p&gt;

&lt;p&gt;A well-designed tool should prefer &lt;strong&gt;fewer findings at higher confidence&lt;/strong&gt; over massive noisy output.&lt;/p&gt;




&lt;h2&gt;
  
  
  Architectural Considerations
&lt;/h2&gt;

&lt;p&gt;To support confirmation-based scanning:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Separate scanner modules from UI&lt;/li&gt;
&lt;li&gt;Centralize evidence formatting&lt;/li&gt;
&lt;li&gt;Use structured vulnerability models&lt;/li&gt;
&lt;li&gt;Keep payload sets modular&lt;/li&gt;
&lt;li&gt;Avoid embedding logic inside GUI layers&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Clean architecture makes improvement possible. Messy architecture locks in technical debt.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Bigger Picture
&lt;/h2&gt;

&lt;p&gt;Reducing false positives is not about clever payloads. It's about:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Context understanding&lt;/li&gt;
&lt;li&gt;Confirmation logic&lt;/li&gt;
&lt;li&gt;Structured scoring&lt;/li&gt;
&lt;li&gt;Thoughtful design&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Security tooling should evolve from brute-force injection engines to &lt;strong&gt;intelligent validation systems&lt;/strong&gt;. That's where the real engineering challenge lies.&lt;/p&gt;




&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;If you're building a scanner, don't ask: &lt;em&gt;"Did it reflect?"&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Ask: &lt;em&gt;"In what context did it reflect, and does that context allow execution?"&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The difference between those two questions is the difference between &lt;strong&gt;noise&lt;/strong&gt; and &lt;strong&gt;intelligence&lt;/strong&gt;.&lt;/p&gt;

</description>
      <category>appsec</category>
      <category>ai</category>
      <category>security</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
