<?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: Sandro</title>
    <description>The latest articles on DEV Community by Sandro (@xil).</description>
    <link>https://dev.to/xil</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%2F1162961%2F396c1c7a-e5f6-44a5-873b-ee0685d38e2b.png</url>
      <title>DEV Community: Sandro</title>
      <link>https://dev.to/xil</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/xil"/>
    <language>en</language>
    <item>
      <title>I Built PentestScan: A Simple Web &amp; API Security Scanner for Developers and Small Teams</title>
      <dc:creator>Sandro</dc:creator>
      <pubDate>Mon, 18 May 2026 06:30:58 +0000</pubDate>
      <link>https://dev.to/xil/i-built-pentestscan-a-simple-web-api-security-scanner-for-developers-and-small-teams-38km</link>
      <guid>https://dev.to/xil/i-built-pentestscan-a-simple-web-api-security-scanner-for-developers-and-small-teams-38km</guid>
      <description>&lt;p&gt;Building security tools always sounds more impressive than it really is at the beginning.&lt;/p&gt;

&lt;p&gt;In my case, PentestScan started as a practical idea:&lt;br&gt;
I wanted to build a simple Web &amp;amp; API security scanner that could help developers, small teams, and DevOps engineers catch common security issues earlier - before an application reaches production.&lt;/p&gt;

&lt;p&gt;Not as a replacement for professional penetration testing.&lt;br&gt;
Not as a magic “find everything” scanner.&lt;br&gt;
But it is a practical DevSecOps tool that gives fast, understandable feedback.&lt;/p&gt;

&lt;p&gt;The problem I wanted to solve was simple:&lt;/p&gt;

&lt;p&gt;A lot of small teams do not have a dedicated AppSec engineer.&lt;br&gt;
Security reviews often happen too late.&lt;br&gt;
Reports from bigger tools can be too complex, too noisy, or too expensive for early-stage projects.&lt;br&gt;
And developers usually need something direct:&lt;/p&gt;

&lt;p&gt;What is wrong?&lt;br&gt;
Why does it matter?&lt;br&gt;
How can I fix it?&lt;/p&gt;

&lt;p&gt;That is the direction I took with PentestScan.&lt;/p&gt;

&lt;p&gt;What PentestScan does&lt;/p&gt;

&lt;p&gt;PentestScan is a Web &amp;amp; API security scanner focused on practical checks around common security weaknesses.&lt;/p&gt;

&lt;p&gt;The current version is built around:&lt;/p&gt;

&lt;p&gt;Web application scanning&lt;br&gt;
API security testing&lt;br&gt;
OWASP Top 10 related checks&lt;br&gt;
Security headers analysis&lt;br&gt;
JWT and session-related checks&lt;br&gt;
Basic exposure detection&lt;br&gt;
Report generation&lt;br&gt;
DevSecOps-friendly workflow&lt;/p&gt;

&lt;p&gt;The goal is not to overload the user with hundreds of unclear findings.&lt;/p&gt;

&lt;p&gt;The goal is to provide a clean report that helps someone understand the risk and take action.&lt;/p&gt;

&lt;p&gt;Tech stack&lt;/p&gt;

&lt;p&gt;The project is built with a simple and practical stack:&lt;/p&gt;

&lt;p&gt;Python&lt;br&gt;
FastAPI&lt;br&gt;
Docker&lt;br&gt;
Nginx&lt;br&gt;
HTML reporting&lt;br&gt;
API-first backend structure&lt;br&gt;
Security-focused scanning modules&lt;/p&gt;

&lt;p&gt;I wanted the architecture to stay modular because security tooling can become messy very quickly if everything is placed into one large script.&lt;/p&gt;

&lt;p&gt;So the scanner is organized around separate modules and checks, with the idea that new functionality can be added gradually without breaking the existing structure.&lt;/p&gt;

&lt;p&gt;Why I built it&lt;/p&gt;

&lt;p&gt;I built PentestScan mainly as a hands-on DevSecOps project.&lt;/p&gt;

&lt;p&gt;I wanted to combine several areas that I work with and care about:&lt;/p&gt;

&lt;p&gt;application security&lt;br&gt;
backend development&lt;br&gt;
automation&lt;br&gt;
Linux deployment&lt;br&gt;
Docker-based services&lt;br&gt;
CI/CD security thinking&lt;br&gt;
security reporting&lt;/p&gt;

&lt;p&gt;One thing I learned while building it is that detection is only one part of the problem.&lt;/p&gt;

&lt;p&gt;The harder part is explaining the finding in a useful way.&lt;/p&gt;

&lt;p&gt;A security report should not only say:&lt;/p&gt;

&lt;p&gt;Missing security header detected.&lt;/p&gt;

&lt;p&gt;It should explain:&lt;/p&gt;

&lt;p&gt;what was detected,&lt;br&gt;
why it matters,&lt;br&gt;
how it could be abused,&lt;br&gt;
how serious it is,&lt;br&gt;
and what the developer can do next.&lt;/p&gt;

&lt;p&gt;That became one of the most important ideas behind the project.&lt;/p&gt;

&lt;p&gt;What I am trying to improve&lt;/p&gt;

&lt;p&gt;PentestScan is still evolving.&lt;/p&gt;

&lt;p&gt;Some of the things I am working on or planning to improve are:&lt;/p&gt;

&lt;p&gt;better API scanning&lt;br&gt;
cleaner report structure&lt;br&gt;
more contextual findings&lt;br&gt;
CI/CD integration&lt;br&gt;
better severity scoring&lt;br&gt;
improved attack-path style explanations&lt;br&gt;
more useful remediation guidance&lt;br&gt;
public sample reports&lt;/p&gt;

&lt;p&gt;I am also trying to keep the tool realistic.&lt;/p&gt;

&lt;p&gt;Security scanners can easily create false confidence.&lt;br&gt;
Just because a scanner does not find something does not mean the application is secure.&lt;/p&gt;

&lt;p&gt;So I see PentestScan as a first security layer - something that can help teams catch obvious and common issues earlier, not as a full replacement for manual testing.&lt;/p&gt;

&lt;p&gt;Current version&lt;/p&gt;

&lt;p&gt;The project is currently available for free here:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://pentestscan.app/" rel="noopener noreferrer"&gt;https://pentestscan.app/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Before trying the scanner, you can also check a public sample report:&lt;/p&gt;

&lt;p&gt;Sample vulnerability report:&lt;br&gt;&lt;br&gt;
&lt;a href="https://pentestscan.app/api/v1/public/marketing/vulnerability_report.html" rel="noopener noreferrer"&gt;https://pentestscan.app/api/v1/public/marketing/vulnerability_report.html&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I am sharing PentestScan publicly to get feedback from developers, DevOps engineers, and security people.&lt;/p&gt;

&lt;p&gt;I would especially appreciate feedback on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;report structure and clarity,&lt;/li&gt;
&lt;li&gt;usefulness of the findings,&lt;/li&gt;
&lt;li&gt;scanning flow,&lt;/li&gt;
&lt;li&gt;missing checks,&lt;/li&gt;
&lt;li&gt;and whether the tool feels useful for small teams or solo developers.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This project is still a work in progress, but it has already been a valuable learning experience in building security tooling that is not only technical but also understandable and useful.&lt;/p&gt;

&lt;p&gt;That, for me, is the main point of PentestScan:&lt;/p&gt;

&lt;p&gt;help developers see security issues earlier, understand them faster, and fix them with less friction.&lt;/p&gt;

</description>
      <category>devops</category>
      <category>security</category>
      <category>showdev</category>
      <category>sideprojects</category>
    </item>
  </channel>
</rss>
