<?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: OWASP BLT</title>
    <description>The latest articles on DEV Community by OWASP BLT (owaspblt).</description>
    <link>https://dev.to/owaspblt</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.us-east-2.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F12465%2Fd2237075-139f-4711-81f7-136fab749d1b.png</url>
      <title>DEV Community: OWASP BLT</title>
      <link>https://dev.to/owaspblt</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/owaspblt"/>
    <language>en</language>
    <item>
      <title>When GitHub Went Dark: How OWASP BLT Found a New Home</title>
      <dc:creator>Donnie Brown</dc:creator>
      <pubDate>Tue, 20 Oct 2026 23:54:11 +0000</pubDate>
      <link>https://dev.to/owaspblt/when-github-went-dark-how-owasp-blt-found-a-new-home-56o9</link>
      <guid>https://dev.to/owaspblt/when-github-went-dark-how-owasp-blt-found-a-new-home-56o9</guid>
      <description>&lt;p&gt;&lt;em&gt;50+ repositories went offline in the middle of Google Summer of Code. Here's how our community kept moving, and how an unexpected project became our new home.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;This one is a bit of a rollercoaster, so buckle up. 🎢&lt;/p&gt;

&lt;h2&gt;
  
  
  The calm before the storm
&lt;/h2&gt;

&lt;p&gt;It was the middle of &lt;strong&gt;Google Summer of Code (GSoC)&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;OWASP BLT (Bug Logging Tool) had more than 50 repositories under a single GitHub organization. We had everything from the core application to Slack bots, a browser extension, a hackathon platform, a GSoC tracker, and a long list of tools built and maintained by our contributors.&lt;/p&gt;

&lt;p&gt;Things were moving along nicely.&lt;/p&gt;

&lt;p&gt;Mentors were reviewing. Contributors were shipping. Leaderboards were updating. The usual open-source chaos, but the good kind.&lt;/p&gt;

&lt;p&gt;Then we decided to do some housekeeping.&lt;/p&gt;

&lt;p&gt;Good security hygiene, right?&lt;/p&gt;

&lt;p&gt;We applied an &lt;strong&gt;organization-wide GitHub ruleset&lt;/strong&gt; to enforce consistent repository protections across all our projects.&lt;/p&gt;

&lt;p&gt;A security-focused project enforcing security rules on its own organization.&lt;/p&gt;

&lt;p&gt;What could possibly go wrong?&lt;/p&gt;

&lt;h2&gt;
  
  
  The morning after: everything was gone
&lt;/h2&gt;

&lt;p&gt;We woke up to find our GitHub repositories offline.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;All 50+ of them.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;And here's where things got confusing.&lt;/p&gt;

&lt;p&gt;At almost exactly the same time, GitHub itself was experiencing an outage.&lt;/p&gt;

&lt;p&gt;So for several hours, we genuinely had no idea what was happening.&lt;/p&gt;

&lt;p&gt;Was it our new ruleset? Was something wrong with the BLT organization? Was it GitHub's outage? Or was the timing just a coincidence?&lt;/p&gt;

&lt;p&gt;We contacted GitHub support.&lt;/p&gt;

&lt;p&gt;Then we followed up.&lt;/p&gt;

&lt;p&gt;And followed up again.&lt;/p&gt;

&lt;p&gt;Days passed, and we never received a clear explanation for what had happened to our organization.&lt;/p&gt;

&lt;p&gt;Mostly, we got silence.&lt;/p&gt;

&lt;p&gt;Meanwhile, &lt;strong&gt;Google Summer of Code wasn't going to pause for us&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Contributors had active branches. Mentors had pull requests waiting for review. Projects had deadlines.&lt;/p&gt;

&lt;p&gt;When developers can't clone repositories or open pull requests, that's more than an inconvenience. It brings development to a halt.&lt;/p&gt;

&lt;p&gt;We needed another option.&lt;/p&gt;

&lt;h2&gt;
  
  
  Plan B: moving to GitLab
&lt;/h2&gt;

&lt;p&gt;Rather than keep waiting for answers, we moved our repositories to GitLab.&lt;/p&gt;

&lt;p&gt;We pushed the code, redirected contributors to the new location, and worked on getting everything running again.&lt;/p&gt;

&lt;p&gt;Repositories were accessible. CI pipelines were migrated where possible. Contributors could get back to work.&lt;/p&gt;

&lt;p&gt;It wasn't the migration we'd planned.&lt;/p&gt;

&lt;p&gt;Actually, we hadn't planned a migration at all.&lt;/p&gt;

&lt;p&gt;But the community adapted, and development continued.&lt;/p&gt;

&lt;p&gt;We still wanted our original GitHub organization restored, of course.&lt;/p&gt;

&lt;p&gt;We kept reaching out to GitHub over the following months.&lt;/p&gt;

&lt;p&gt;Unfortunately, we still didn't get a clear answer.&lt;/p&gt;

&lt;h2&gt;
  
  
  An unexpected plot twist: Kaif built a Git forge
&lt;/h2&gt;

&lt;p&gt;Here's where the story gets interesting.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Some time later, we learned that one of our community members, Kaif, had built something of his own.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;While we had been dealing with the fallout of losing access to our GitHub organization, Kaif had turned the situation into a project.&lt;/p&gt;

&lt;p&gt;He built &lt;strong&gt;&lt;a href="https://forkmesh.com" rel="noopener noreferrer"&gt;ForkMesh&lt;/a&gt;&lt;/strong&gt;, a self-hosted Git forge.&lt;/p&gt;

&lt;p&gt;Think of it as having your own GitHub-like platform, with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Git repositories and code hosting&lt;/li&gt;
&lt;li&gt;Issues and pull requests&lt;/li&gt;
&lt;li&gt;Actions-style CI/CD workflows&lt;/li&gt;
&lt;li&gt;Support for AI agents as first-class collaborators&lt;/li&gt;
&lt;li&gt;The ability to run your own instance&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The funny part?&lt;/p&gt;

&lt;p&gt;We hadn't set out to build or commission our own Git hosting platform.&lt;/p&gt;

&lt;p&gt;We had moved to GitLab to keep things going, and later discovered that someone in our community had built an entirely different option.&lt;/p&gt;

&lt;p&gt;So we gave ForkMesh a try.&lt;/p&gt;

&lt;p&gt;And it stuck.&lt;/p&gt;

&lt;h2&gt;
  
  
  From 50+ repositories to one home
&lt;/h2&gt;

&lt;p&gt;Today, OWASP BLT has a very different setup.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Our official source of truth is now &lt;a href="https://git.owaspblt.org/BLT" rel="noopener noreferrer"&gt;git.owaspblt.org/BLT&lt;/a&gt;, running on ForkMesh.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;And we took the opportunity to do something we'd wanted to do for a while: consolidate our projects.&lt;/p&gt;

&lt;p&gt;### One repository, all our history&lt;/p&gt;

&lt;p&gt;Instead of maintaining 50+ separate repositories, BLT projects now live together in one repository, organized into their own folders.&lt;/p&gt;

&lt;p&gt;We preserved their commit histories along the way.&lt;/p&gt;

&lt;p&gt;That means:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;45,000+ commits&lt;/strong&gt; preserved&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;260+ contributors&lt;/strong&gt; represented&lt;/li&gt;
&lt;li&gt;Projects organized in one place&lt;/li&gt;
&lt;li&gt;One central home for issues, contributions, and development&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That's a lot of community history, and we wanted to make sure it came with us.&lt;/p&gt;

&lt;p&gt;### GitHub is now our mirror&lt;/p&gt;

&lt;p&gt;Yes, you read that correctly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub went from being our primary home to being our backup.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Our repository at &lt;a href="https://github.com/OWASP/BLT" rel="noopener noreferrer"&gt;github.com/OWASP/BLT&lt;/a&gt; is now a read-only mirror, automatically synchronized from our forge.&lt;/p&gt;

&lt;p&gt;The source of truth is the forge we host.&lt;/p&gt;

&lt;p&gt;Funny how things turn around.&lt;/p&gt;

&lt;p&gt;### GitLab is archived, not forgotten&lt;/p&gt;

&lt;p&gt;We didn't just abandon our temporary GitLab home.&lt;/p&gt;

&lt;p&gt;Every open merge request was reviewed. Contributions worth bringing forward were merged into the new repository, with the original authors credited.&lt;/p&gt;

&lt;p&gt;Other merge requests were closed with explanations.&lt;/p&gt;

&lt;p&gt;Open issues were migrated to the forge, with references back to their original locations.&lt;/p&gt;

&lt;p&gt;The GitLab repositories remain archived so old links and project history are still accessible.&lt;/p&gt;

&lt;p&gt;### A little cleanup along the way&lt;/p&gt;

&lt;p&gt;We also used the migration as an opportunity to clean up some technical debt.&lt;/p&gt;

&lt;p&gt;For example, scheduled data jobs now write to Cloudflare storage instead of filling the Git history with automated bot commits.&lt;/p&gt;

&lt;p&gt;A bunch of little improvements that might not have happened otherwise.&lt;/p&gt;

&lt;p&gt;Sometimes an unexpected migration gives you a good excuse to fix things you've been putting off.&lt;/p&gt;

&lt;h2&gt;
  
  
  What this taught us
&lt;/h2&gt;

&lt;p&gt;There are a few lessons we're taking away from the experience.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Don't put all your eggs in one platform
&lt;/h3&gt;

&lt;p&gt;GitHub is an important part of the open-source ecosystem, but relying entirely on one platform introduces risks.&lt;/p&gt;

