<?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: Mahil Patel</title>
    <description>The latest articles on DEV Community by Mahil Patel (@mahil_patel).</description>
    <link>https://dev.to/mahil_patel</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%2F3501627%2F913d5cd3-78f9-4bba-b5e5-9a9572db90cf.png</url>
      <title>DEV Community: Mahil Patel</title>
      <link>https://dev.to/mahil_patel</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mahil_patel"/>
    <language>en</language>
    <item>
      <title>How We Built An AI-Assisted Dependency Vulnerability Scanner</title>
      <dc:creator>Mahil Patel</dc:creator>
      <pubDate>Sun, 14 Sep 2025 15:15:20 +0000</pubDate>
      <link>https://dev.to/kirodotdev/how-we-built-an-ai-assisted-dependency-vulnerability-scanner-5270</link>
      <guid>https://dev.to/kirodotdev/how-we-built-an-ai-assisted-dependency-vulnerability-scanner-5270</guid>
      <description>&lt;p&gt;When working across different projects, one recurring frustration always slowed us down: &lt;strong&gt;dependency vulnerabilities&lt;/strong&gt;. Finding out which package version was vulnerable, where it was used in the codebase, and how to fix it often took hours. Security alerts from platforms were helpful but rarely gave enough context to act quickly.  &lt;/p&gt;

&lt;p&gt;That pain point led us to build &lt;strong&gt;Astra&lt;/strong&gt; — an open-source tool that scans repositories for vulnerabilities, unused/outdated dependencies, and shows exactly where those dependencies are being used. On top of that, Astra integrates &lt;strong&gt;AI-powered fixes&lt;/strong&gt; to help developers stay in control while resolving issues faster.  &lt;/p&gt;




&lt;h2&gt;
  
  
  What is Astra?
&lt;/h2&gt;

&lt;p&gt;Astra is a &lt;strong&gt;dependency vulnerability scanner and repository management system&lt;/strong&gt; that:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Scans repositories and identifies dependencies
&lt;/li&gt;
&lt;li&gt;Checks them against the &lt;strong&gt;OSV.dev vulnerability database&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Highlights &lt;strong&gt;outdated or unused dependencies&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Shows &lt;strong&gt;where in the codebase&lt;/strong&gt; each dependency is used
&lt;/li&gt;
&lt;li&gt;Suggests &lt;strong&gt;AI-powered fixes&lt;/strong&gt; by creating safe patch branches
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And it all comes with an &lt;strong&gt;interactive dashboard UI&lt;/strong&gt; to make the results clear and actionable.  &lt;/p&gt;




&lt;h2&gt;
  
  
  How We Built It
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Frontend:&lt;/strong&gt; React + Vite + Recharts for clean, interactive visuals
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Desktop:&lt;/strong&gt; Electron wrapper for cross-platform support
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Backend:&lt;/strong&gt; Node.js + Express + MongoDB to handle scanning and storage
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Vulnerability Data:&lt;/strong&gt; OSV.dev API with batch queries for speed
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Code Usage Detection:&lt;/strong&gt; Tree-sitter for static analysis
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI Fixes:&lt;/strong&gt; Gemini CLI integration to propose safe code patches
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Challenges We Faced
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Scaling scans for large repos&lt;/strong&gt; → solved by skipping junk folders and &lt;code&gt;.gitignore&lt;/code&gt; entries (cut ~80% of files).
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Batch querying OSV API&lt;/strong&gt; reliably with large dependency sets.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Multi-ecosystem support&lt;/strong&gt; (npm + pip in the MVP).
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI patches overwriting developer intent&lt;/strong&gt; → solved with a patch-branch workflow that keeps developers in control.
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  What We’re Proud Of
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;A working prototype with real-world value.
&lt;/li&gt;
&lt;li&gt;Integrated &lt;strong&gt;AI code suggestions&lt;/strong&gt; safely.
&lt;/li&gt;
&lt;li&gt;A clean and intuitive &lt;strong&gt;dashboard UI&lt;/strong&gt;.
&lt;/li&gt;
&lt;li&gt;Multi-ecosystem support (JavaScript + Python) in the first MVP.
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  What We Learned
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;The complexity of &lt;strong&gt;supply chain security&lt;/strong&gt;.
&lt;/li&gt;
&lt;li&gt;Using &lt;strong&gt;Tree-sitter&lt;/strong&gt; for static code analysis.
&lt;/li&gt;
&lt;li&gt;Combining static analysis with &lt;strong&gt;real vulnerability data (OSV)&lt;/strong&gt;.
&lt;/li&gt;
&lt;li&gt;Designing &lt;strong&gt;AI-assisted developer tools&lt;/strong&gt;.
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  How Kiro Helped
&lt;/h2&gt;

&lt;p&gt;Kiro was used throughout Astra’s development as a coding partner. It played a huge role in:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Designing the &lt;strong&gt;system architecture&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Setting up the &lt;strong&gt;project structure&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Guiding both &lt;strong&gt;backend and frontend development&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Building APIs, integrating MongoDB, and connecting with OSV.dev
&lt;/li&gt;
&lt;li&gt;Creating a &lt;strong&gt;responsive React UI&lt;/strong&gt; with desktop support
&lt;/li&gt;
&lt;li&gt;Debugging issues and improving &lt;strong&gt;security best practices&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We structured conversations with Kiro iteratively: breaking down the project into smaller tasks (architecture → backend → frontend), refining ideas step by step, and fixing blockers quickly.  &lt;/p&gt;

&lt;p&gt;The most impressive help came from:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The &lt;strong&gt;prompt template for fixing vulnerabilities&lt;/strong&gt;, which streamlined scanning logic.
&lt;/li&gt;
&lt;li&gt;The &lt;strong&gt;high-quality UI code&lt;/strong&gt;, which made the dashboard clean and production-ready.
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Demo Video
&lt;/h2&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/XFiMSWMZ4KU"&gt;
  &lt;/iframe&gt;
  &lt;/p&gt;




&lt;h2&gt;
  
  
  Try It Yourself
&lt;/h2&gt;

&lt;p&gt;🔗 GitHub Repo: &lt;a href="https://github.com/Random-Pikachu/Astra" rel="noopener noreferrer"&gt;Astra on GitHub&lt;/a&gt; &lt;br&gt;
🔗 Devpost Submission: &lt;a href="http://devpost.com/software/astra-ixsd8h" rel="noopener noreferrer"&gt;Astra on Devpost&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  What’s Next for Astra
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Support for more ecosystems (Go, Java).
&lt;/li&gt;
&lt;li&gt;Smarter AI suggestions ranked by &lt;strong&gt;exploitability&lt;/strong&gt;.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;DevOps pipeline integration&lt;/strong&gt; to test fixes in staging.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Team dashboards&lt;/strong&gt; for monitoring across orgs.
&lt;/li&gt;
&lt;li&gt;Faster code usage detection with Tree-sitter optimization.
&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;With Astra, we wanted to turn the hours of frustration we and our peers faced into a tool that makes security approachable, actionable, and even a little exciting to work with.  &lt;/p&gt;

</description>
      <category>kiro</category>
      <category>kirohackathon</category>
      <category>productivity</category>
      <category>kirodotdev</category>
    </item>
  </channel>
</rss>