&lt;p&gt;Your source code, issues, contributions, and project history represent years of community effort.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Having a backup is inexpensive. Losing access without an explanation can be extremely costly.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We now have much more control over where our work lives.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Test organization-wide changes on a smaller scope first
&lt;/h3&gt;

&lt;p&gt;We still don't know exactly what caused our GitHub organization to become unavailable.&lt;/p&gt;

&lt;p&gt;It would be unfair to claim the ruleset was responsible without confirmation.&lt;/p&gt;

&lt;p&gt;But we learned something important regardless.&lt;/p&gt;

&lt;p&gt;When making changes that affect more than 50 repositories, start small.&lt;/p&gt;

&lt;p&gt;Test the behavior, understand the impact, and expand gradually.&lt;/p&gt;

&lt;p&gt;Because when a large change goes wrong, the consequences can be just as large.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Open-source communities are remarkably resilient
&lt;/h3&gt;

&lt;p&gt;This is probably the biggest takeaway.&lt;/p&gt;

&lt;p&gt;What kept BLT going wasn't a particular platform.&lt;/p&gt;

&lt;p&gt;It was the people.&lt;/p&gt;

&lt;p&gt;Contributors continued working. Mentors kept supporting students. The community found alternatives.&lt;/p&gt;

&lt;p&gt;And one community member went a step further and built a Git forge that eventually became our new home.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;That's the part of open source we love most: people turning problems into opportunities to build something useful.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Come build with us 🐝
&lt;/h2&gt;

&lt;p&gt;If you already contribute to OWASP BLT, or you've been thinking about getting started, our new forge is where the action happens.&lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;&lt;a href="https://git.owaspblt.org/BLT" rel="noopener noreferrer"&gt;Explore the OWASP BLT repository&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You can browse the projects, clone the repository, open issues, submit pull requests, and help us improve both BLT and the contributor experience.&lt;/p&gt;

&lt;p&gt;We're still learning what works best with our new setup, and we'd genuinely appreciate feedback.&lt;/p&gt;

&lt;h2&gt;
  
  
  One more thing: we have a world 🌍
&lt;/h2&gt;

&lt;p&gt;Because apparently moving 50+ repositories wasn't adventurous enough, there's also something fun to explore.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The forge comes with its own virtual world.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;OWASP BLT has its own hex, complete with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A &lt;strong&gt;bug terrarium&lt;/strong&gt; filled with websites that people have reported bugs on. You can walk inside through the door.&lt;/li&gt;
&lt;li&gt;A &lt;strong&gt;Hacker House&lt;/strong&gt; you can enter and explore.&lt;/li&gt;
&lt;li&gt;A road connecting the BLT world to the neighboring ForkMesh world.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It's a playful little addition to what started as a pretty frustrating situation.&lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;&lt;a href="https://git.owaspblt.org/world/" rel="noopener noreferrer"&gt;Take a walk around the BLT World&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;We started with more than 50 GitHub repositories, lost access to them in the middle of GSoC, moved to GitLab to keep development going, and eventually found a new home thanks to something a community member built.&lt;/p&gt;

&lt;p&gt;Not exactly the infrastructure roadmap we'd imagined.&lt;/p&gt;

&lt;p&gt;But here we are: &lt;strong&gt;45,000+ commits, 260+ contributors, one forge, and a community still building.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;See you on the forge. 🐝&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>github</category>
      <category>devops</category>
      <category>community</category>
    </item>
    <item>
      <title>Eleven Projects, One Remarkable Team: Celebrating OWASP BLT’s GSoC 2026</title>
      <dc:creator>Donnie Brown</dc:creator>
      <pubDate>Mon, 31 Aug 2026 01:11:26 +0000</pubDate>
      <link>https://dev.to/owaspblt/eleven-projects-one-remarkable-team-celebrating-owasp-blts-gsoc-2026-4dck</link>
      <guid>https://dev.to/owaspblt/eleven-projects-one-remarkable-team-celebrating-owasp-blts-gsoc-2026-4dck</guid>
      <description>&lt;p&gt;Open source is often measured in commits. The better measure is what those commits make possible.&lt;/p&gt;

&lt;p&gt;During GSoC 2026, the OWASP BLT community worked across &lt;strong&gt;11 projects&lt;/strong&gt;: four Google Summer of Code projects and seven paid internship projects. The team built zero-trust security pipelines, practical learning experiences, privacy tools, AI-assisted contributor workflows, edge-native services, and the infrastructure needed to run them in production.&lt;/p&gt;

&lt;p&gt;By the end of the summer, the portfolio was not a collection of slide decks. Nine projects had live applications or documentation sites, Hackerhouse had a new production domain and healthy database-backed deployment, and the Cloudflare-backed projects had current deployments and completed migrations.&lt;/p&gt;

&lt;p&gt;This is the team behind that progress.&lt;/p&gt;

&lt;h2&gt;
  
  
  The GSoC projects
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Preetham Poojari — BLT-NetGuardian
&lt;/h3&gt;

&lt;p&gt;Preetham helped turn NetGuardian into a serious zero-trust ingestion and triage pipeline. The system verifies signed finding envelopes, applies replay protection and role-based access, stores metadata in D1, and supports CVE-aware review. The result is a working bridge between distributed security research and accountable triage.&lt;/p&gt;

&lt;p&gt;The repository records &lt;strong&gt;90 commits by Preetham during the coding period&lt;/strong&gt;, and the deployed service now has scheduled maintenance running through BLT Monitor without consuming another Cloudflare cron slot.&lt;/p&gt;

&lt;p&gt;Mentors: &lt;strong&gt;Jisan&lt;/strong&gt; and &lt;strong&gt;CarlaV&lt;/strong&gt;.&lt;/p&gt;

&lt;p&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fuqgn8x72myb82qc23sg3.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fuqgn8x72myb82qc23sg3.png" alt="BLT-NetGuardian live site" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://netguardian.owaspblt.org/" rel="noopener noreferrer"&gt;Try NetGuardian&lt;/a&gt; · &lt;a href="https://gitlab.com/owasp-blt/blt-netguardian" rel="noopener noreferrer"&gt;Source code&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Sakshee Suman — BLT-University
&lt;/h3&gt;

&lt;p&gt;Sakshee advanced BLT-University as a hands-on security learning platform built around a clear loop: identify a vulnerability, explain it, and fix it. The project connects practical labs with real vulnerability insights and makes security education something learners can actively do.&lt;/p&gt;

&lt;p&gt;The local history shows &lt;strong&gt;40 coding-period commits across Sakshee’s author identities&lt;/strong&gt;. The result is live, browsable, and designed to make the next generation of security contributors more capable from day one.&lt;/p&gt;

&lt;p&gt;Mentors: &lt;strong&gt;BishalDas&lt;/strong&gt; and &lt;strong&gt;Chigorin.1337&lt;/strong&gt;.&lt;/p&gt;

&lt;p&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fvkn52xf83v6hixn532t9.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fvkn52xf83v6hixn532t9.png" alt="BLT-University live site" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://university.owaspblt.org/" rel="noopener noreferrer"&gt;Explore BLT-University&lt;/a&gt; · &lt;a href="https://gitlab.com/owasp-blt/blt-university" rel="noopener noreferrer"&gt;Source code&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Md Kaif Ansari — BLT-Next
&lt;/h3&gt;

&lt;p&gt;Md Kaif worked on the broadest architectural challenge in the programme: moving BLT from a tightly coupled Django application toward modular, edge-first services. BLT-Next demonstrates the direction with a static frontend, Cloudflare Workers, D1-backed services, and independently deployable capabilities.&lt;/p&gt;

&lt;p&gt;That work reaches beyond one repository. The programme roster credits Md Kaif across BLT-Next and supporting BLT services including API, docs, hackathons, jobs, monitor, newsletter, and Zero. The success here is architectural: a clearer path to a capable platform with dramatically lower hosting overhead.&lt;/p&gt;

&lt;p&gt;Mentors: &lt;strong&gt;DonnieBLT&lt;/strong&gt; and &lt;strong&gt;Rinkit Adhana&lt;/strong&gt;.&lt;/p&gt;

&lt;p&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fre7asfiymz3nkar7ifhb.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fre7asfiymz3nkar7ifhb.png" alt="BLT-Next live site" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://next.owaspblt.org/" rel="noopener noreferrer"&gt;Visit BLT-Next&lt;/a&gt; · &lt;a href="https://gitlab.com/owasp-blt/blt-next" rel="noopener noreferrer"&gt;Source code&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Ananya — BLT-Vanish
&lt;/h3&gt;

&lt;p&gt;Ananya evolved BLT-Vanish toward a universal identity shield: phishing detection, credential hygiene, suspicious-login correlation, encrypted workflows, and explainable risk scoring across web and Flutter clients.&lt;/p&gt;

&lt;p&gt;With &lt;strong&gt;59 coding-period commits&lt;/strong&gt; in the web repository, Ananya moved the project from an idea toward a cohesive privacy and personal-security experience. The production web app is now served from its dedicated OWASP BLT subdomain.&lt;/p&gt;

&lt;p&gt;Mentors: &lt;strong&gt;Ankitsinghsisodya&lt;/strong&gt; and &lt;strong&gt;Ramansh&lt;/strong&gt;.&lt;/p&gt;

&lt;p&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fppxdtedo06wbtmnajne5.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fppxdtedo06wbtmnajne5.png" alt="BLT-Vanish live site" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://vanish.owaspblt.org/" rel="noopener noreferrer"&gt;Try BLT-Vanish&lt;/a&gt; · &lt;a href="https://gitlab.com/owasp-blt/blt-vanish" rel="noopener noreferrer"&gt;Source code&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The paid internship projects
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Savio D’souza — BLT-Preflight
&lt;/h3&gt;

&lt;p&gt;Savio built an ambitious local-first contribution assistant spanning the editor, pre-commit checks, and CI. Its hybrid classifier and OWASP-documentation retrieval layer are designed to catch risk while a contributor can still act on the feedback—not after a review cycle has already stalled.&lt;/p&gt;

&lt;p&gt;Savio authored &lt;strong&gt;28 coding-period commits&lt;/strong&gt; across his recorded identities. Preflight is deployed as a live interactive experience, with the repository retaining a second optional API target for future provisioning.&lt;/p&gt;

&lt;p&gt;Volunteer mentor: &lt;strong&gt;Raj Gupta&lt;/strong&gt;.&lt;/p&gt;

&lt;p&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fa9g26un9o67to2y0xhcy.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fa9g26un9o67to2y0xhcy.png" alt="BLT-Preflight live site" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://preflight.owaspblt.org/" rel="noopener noreferrer"&gt;Open BLT-Preflight&lt;/a&gt; · &lt;a href="https://gitlab.com/owasp-blt/blt-preflight" rel="noopener noreferrer"&gt;Source code&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Ojaswa — BLT-Toasty
&lt;/h3&gt;

&lt;p&gt;Ojaswa’s Toasty tackles one of vulnerability management’s hardest operational problems: turning raw reports into safe, useful, structured intelligence. It combines fail-closed PII redaction, AI summarization, duplicate detection, webhook ingestion, durable state, and MCP export.&lt;/p&gt;

&lt;p&gt;The coding period includes &lt;strong&gt;74 commits by Ojaswa&lt;/strong&gt;, ending with a polished architecture showcase and quick-start experience. Toasty’s Worker, state migrations, and public site are deployed and tested.&lt;/p&gt;

&lt;p&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Flh96gf4kgcr1e9hpwhpq.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Flh96gf4kgcr1e9hpwhpq.png" alt="BLT-Toasty live site" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://toasty.owaspblt.org/" rel="noopener noreferrer"&gt;Meet Toasty&lt;/a&gt; · &lt;a href="https://gitlab.com/owasp-blt/blt-toasty" rel="noopener noreferrer"&gt;Source code&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Nachiket Roy — BLT-MCP
&lt;/h3&gt;

&lt;p&gt;Nachiket made Model Context Protocol practical for the BLT contributor ecosystem. BLT-MCP gives tools and agents a consistent way to discover capabilities and work with project context instead of relying on brittle, one-off automation.&lt;/p&gt;

&lt;p&gt;With &lt;strong&gt;88 coding-period commits&lt;/strong&gt;, Nachiket delivered one of the summer’s most active repositories. The live service makes the work immediately discoverable to both contributors and tool builders.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;BLT-MCP project experience&lt;/strong&gt;&lt;/p&gt;

&lt;p&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fwn7q34znm2mq54mjvl7v.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fwn7q34znm2mq54mjvl7v.png" alt="BLT-MCP project experience" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;BLT-MCP live CLI and vulnerability triage view&lt;/strong&gt;&lt;/p&gt;

&lt;p&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fs2pw48eygu5r6pqun3d3.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fs2pw48eygu5r6pqun3d3.png" alt="BLT-MCP live CLI and vulnerability triage view" width="800" height="419"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://mcp.owaspblt.org/" rel="noopener noreferrer"&gt;Explore BLT-MCP&lt;/a&gt; · &lt;a href="https://gitlab.com/owasp-blt/blt-mcp" rel="noopener noreferrer"&gt;Source code&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Karuna Rapolu — BLT-SafeCloak
&lt;/h3&gt;

&lt;p&gt;Karuna’s SafeCloak work focused on privacy guardrails and safer user workflows. The project gives users a security-focused place to reason about exposure and make better privacy decisions without turning the experience into an expert-only tool.&lt;/p&gt;

&lt;p&gt;The summer established a deployed, tested baseline and a public experience on its own subdomain—an important foundation for deeper privacy automation.&lt;/p&gt;

&lt;p&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fbr8z542aq2gkckhi9n3o.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fbr8z542aq2gkckhi9n3o.png" alt="BLT-SafeCloak live site" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://safecloak.owaspblt.org/" rel="noopener noreferrer"&gt;Visit SafeCloak&lt;/a&gt; · &lt;a href="https://gitlab.com/owasp-blt/blt-safecloak" rel="noopener noreferrer"&gt;Source code&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Rudra Pratap Singh — BLT-Hackerhouse
&lt;/h3&gt;

&lt;p&gt;Rudra helped build Hackerhouse as a collaboration pipeline for hands-on offensive and defensive security work. The application now has a real production stack: a Python Worker, Durable Objects, a D1 database, queue-backed events, applied migrations, and regression-tested health reporting.&lt;/p&gt;

&lt;p&gt;Rudra authored &lt;strong&gt;48 coding-period commits&lt;/strong&gt;. Hackerhouse also reached a particularly visible milestone this summer: a healthy production deployment at its new dedicated domain.&lt;/p&gt;

&lt;p&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fu6dvuanxv2y5s68cajgp.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fu6dvuanxv2y5s68cajgp.png" alt="BLT-Hackerhouse live site" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://hackerhouse.owaspblt.org/" rel="noopener noreferrer"&gt;Visit Hackerhouse&lt;/a&gt; · &lt;a href="https://gitlab.com/owasp-blt/blt-hackerhouse" rel="noopener noreferrer"&gt;Source code&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Sidd190 — BLT-Autopatch
&lt;/h3&gt;

&lt;p&gt;Sidd190 took on automated patch generation and validation: an idea with enormous potential to shorten the distance between discovering a vulnerability and safely remediating it.&lt;/p&gt;

&lt;p&gt;Autopatch is the portfolio’s earliest-stage project. Its success this summer was establishing the project home and a clear direction for the work ahead. Calling that out honestly matters: healthy open source celebrates shipped systems and the people laying foundations for the next contributors.&lt;/p&gt;

&lt;p&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F0cp8n02chznj147d5ka2.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F0cp8n02chznj147d5ka2.png" alt="BLT-Autopatch source project" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://gitlab.com/owasp-blt/blt-autopatch" rel="noopener noreferrer"&gt;Source code&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Jayant — BLT-MAYO
&lt;/h3&gt;

&lt;p&gt;Jayant developed BLT-MAYO as a shell dangerous-execution analyzer—a practical quality and safety tool for BLT engineering workflows. The repository now contains its Python package, tests, documentation, configuration example, and a focused analyzer design.&lt;/p&gt;

&lt;p&gt;Jayant authored &lt;strong&gt;three coding-period commits across his recorded identities&lt;/strong&gt;, progressing the project from initial structure into working analysis and test foundations.&lt;/p&gt;

&lt;p&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fri4dlr4pii7v6kkfye4y.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fri4dlr4pii7v6kkfye4y.png" alt="BLT-MAYO source project" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://gitlab.com/owasp-blt/blt-mayo" rel="noopener noreferrer"&gt;Source code&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What the team achieved together
&lt;/h2&gt;

&lt;p&gt;The individual stories are impressive. The shared outcome is bigger:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;11 contributors&lt;/strong&gt; received ownership of meaningful, security-focused projects.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Nine projects&lt;/strong&gt; now have live applications or documentation experiences.&lt;/li&gt;
&lt;li&gt;Cloudflare-backed releases were brought current and smoke-tested.&lt;/li&gt;
&lt;li&gt;D1 migrations were applied and verified with no pending migration queues.&lt;/li&gt;
&lt;li&gt;Hackerhouse gained a production database, queue, Durable Objects, and its own domain.&lt;/li&gt;
&lt;li&gt;NetGuardian’s maintenance schedule was integrated without exceeding the account’s five-cron limit.&lt;/li&gt;
&lt;li&gt;Project discovery now leads with live experiences and clearly identifies GitLab as the source-code home.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Most importantly, the team produced multiple on-ramps into open-source security: learn with University, protect identities with Vanish, review findings with NetGuardian, improve reports with Toasty, guide contributions with Preflight, and build new automation through MCP.&lt;/p&gt;

&lt;h2&gt;
  
  
  From the contributors
&lt;/h2&gt;

&lt;p&gt;The strongest account of a programme comes from the people who built it. Continue with these contributor stories, demos, and community reflections:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://dev.to/owaspblt/my-gsoc-journey-with-owasp-blt-4lm8"&gt;My GSoC Journey with OWASP BLT&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dev.to/owaspblt/building-an-ai-powered-security-tui-with-rust-and-mcp-oj9"&gt;Building an AI-Powered Security TUI with Rust and MCP&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://lnkd.in/p/gQkmQWXM" rel="noopener noreferrer"&gt;GSoC 2026 contributor reflection on LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/feed/update/urn:li:activity:7497988651306430465/" rel="noopener noreferrer"&gt;GSoC 2026 project progress shared on LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://lnkd.in/p/dQgYPZfM" rel="noopener noreferrer"&gt;GSoC 2026 project showcase on LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Thank you
&lt;/h2&gt;

&lt;p&gt;Thank you to every contributor, GSoC mentor, volunteer mentor, reviewer, tester, and community member who made room for this work to grow. Great mentoring is invisible in a diff, but visible everywhere in a project that becomes clearer, safer, and more welcoming over time.&lt;/p&gt;

&lt;p&gt;Explore the &lt;a href="https://gsoc.owaspblt.org/gsoc2026.html" rel="noopener noreferrer"&gt;full OWASP BLT GSoC 2026 team and project page&lt;/a&gt;, visit the &lt;a href="https://waypoint.owaspblt.org/" rel="noopener noreferrer"&gt;live project directory&lt;/a&gt;, and find the complete &lt;a href="https://gitlab.com/owasp-blt" rel="noopener noreferrer"&gt;source-code organization on GitLab&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The summer is over. The work—and the community behind it—is just getting started.&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>security</category>
      <category>gsoc</category>
      <category>webdev</category>
    </item>
    <item>
      <title>My GSoC journey with OWASP BLT</title>
      <dc:creator>saksh</dc:creator>
      <pubDate>Mon, 24 Aug 2026 11:41:28 +0000</pubDate>
      <link>https://dev.to/owaspblt/my-gsoc-journey-with-owasp-blt-4lm8</link>
      <guid>https://dev.to/owaspblt/my-gsoc-journey-with-owasp-blt-4lm8</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Flcm43fc02983hy16u0oi.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Flcm43fc02983hy16u0oi.gif" alt="owasp gsoc" width="200" height="200"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The journey of Google Summer of Code has come to an end.&lt;/p&gt;

&lt;p&gt;It is hard to believe how quickly the past few months have gone. When I first started contributing to OWASP BLT, I was simply trying to understand an unfamiliar open-source project and find a way to make my first meaningful contributions. I did not expect that journey to eventually lead me to GSoC and to working on BLT University.&lt;/p&gt;

&lt;p&gt;My journey with OWASP BLT started before GSoC, when I took my first steps into open source and began learning how to contribute to an existing project. I gradually became more comfortable with the codebase, the contribution process, and working through reviews and feedback. I documented those early experiences in my earlier post about getting started with open source.&lt;/p&gt;

&lt;p&gt;Over the course of the program, BLT University evolved significantly. What started as a small collection of interactive security labs grew into a broader security learning platform with interactive labs, courses, learning tracks, vulnerability insights, saved progress, recommendations, and automated browser testing.&lt;/p&gt;

&lt;p&gt;I shared the first half of my work in my &lt;a href="https://dev.to/owaspblt/gsoc26-midterm-blog-building-blt-university-into-an-interactive-security-learning-platform-30ho"&gt;midterm post&lt;/a&gt;. This final report brings together everything I built during GSoC, from the first interactive labs to learning tracks, vulnerability insights, saved progress, and browser tests.&lt;/p&gt;

&lt;p&gt;BLT University is now a static, interactive learning platform with 13 labs, five courses, two tracks, and a dashboard built from recent public vulnerability records. Progress is stored locally. You can explore the &lt;a href="https://blt-university-sakshee-gsoc.pages.dev/" rel="noopener noreferrer"&gt;live website&lt;/a&gt;, try the &lt;a href="https://blt-university-sakshee-gsoc.pages.dev/labs/sql_injection/" rel="noopener noreferrer"&gt;SQL injection lab&lt;/a&gt;, or explore the &lt;a href="https://blt-university-sakshee-gsoc.pages.dev/dashboard/" rel="noopener noreferrer"&gt;Security Trends dashboard&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo video
&lt;/h2&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/Q-nQPiyHpg8" width="710" height="399"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  What I built
&lt;/h2&gt;

&lt;p&gt;Over the course of GSoC, the project grew from a small set of interactive security labs into a broader learning platform. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Built the first interactive SQL injection, XSS, and CSRF simulations using the Identify, Explain, Fix flow. &lt;a href="https://gitlab.com/owasp-blt/blt-university/-/merge_requests/1" rel="noopener noreferrer"&gt;MR 1&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Added the lab structure, validation script, contributor guide, reusable template, and automatic validation. &lt;a href="https://gitlab.com/owasp-blt/blt-university/-/merge_requests/2" rel="noopener noreferrer"&gt;MR 2&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Updated the main site pages and layouts to improve navigation, responsiveness, and consistency. &lt;a href="https://gitlab.com/owasp-blt/blt-university/-/merge_requests/3" rel="noopener noreferrer"&gt;MR 3&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Added tests for validators, state changes, hints, saved progress, and lab simulation flows. &lt;a href="https://gitlab.com/owasp-blt/blt-university/-/merge_requests/4" rel="noopener noreferrer"&gt;MR 4&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Added the IDOR lab and its guided simulation. &lt;a href="https://gitlab.com/owasp-blt/blt-university/-/merge_requests/5" rel="noopener noreferrer"&gt;MR 5&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Added six more security labs, expanding the initial lab collection. &lt;a href="https://gitlab.com/owasp-blt/blt-university/-/merge_requests/6" rel="noopener noreferrer"&gt;MR 6&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Added the complete Identify, Explain, Fix simulations and reorganised the lab engine into focused files. &lt;a href="https://gitlab.com/owasp-blt/blt-university/-/merge_requests/8" rel="noopener noreferrer"&gt;MR 8&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Built the NVD and CISA vulnerability pipeline, CWE-to-OWASP lab mappings, schema validation, pipeline tests, and the generated 90-day dataset. &lt;a href="https://gitlab.com/owasp-blt/blt-university/-/merge_requests/10" rel="noopener noreferrer"&gt;MR 10&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Hardened the lab engine, improved saved-progress handling, reorganised validation code, and documented the engine behaviour. &lt;a href="https://gitlab.com/owasp-blt/blt-university/-/merge_requests/11" rel="noopener noreferrer"&gt;MR 11&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Added AST validation for JavaScript lab answers, tests that reject unrelated code containing expected security keywords. &lt;a href="https://gitlab.com/owasp-blt/blt-university/-/merge_requests/12" rel="noopener noreferrer"&gt;MR 12&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Built the Security Trends dashboard with charts, search, filters, a CVE explorer, text fallbacks, and progress-aware lab recommendations. &lt;a href="https://gitlab.com/owasp-blt/blt-university/-/merge_requests/13" rel="noopener noreferrer"&gt;MR 13&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Added Cyber Hygiene and Professional Security tracks, three Cyber Hygiene labs, track filters, course-to-lab navigation, and adaptive recommendations. &lt;a href="https://gitlab.com/owasp-blt/blt-university/-/merge_requests/14" rel="noopener noreferrer"&gt;MR 14&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Expanded five courses with interactive activities and related labs, then added saved progress, streaks, badges, next-course suggestions, and cross-browser tests. &lt;a href="https://gitlab.com/owasp-blt/blt-university/-/merge_requests/15" rel="noopener noreferrer"&gt;MR 15&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Future enhancements
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Automate regular vulnerability-data updates while keeping validation and review checks.&lt;/li&gt;
&lt;li&gt;Add more courses and labs across both learning tracks.&lt;/li&gt;
&lt;li&gt;Improve lab-authoring tools so contributors can create exercises more easily.&lt;/li&gt;
&lt;li&gt;Expand accessibility and browser testing across complete learning journeys.&lt;/li&gt;
&lt;li&gt;Add Python-based exercises and more adaptive hints.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Acknowledgements
&lt;/h2&gt;

&lt;p&gt;I would like to thank Google Summer of Code, OWASP, and the entire OWASP BLT community for giving me this opportunity and supporting me throughout my journey. A special thank you to Donnie Brown for his guidance, feedback, and support throughout the project. I am grateful to have worked with and contributed to this community.&lt;/p&gt;

</description>
      <category>owasp</category>
      <category>gsoc</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Building an AI-Powered Security TUI with Rust and MCP</title>
      <dc:creator>Nachiket Roy</dc:creator>
      <pubDate>Wed, 19 Aug 2026 16:05:15 +0000</pubDate>
      <link>https://dev.to/owaspblt/building-an-ai-powered-security-tui-with-rust-and-mcp-oj9</link>
      <guid>https://dev.to/owaspblt/building-an-ai-powered-security-tui-with-rust-and-mcp-oj9</guid>
      <description>&lt;h2&gt;
  
  
  Picking up where I left off
&lt;/h2&gt;

&lt;p&gt;In my &lt;a href="https://dev.to/owaspblt/connecting-ai-and-security-with-blt-mcp-2cgb"&gt;midterm update&lt;/a&gt;, I introduced the two main parts I was working on for OWASP BLT: &lt;strong&gt;BLT-MCP&lt;/strong&gt;, which connects AI models with the BLT API, and &lt;strong&gt;BLT-CLI&lt;/strong&gt;, a Rust-based terminal interface for working with BLT.&lt;/p&gt;

&lt;p&gt;At that point, most of the foundation was there, but some of the features were still being worked on. The triage workflow was still coming together, and the screenshot analysis feature was only an early experiment. Since then, both have come together quite a bit, so here is where the project is now.&lt;/p&gt;

&lt;h2&gt;
  
  
  What BLT-CLI can do now
&lt;/h2&gt;

&lt;p&gt;The CLI has grown quite a bit since the midterm version. You can browse vulnerabilities, search and filter reports, view bounty hunts, check contributor rankings, inspect individual vulnerabilities, submit new reports, and use the AI features for analysis and screenshots.&lt;/p&gt;

&lt;p&gt;There are also logs and health information available from the interface. Guest mode is available as well, so you can explore the application without having to configure everything first.&lt;br&gt;
Here is a small demo of BLT-CLI running in guest mode - &lt;br&gt;
  &lt;iframe src="https://www.youtube.com/embed/psd66flmThI"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  How it works
&lt;/h2&gt;

&lt;p&gt;There are currently two ways to use the CLI. In the basic mode, it talks directly to the BLT API.&lt;/p&gt;

&lt;p&gt;When AI features are needed, it can use BLT-MCP, which sits between the CLI, the BLT API, and the AI models. This keeps the terminal interface focused on the actual user experience while the MCP server handles the connection between the different services.&lt;/p&gt;

&lt;h2&gt;
  
  
  AI-assisted triage
&lt;/h2&gt;

&lt;p&gt;One of the main things I wanted to experiment with was using AI to help with triage. When looking at a vulnerability, the AI can analyze the available information and provide suggestions around severity, attack vectors, potential impact, duplicate risk, and other things worth considering.&lt;/p&gt;

&lt;p&gt;The AI does not automatically change the vulnerability. It gives you an analysis that you can review and decide what to do with. I think this is an important distinction. AI can save time when doing repetitive analysis, but I did not want it making changes behind the scenes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Submitting reports from the terminal
&lt;/h2&gt;

&lt;p&gt;The report submission workflow is also now part of the CLI. You can fill in the usual information such as the title, URL, severity, bug type, description, and proof of concept.&lt;/p&gt;

&lt;p&gt;The form can be filled out entirely from the terminal and submitted directly to BLT. So the workflow can now go from looking at a vulnerability, analyzing it, writing the report, and submitting it without having to constantly move between different applications.&lt;/p&gt;

&lt;h2&gt;
  
  
  From a screenshot to a report
&lt;/h2&gt;

&lt;p&gt;This was probably the feature I was most interested in when I started working on the project. At the time of the midterm update, the vision part was still very experimental. Now it works as part of the normal workflow.&lt;/p&gt;

&lt;p&gt;You can provide a screenshot and the vision model can analyze it and help fill in parts of a vulnerability report, including the title and reproduction steps.&lt;/p&gt;

&lt;h2&gt;
  
  
  What comes next
&lt;/h2&gt;

&lt;p&gt;There is still plenty to improve. Some of them are better AI analysis, more reliable MCP tools, smoother TUI workflows, better error handling, and more functionality in the CLI.&lt;/p&gt;

&lt;p&gt;I also want to keep experimenting with how AI can fit into security workflows without turning everything into an automatic black box. The current version is really just a starting point.&lt;/p&gt;

&lt;h2&gt;
  
  
  Wrapping up
&lt;/h2&gt;

&lt;p&gt;This also concludes my summer term project. It was genuinely fun to spend the term building and testing new things, especially getting to work with Rust, MCP, AI models, and the terminal UI together.&lt;/p&gt;

&lt;p&gt;Not everything worked on the first try, and there were plenty of things I had to rethink along the way, but that was probably one of the best parts of the project. I got to experiment with different ideas and see what actually made sense once everything was put together.&lt;/p&gt;

&lt;p&gt;There is still a lot that can be improved, but I am happy with where the project ended up compared to where it started.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it out
&lt;/h2&gt;

&lt;p&gt;The project is still evolving, so there are definitely some rough edges.&lt;/p&gt;

&lt;p&gt;BLT-CLI and BLT-MCP will be published soon, and once they are available, you will be able to try them out yourself. If you find something that does not work or have an idea for improving the workflow, feel free to open an issue or merge request.&lt;/p&gt;

&lt;p&gt;The project is still being built, and feedback from people actually using it is probably the most useful thing it can get.&lt;/p&gt;

&lt;p&gt;Thank you for reading and following along!!&lt;/p&gt;

</description>
      <category>ai</category>
      <category>cli</category>
      <category>rust</category>
      <category>security</category>
    </item>
    <item>
      <title>Connecting AI and Security with BLT-MCP</title>
      <dc:creator>Nachiket Roy</dc:creator>
      <pubDate>Mon, 06 Jul 2026 21:25:45 +0000</pubDate>
      <link>https://dev.to/owaspblt/connecting-ai-and-security-with-blt-mcp-2cgb</link>
      <guid>https://dev.to/owaspblt/connecting-ai-and-security-with-blt-mcp-2cgb</guid>
      <description>&lt;p&gt;This summer i was given the opportunity to work on my BLT-MCP project with OWASP-BLT. Over the last few months, I've been working on transforming how users interact with BLT. Now it marks the midpoint of the project, and there's been some interesting development i would like to share.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is MCP?&lt;/strong&gt;&lt;br&gt;
MCP (Model Context Protocol) is an emerging open standard that helps AI models securely interact with local tools and remote data sources. By building an MCP server for OWASP BLT, we're essentially teaching AI assistants (like Claude, Cursor) how to natively speak with BLT directly. Your AI can read issue context, browse repositories, and submit vulnerabilities, without ever leaving your IDE.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Two Pillars So Far&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;The MCP Server&lt;br&gt;
Written in Python, the server acts as the translation layer between LLMs and the BLT API. It exposes two main capabilities to the AI:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Resources (blt:// URIs) - the AI can fetch live data exactly when it needs context. For example, reading blt://issues/123 to get the details of a specific vulnerability.&lt;/li&gt;
&lt;li&gt;Tools - actionable endpoints that let the AI do things, like submit_issue and add_comment.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The BLT-CLI (Rust Terminal UI)&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;While IDE integration is great, sometimes you just want a fast terminal experience. I built BLT-CLI in Rust using ratatui a Terminal UI (TUI) that connects directly to the MCP server and the BLT API. Triage logic is being built alongside it, so you can browse, review, and act on issues right from the terminal.&lt;/p&gt;

&lt;p&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F7fail4gc4myc0882dv50.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F7fail4gc4myc0882dv50.png" alt="BLT easter" width="800" height="488"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What's Next&lt;/strong&gt;&lt;br&gt;
The core logic and terminal are built. For the remaining sprint, I'll be focused on testing everything end-to-end, polishing the rough edges, and starting work on a vision pipeline that can turn a dropped screenshot into a drafted vulnerability report, which is still early and in progress.&lt;br&gt;
Thanks for following along!&lt;/p&gt;

</description>
      <category>mcp</category>
      <category>owasp</category>
      <category>cli</category>
    </item>
    <item>
      <title>Building BLT HackerHouse: An Open Source Journey!</title>
      <dc:creator>rp_dex</dc:creator>
      <pubDate>Sun, 05 Jul 2026 16:35:08 +0000</pubDate>
      <link>https://dev.to/owaspblt/building-blt-hackerhouse-an-open-source-journey-4cdj</link>
      <guid>https://dev.to/owaspblt/building-blt-hackerhouse-an-open-source-journey-4cdj</guid>
      <description>&lt;p&gt;Over the past few weeks, I've had the opportunity to intern with OWASP BLT, where I've been working on BLT HackerHouse a real time platform that visualizes contributor activity in an interactive virtual house.&lt;/p&gt;

&lt;p&gt;The idea behind HackerHouse is simple: as contributors open merge requests, report bugs, or interact with the project, their avatars move through different rooms, giving maintainers a live overview of what's happening across the community. Behind that visualization is a backend responsible for processing events, managing contributor state, and delivering updates in real time.&lt;/p&gt;

&lt;p&gt;When I joined, I expected my biggest challenge to be designing the backend architecture. Instead, the project took an unexpected turn.&lt;/p&gt;

&lt;p&gt;During development, the OWASP BLT GitHub organization became inaccessible, requiring the team to migrate active development to GitLab. It wasn't just a matter of moving repositories documentation, development workflows, CI/CD pipelines, and contributor onboarding all had to be updated while development continued.&lt;/p&gt;

&lt;p&gt;It was the first time I'd experienced how quickly the direction of an open source project can change and how important adaptability is. Watching the community reorganize and keep shipping despite the disruption was a valuable lesson in resilience.&lt;/p&gt;

&lt;p&gt;Alongside the migration, I focused on building the backend foundation for HackerHouse. This included designing an event processing pipeline, implementing webhook handling, creating a unified event model, building real-time communication with WebSockets, and writing automated tests to ensure the system remained reliable as it evolved.&lt;/p&gt;

&lt;p&gt;One of my biggest takeaways from this internship has been that building software isn't just about implementing features. It's about designing systems that can evolve, collaborating with an open source community, and adapting when unexpected challenges arise.&lt;/p&gt;

&lt;p&gt;I'm excited to continue developing HackerHouse over the coming weeks and contribute further to the OWASP BLT ecosystem. This experience has already taught me far more than I expected not just about backend engineering, but about how resilient and collaborative open source communities can be.&lt;/p&gt;

</description>
      <category>backend</category>
      <category>opensource</category>
      <category>showdev</category>
      <category>webdev</category>
    </item>
    <item>
      <title>GSoC'26 Midterm Blog: Building BLT University Into an Interactive Security Learning Platform</title>
      <dc:creator>saksh</dc:creator>
      <pubDate>Sun, 05 Jul 2026 15:51:10 +0000</pubDate>
      <link>https://dev.to/owaspblt/gsoc26-midterm-blog-building-blt-university-into-an-interactive-security-learning-platform-30ho</link>
      <guid>https://dev.to/owaspblt/gsoc26-midterm-blog-building-blt-university-into-an-interactive-security-learning-platform-30ho</guid>
      <description>&lt;h3&gt;
  
  
  Overview
&lt;/h3&gt;

&lt;p&gt;This summer, I got the chance to contribute to OWASP BLT, a project under the OWASP umbrella organization, through Google Summer of Code 2026. My project is focused on BLT University, a security learning platform that helps learners and contributors understand web vulnerabilities through hands-on labs.&lt;/p&gt;

&lt;p&gt;The main idea behind this project is simple: instead of only reading about vulnerabilities, learners should be able to identify vulnerable code, explain why it is unsafe, and then fix it. This makes security learning more practical and closer to real open-source contribution work.&lt;/p&gt;

&lt;p&gt;BLT University is part of the OWASP BLT ecosystem and aims to make cybersecurity education more accessible through open learning material and practical labs.&lt;/p&gt;

&lt;p&gt;During the first half of GSoC, most of my work went into building the foundation for this experience: structuring labs, creating an interactive lab engine, adding validation, improving contributor workflows, and setting up tests so the platform can grow safely.&lt;/p&gt;

&lt;h3&gt;
  
  
  What is my GSoC all about?
&lt;/h3&gt;

&lt;p&gt;My GSoC project is about transforming BLT University from a mostly static educational site into an interactive cybersecurity learning platform.&lt;/p&gt;

&lt;p&gt;The core learning flow I am building is:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Identify the vulnerable part of a code snippet.&lt;/li&gt;
&lt;li&gt;Explain why the code is vulnerable.&lt;/li&gt;
&lt;li&gt;Fix the issue using safer code.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This flow is being built on top of a static Jekyll site, so a big part of the work has been designing a system that works without a traditional backend while still supporting structured content, validation, progress tracking, and future dashboard features.&lt;/p&gt;

&lt;p&gt;The main tech stack for this phase included Jekyll, Markdown, YAML frontmatter, JavaScript, JSON Schema, Python validation scripts, Jest, jsdom, GitLab CI, and browser &lt;code&gt;localStorage&lt;/code&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Key deliverables
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Lab content and platform structure&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Created 10 labs across major web security topics.&lt;/li&gt;
&lt;li&gt;Moved lab content into &lt;code&gt;_labs/&lt;/code&gt; using Markdown and YAML frontmatter.&lt;/li&gt;
&lt;li&gt;Added lab listing and lab detail pages.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fz76wkxlr9fnvq9w4gl18.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fz76wkxlr9fnvq9w4gl18.png" alt="Lab preview" width="800" height="473"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Interactive learning experience&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Built an interactive lab engine with Identify, Explain, and Fix stages.&lt;/li&gt;
&lt;li&gt;Added line-selection based vulnerability identification.&lt;/li&gt;
&lt;li&gt;Added explanation and fix validation.&lt;/li&gt;
&lt;li&gt;Added browser-side progress storage using &lt;code&gt;localStorage&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;&lt;strong&gt;Contributor workflow&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Added schema validation for labs.&lt;/li&gt;
&lt;li&gt;Added a lab validation script for contributors.&lt;/li&gt;
&lt;li&gt;Added contributor documentation and a reusable lab template.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Gitlab CIs &amp;amp; Tests&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Added GitLab CI checks for validation, build, and tests.&lt;/li&gt;
&lt;li&gt;Added a Jest test baseline for lab behavior, validators, progress storage, and state transitions.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Progress vs proposal
&lt;/h3&gt;

&lt;p&gt;At midterm, the strongest progress is in the foundation layer. BLT University now has a structured lab platform and the core interactive learning flow is mostly in place.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Proposal area&lt;/th&gt;
&lt;th&gt;Current progress&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;Structured labs&lt;/td&gt;
&lt;td&gt;Labs live in &lt;code&gt;_labs/&lt;/code&gt; and render through Jekyll.&lt;/td&gt;
&lt;td&gt;Mostly complete&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Interactive flow&lt;/td&gt;
&lt;td&gt;Identify, Explain, Fix, feedback, hints, and progress storage are working.&lt;/td&gt;
&lt;td&gt;Mostly complete&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Contributor workflow&lt;/td&gt;
&lt;td&gt;Schema validation, docs, and a reusable lab template are in place.&lt;/td&gt;
&lt;td&gt;Mostly complete&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Quality checks&lt;/td&gt;
&lt;td&gt;GitLab CI and Jest test coverage have been added.&lt;/td&gt;
&lt;td&gt;In progress&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Intelligence dashboard&lt;/td&gt;
&lt;td&gt;Planned for the second half.&lt;/td&gt;
&lt;td&gt;Upcoming&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Personalisation&lt;/td&gt;
&lt;td&gt;Recommendations, analytics, badges, and streaks are planned next.&lt;/td&gt;
&lt;td&gt;In second half&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  Architecture
&lt;/h3&gt;

&lt;p&gt;The main challenge was connecting the different parts of BLT University into a reusable system.&lt;/p&gt;

&lt;p&gt;Lab content begins in &lt;code&gt;_labs/&lt;/code&gt;, where each lab is defined using Markdown and YAML frontmatter. During the Jekyll build process, these files are transformed into static pages. A shared JavaScript engine then powers the interactive Identify, Explain, and Fix workflow by loading the lab configuration, rendering the simulation, validating learner submissions, and tracking progress in the browser using &lt;code&gt;localStorage&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;flowchart LR
    author["Contributor writes lab&amp;lt;br/&amp;gt;Markdown + YAML frontmatter"] --&amp;gt; labs["_labs/ collection"]
    labs --&amp;gt; schema["Schema validation&amp;lt;br/&amp;gt;and lab checks"]
    schema --&amp;gt; ci["GitLab CI&amp;lt;br/&amp;gt;validate, build, test"]
    labs --&amp;gt; jekyll["Jekyll build"]
    jekyll --&amp;gt; page["Static lab page"]
    page --&amp;gt; data["Embedded lab data"]
    data --&amp;gt; engine["JavaScript lab engine"]
    engine --&amp;gt; identify["Identify vulnerable code"]
    identify --&amp;gt; explain["Explain the issue"]
    explain --&amp;gt; fix["Fix with safer code"]
    fix --&amp;gt; progress["Browser progress&amp;lt;br/&amp;gt;localStorage"]
    engine --&amp;gt; feedback["Hints and validation feedback"]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Merge requests
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;a href="https://gitlab.com/owasp-blt/blt-university/-/merge_requests/1" rel="noopener noreferrer"&gt;MR !1&lt;/a&gt; introduced the first interactive simulation work and helped move the project from static reading material toward hands-on labs.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://gitlab.com/owasp-blt/blt-university/-/merge_requests/2" rel="noopener noreferrer"&gt;MR !2&lt;/a&gt; improved the lab page structure and site integration so labs could be rendered more consistently.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://gitlab.com/owasp-blt/blt-university/-/merge_requests/3" rel="noopener noreferrer"&gt;MR !3&lt;/a&gt; added schema validation, the lab validation script, and contributor-facing lab documentation.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://gitlab.com/owasp-blt/blt-university/-/merge_requests/4" rel="noopener noreferrer"&gt;MR !4&lt;/a&gt; expanded the lab with additional web security labs such as command injection, file upload vulnerabilities, open redirect, sensitive data exposure, and SSRF.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://gitlab.com/owasp-blt/blt-university/-/merge_requests/5" rel="noopener noreferrer"&gt;MR !5&lt;/a&gt; added automated test coverage for validators, simulation state transitions, progress storage, and lab engine behavior.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://gitlab.com/owasp-blt/blt-university/-/merge_requests/6" rel="noopener noreferrer"&gt;MR !6&lt;/a&gt; refined the lab simulation experience and addressed review feedback around reusable simulation behavior.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Links:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Repository: &lt;a href="https://gitlab.com/owasp-blt/blt-university" rel="noopener noreferrer"&gt;BLT University on GitLab&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Live demo: &lt;a href="https://blt-university-250f70.gitlab.io/" rel="noopener noreferrer"&gt;BLT University&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Challenges &amp;amp; What I Learned
&lt;/h3&gt;

&lt;p&gt;One of the main challenges was building interactive experiences on a static Jekyll site without relying on a backend. The lab pages are static, but the learner experience still needs dynamic behaviour: selecting lines, validating answers, showing feedback, and tracking progress. This pushed me to think carefully about what should live in Markdown, what should be handled by Jekyll, and what should be handled by JavaScript.&lt;/p&gt;

&lt;p&gt;Another challenge was designing reusable validators. Security fixes can be written in many valid ways, so the validators cannot simply check for one exact answer. They need to focus on secure coding patterns, such as parameterised queries or restricted redirects, while still giving useful feedback to learners.&lt;/p&gt;

&lt;p&gt;I also learned how important state management is in an interactive learning flow. A step being unlocked is different from a step being completed, and learners should be able to restart earlier stages without the UI showing later stages as complete. Fixing these details made the lab engine feel more reliable and less confusing.&lt;/p&gt;

&lt;h3&gt;
  
  
  Next phase after midterm
&lt;/h3&gt;

&lt;p&gt;After midterm, the focus will move from the foundation layer to the intelligence and personalisation layer.&lt;/p&gt;

&lt;p&gt;It will include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Building the vulnerability intelligence dashboard to show vulnerability trends, OWASP category patterns, and related BLT University labs.&lt;/li&gt;
&lt;li&gt;Creating data files for vulnerability trends and OWASP category weights.&lt;/li&gt;
&lt;li&gt;Mapping vulnerability patterns to relevant labs.&lt;/li&gt;
&lt;li&gt;Building a recommendation system based on learner progress and vulnerability frequency.&lt;/li&gt;
&lt;li&gt;Improving the lab dashboard experience.&lt;/li&gt;
&lt;li&gt;Adding learner analytics across categories.&lt;/li&gt;
&lt;li&gt;Improving accessibility and keyboard navigation.&lt;/li&gt;
&lt;li&gt;Adding badges, streaks, and static hint fallbacks.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The long-term goal is for BLT University to become a platform where contributors can learn security through practice and understand which vulnerabilities matter most based on real patterns from open-source development.&lt;/p&gt;

&lt;p&gt;The first half of GSoC was about building the foundation: labs, validation, reusable interactions, contributor workflows, and tests. In the second half, I'll be building smarter learning experience where BLT University not only teaches individual vulnerabilities, but also helps learners understand what to practice next and why it matters.&lt;/p&gt;

&lt;h3&gt;
  
  
  Acknowledgement
&lt;/h3&gt;

&lt;p&gt;I would like to thank all my mentors, for their guidance, review feedback, and support throughout this period.&lt;/p&gt;

&lt;p&gt;Thank you for reading :) &lt;/p&gt;

</description>
      <category>opensource</category>
      <category>gsoc</category>
      <category>owasp</category>
      <category>programming</category>
    </item>
    <item>
      <title>📢 Calling all Content Writers &amp; Community Builders!</title>
      <dc:creator>Ananya</dc:creator>
      <pubDate>Sun, 03 May 2026 20:21:06 +0000</pubDate>
      <link>https://dev.to/owaspblt/calling-all-content-writers-community-builders-25c9</link>
      <guid>https://dev.to/owaspblt/calling-all-content-writers-community-builders-25c9</guid>
      <description>&lt;p&gt;Hey everyone! We are opening up opportunities for everyone to contribute to our official social media channels. If you enjoy writing, sharing tech insights, or highlighting community wins, we want you on the &lt;strong&gt;BLT Newsroom team&lt;/strong&gt;! 🗞️✨&lt;/p&gt;

&lt;p&gt;Here is how the process works:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Topics &amp;amp; Deadlines:&lt;/strong&gt; We will regularly share specific writing topics based on our current requirements, along with a submission deadline. &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Submit Your Draft:&lt;/strong&gt; Write your post based on the given topic and share your draft right here in the group before the deadline hits. &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Review &amp;amp; Feedback:&lt;/strong&gt; The lead project maintainer and social media maintainers will review all the submitted drafts. &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Final Selection:&lt;/strong&gt; The draft that gets the top reviews will be selected and published on the official OWASP BLT social media pages! &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is a fantastic way to build your portfolio, practice your technical writing, and get your work seen by a much wider audience. Keep an eye out for our first topic announcement soon! 🎨💻&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Apply here:&lt;/strong&gt; &lt;a href="https://jobs.owaspblt.org/job.html?id=owasp-blt-content-writer" rel="noopener noreferrer"&gt;https://jobs.owaspblt.org/job.html?id=owasp-blt-content-writer&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Join our slack community today!&lt;/strong&gt;👉&lt;a href="https://join.slack.com/t/owaspblt/shared_invite/zt-3rstz26wj-WtlZFo5RXqT_9UwNYJeycw" rel="noopener noreferrer"&gt;https://join.slack.com/t/owaspblt/shared_invite/zt-3rstz26wj-WtlZFo5RXqT_9UwNYJeycw&lt;/a&gt;&lt;br&gt;
Then join the newsroom channel. &lt;/p&gt;

&lt;p&gt;See you all with your first drafts here! &lt;/p&gt;

</description>
      <category>community</category>
      <category>news</category>
      <category>socialmedia</category>
      <category>writing</category>
    </item>
    <item>
      <title>Accepted into GSoC 2026: From First PR to Official Selection</title>
      <dc:creator>Ananya</dc:creator>
      <pubDate>Thu, 30 Apr 2026 18:17:01 +0000</pubDate>
      <link>https://dev.to/owaspblt/accepted-into-gsoc-2026-from-first-pr-to-official-selection-2hlj</link>
      <guid>https://dev.to/owaspblt/accepted-into-gsoc-2026-from-first-pr-to-official-selection-2hlj</guid>
      <description>&lt;p&gt;If some had told me in my first year of university that I would be writing this post, I wouldn't have believed. &lt;/p&gt;

&lt;p&gt;Today, I finally achieved a dream I have held onto for years: I’ve officially cracked &lt;strong&gt;Google Summer of Code 2026!&lt;/strong&gt; with &lt;a class="mentioned-user" href="https://dev.to/owasp_foundation"&gt;@owasp_foundation&lt;/a&gt; under OWASP BLT✨ It might seem like just another program to some, but for me, this is a dream coming true-a journey of collecting broken pieces, holding them together, and building something completely new. &lt;/p&gt;

&lt;h2&gt;
  
  
  🍂 The Beginning
&lt;/h2&gt;

&lt;p&gt;Coming from a computer science background in high school to an unexpected core engineering major in university was a drastic shift. My first year was spent just trying to heal my lost confidence and survive the transition. I heard about GSoC back then, but since I wasn't involved in the tech community, it felt like a distant, impossible mountain. &lt;/p&gt;

&lt;p&gt;The real struggle hit in my second year. The syllabus was exhausting. By the time my second year rolled around, I started peeking outside my core curriculum. I heard whispers of hackathons, open-source contributions, and got more involved in exploring this "famous" program called GSoC. I made my first attempt at GSoC by looking into organizations. I failed. I didn't have the knowledge of any tech stack, Git, or the skills to write those hundreds of lines of codes. &lt;/p&gt;

&lt;h2&gt;
  
  
  ☕ The Turning Point
&lt;/h2&gt;

&lt;p&gt;That failure was my wake-up call. During the summer break, I made a choice. I grounded myself, cut out the outside world, and sat at my desk for three months straight. I began participating in hackathons, doing LeetCode, and my open-source journey truly took off with GirlScript Summer of Code (GSSoC) 2025. That experience gave me the momentum and belief I needed to aim higher. &lt;/p&gt;

&lt;h2&gt;
  
  
  💻 The GSoC Grind
&lt;/h2&gt;

&lt;p&gt;In October, I changed my strategy, dug through past archives, and found an organization that perfectly matched my new skills: OWASP BLT.&lt;/p&gt;

&lt;p&gt;The struggle didn't end there. For the first few months, I had to work incredibly hard just to understand how a single line of code contributed to the final service on their homepage. But I stayed consistent. I opened my first PR, fixed bugs, and slowly became a constant contributor from October all the way through March, balancing my contributions with my core curriculum.&lt;/p&gt;

&lt;h2&gt;
  
  
  🤍 The Gratitude
&lt;/h2&gt;

&lt;p&gt;This win is not mine alone. It belongs to the incredible people who believed in me:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;To my Father and Mother&lt;/strong&gt;: You are my strength. Your faith in me when I had none is why I am here.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;My Circle&lt;/strong&gt;: To the few friends who stood by me and fueled this journey.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I met incredible people in this organization. To our Lead Project Maintainer, &lt;a class="mentioned-user" href="https://dev.to/donnieblt"&gt;@donnieblt&lt;/a&gt; : Thank you. Every single step I have taken in this organization was only possible because of your support. If you hadn't been there, I wouldn't have reached this level of excellence. &lt;/p&gt;

&lt;p&gt;I am endlessly humbled and grateful to every energy out there that helped make this dream a reality.&lt;/p&gt;

&lt;p&gt;Here is to new beginnings. 🥂&lt;/p&gt;

</description>
      <category>gsoc2026</category>
      <category>summerofcode2026</category>
      <category>owasp</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Breaking Into Open Source This Summer? Start with OWASP BLT</title>
      <dc:creator>saksh</dc:creator>
      <pubDate>Thu, 16 Apr 2026 15:31:47 +0000</pubDate>
      <link>https://dev.to/owaspblt/breaking-into-open-source-this-summer-start-with-owasp-blt-2m9l</link>
      <guid>https://dev.to/owaspblt/breaking-into-open-source-this-summer-start-with-owasp-blt-2m9l</guid>
      <description>&lt;p&gt;As summer approaches, open source sees a steady wave of new contributors.&lt;br&gt;
Each year, developers explore repositories, review issues, and look for meaningful ways to get involved.&lt;/p&gt;

&lt;p&gt;The challenge is rarely writing code. It is understanding the system well enough to contribute effectively.&lt;/p&gt;

&lt;p&gt;This summer, OWASP BLT is participating in the &lt;a href="https://www.socialsummerofcode.com/" rel="noopener noreferrer"&gt;Social Summer of Code (SSOC)&lt;/a&gt;, a three-month program focused on open source contribution, learning, and collaboration. It brings together contributors from diverse backgrounds to work on real-world projects, submit pull requests, and actively engage with the open source ecosystem.&lt;/p&gt;

&lt;h2&gt;
  
  
  About OWASP BLT
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://owaspblt.org/" rel="noopener noreferrer"&gt;OWASP BLT (Bug Logging Tool)&lt;/a&gt; is a community-driven OWASP project developing open source tools for vulnerability reporting, bug tracking, and security automation.&lt;/p&gt;

&lt;p&gt;The project spans APIs, dashboards, applications, bots, and ongoing research under OWASP. This is designed to make security workflows more practical, structured, and accessible for developers and teams.&lt;/p&gt;

&lt;h2&gt;
  
  
  Ongoing Deletion Program
&lt;/h2&gt;

&lt;p&gt;Alongside regular development, OWASP BLT is running an ongoing deletion initiative.&lt;/p&gt;

&lt;p&gt;Contributors review the repository, identify unused or unnecessary files, and remove them. Each valid contribution is rewarded with $1. This campaign will run till 30th April. &lt;/p&gt;

&lt;p&gt;This effort focuses on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Supporting the ongoing migration to separate and more structured repositories&lt;/li&gt;
&lt;li&gt;Maintaining a clean and efficient codebase&lt;/li&gt;
&lt;li&gt;Improving long-term maintainability&lt;/li&gt;
&lt;li&gt;Helping contributors understand the structure of a real-world project&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It also provides a simple and practical entry point for those beginning their open source journey.&lt;/p&gt;

&lt;h3&gt;
  
  
  Contribution Opportunities During SSOC
&lt;/h3&gt;

&lt;p&gt;As the program progresses, more areas of the project will be opened for contribution, including:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Clearly defined and beginner-friendly issues&lt;/li&gt;
&lt;li&gt;Opportunities across different parts of the stack&lt;/li&gt;
&lt;li&gt;Active collaboration within the community&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Whether you are exploring open source for the first time or looking to contribute to security-focused tooling, OWASP BLT offers a structured and meaningful way to get involved.&lt;/p&gt;

&lt;h4&gt;
  
  
  Get started 🚀
&lt;/h4&gt;

&lt;p&gt;Explore the repository and start contributing:&lt;br&gt;
&lt;a href="https://github.com/OWASP-BLT/BLT" rel="noopener noreferrer"&gt;https://github.com/OWASP-BLT/BLT&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>owasp</category>
      <category>beginners</category>
      <category>github</category>
    </item>
    <item>
      <title>🎉First PR? Get paid for it</title>
      <dc:creator>Ananya</dc:creator>
      <pubDate>Wed, 01 Apr 2026 18:55:05 +0000</pubDate>
      <link>https://dev.to/owaspblt/first-pr-get-paid-for-it-3k3e</link>
      <guid>https://dev.to/owaspblt/first-pr-get-paid-for-it-3k3e</guid>
      <description>&lt;p&gt;Introducing &lt;strong&gt;Dollar Deletions&lt;/strong&gt; — a special campaign only for first-time contributors.&lt;/p&gt;

&lt;p&gt;​We know large codebases can be intimidating, so we are paying you $1 for your first accepted Pull Request where you safely delete unused or legacy code.&lt;/p&gt;

&lt;h2&gt;
  
  
  👉 Why are we doing this?
&lt;/h2&gt;

&lt;p&gt;We are preparing for a major migration! To do this safely, we need to thoroughly clear out the existing repository. Your deletions will help us sweep away all the old files so we can seamlessly move our brand-new system into the clean repo.&lt;/p&gt;

&lt;p&gt;🧹 Clean up real production code&lt;br&gt;
🧠 Learn how large codebases work&lt;br&gt;
🚀 Make your first open-source contribution&lt;br&gt;
💵 Earn your first dollar online&lt;/p&gt;

&lt;h2&gt;
  
  
  How it works
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Find dead or unnecessary code in our repository.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Submit your first-ever PR to remove it.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Pass the code review (your changes must not break existing functionality).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Get $1 via GitHub Sponsors!&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  📌 The Rules
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;This campaign is only for first-time contributors to this repo.&lt;/li&gt;
&lt;li&gt;Your PR must include a clear explanation of what you removed and why.&lt;/li&gt;
&lt;li&gt;The code must remain fully functional after your deletion.&lt;/li&gt;
&lt;li&gt;Limited to one reward per contributor.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  🏆 Bonus: Referral Leaderboard!
&lt;/h2&gt;

&lt;p&gt;Spread the word and climb the ranks! You can refer others to this initiative. Just have the PR mentioning that you are referring a contributor as &lt;a class="mentioned-user" href="https://dev.to/user1"&gt;@user1&lt;/a&gt; refers @user2 and link that PR to our mega issue. This will track the mention and boost &lt;a class="mentioned-user" href="https://dev.to/user1"&gt;@user1&lt;/a&gt;'s rank on our referral leaderboard.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;💡Not sure where to start? Look for issues labeled &lt;code&gt;good-first-deletion&lt;/code&gt; to get your bearings.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;👉&lt;em&gt;&lt;strong&gt;Start here:&lt;/strong&gt;&lt;/em&gt; &lt;a href="https://github.com/OWASP-BLT/BLT" rel="noopener noreferrer"&gt;&lt;em&gt;&lt;strong&gt;OWASP-BLT/BLT&lt;/strong&gt;&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;​Your first PR shouldn’t be scary—it should be rewarding. We can't wait to review your code!&lt;/p&gt;

</description>
      <category>100daysofcode</category>
      <category>github</category>
      <category>beginners</category>
      <category>opensource</category>
    </item>
    <item>
      <title>A Beginner’s Guide to Open Source Contributions (From My Journey and Mistakes)</title>
      <dc:creator>Jayant Malvi</dc:creator>
      <pubDate>Tue, 31 Mar 2026 21:02:24 +0000</pubDate>
      <link>https://dev.to/owaspblt/a-beginners-guide-to-open-source-contributions-from-my-journey-and-mistakes-adi</link>
      <guid>https://dev.to/owaspblt/a-beginners-guide-to-open-source-contributions-from-my-journey-and-mistakes-adi</guid>
      <description>&lt;p&gt;Hello everyone, I am Jayant Malvi. I am currently in 2nd year of my B.tech Computer Science in IIT Madras.&lt;/p&gt;

&lt;p&gt;So my journey started way before I actually started contributing. I was really intrigued by the open source world and always wanted to contribute to organizations where my work is actually used by real people.&lt;/p&gt;

&lt;p&gt;My first mistake was that I was just looking at how to start contributing—how to do GSoC and all that. I checked various GitHub repos, looked at good-first-issues, and always thought, &lt;em&gt;“nah, I don’t know this, I won’t be able to contribute.”&lt;/em&gt; This was in my first year of college. Around the same time, I was also reading a lot about cybersecurity—networking, vulnerabilities, etc.&lt;/p&gt;

&lt;p&gt;Then in my second year, one day in September, I explored OWASP projects and got introduced to OWASP-BLT. The idea of turning bug hunting and vulnerability findings into a gamified environment—with bounties, bacon—really caught my eye. That day I joined the Slack channel and messaged the maintainer, Donnie, about how I wanted to contribute. Donnie, being a great mentor, replied and helped me get started. That was the all the head start I needed.&lt;/p&gt;

&lt;p&gt;I jumped into the codebase and started looking at pending PRs. My goal was simple: understand how the codebase works and how PRs are actually done. While setting up the project, I noticed tests were failing. I had no idea what those tests meant at first, but after digging into the codebase, I found there were two identical names causing the issue. I discussed it in Slack and raised a PR.&lt;/p&gt;

&lt;p&gt;That’s when I realized—we really overcomplicate open source contributions. It’s honestly just about having the will to contribute and enjoying the process. From that day onwards, I caught momentum and never stopped.&lt;/p&gt;

&lt;p&gt;The biggest advice I can give (it sounds simple, but it works): &lt;strong&gt;stop thinking so much and just jump into the codebase&lt;/strong&gt;. At the start, you’ll feel like you don’t understand anything, but trust me—there will be a point where it just clicks, and after that it almost becomes addictive.&lt;/p&gt;

&lt;p&gt;Another important thing: being involved in discussions. One of my mistakes was being too hesitant to talk or ask questions. I thought people might think I’m dumb or not professional. That mindset held me back for a while. What I later realized is—no one thinks like that. Everyone is learning. You should ask questions freely. The kind of knowledge you get from peers in these communities is something you won’t easily get elsewhere.&lt;/p&gt;

&lt;p&gt;I also really liked how our maintainer, Donnie, introduced initiatives like requiring peer reviews for PRs. We have a strong peer network in BLT where everyone helps each other. A big part of my journey was reviewing PRs—this helped me understand the project better and learn about common mistakes like N+1 queries, deduplication issues, etc. I’d strongly recommend reviewing PRs—it helps others and sharpens your own understanding.&lt;/p&gt;

&lt;p&gt;One of the major things I worked on was BLT-Zero. It’s a core part of OWASP-BLT where anyone can send vulnerabilities report to target organizations through a zero-trust workflow—no plaintext storage, mail with encrypted zips, hashes for decryption. This project is really close to me. I started working on it in November, it grew into a community project(in BLT-Zero repository, feel free to join us), and now we’re really close to sending the first vulnerability mail. I’m genuinely excited about that.&lt;/p&gt;

&lt;p&gt;There are also many other community projects like BLT-Leaf, BLT-SafeCloak, and more across different domains ,you can contribute to domains that interests you and learn a lot. We’ve also started an initiative for new contributors to help reduce technical debt by making deletion PRs. It’s a great way to get started and understand the project better.&lt;/p&gt;

&lt;p&gt;Today the GSoC proposal deadline ended. What I really liked is how my perspective has changed. Around 6 months ago, GSoC felt like just a program to get into. But now, it felt like I’m actually building my own project from scratch and trying to make it as good as possible in the organization which is really close to me. The time I spent researching and writing my proposal was quite a lot, but I enjoyed the whole process more than I expected.&lt;/p&gt;

&lt;p&gt;Looking back, I’ve really enjoyed these last 6 months of contributing. I just wish I had joined in the fun earlier. The peer group I found here is one of the most supportive I’ve seen. I’ll keep contributing and see BLT grow into one of the biggest security projects out there.&lt;/p&gt;

&lt;p&gt;And finally, a special thanks to our maintainer, Donnie for the constant guidance and for helping me grow as a contributor. The discussions we had around new ideas and improvements—and the way you always encouraged them—were easily the best part.&lt;/p&gt;

&lt;p&gt;If you’re someone thinking about starting open source—just start. That’s it. You are always welcome at OWASP-BLT.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>devjournal</category>
      <category>github</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
