What Franklin Saint Actually Does
Franklin Saint is an automated security testing framework built for web applications. It was created by Ali Razmyar and first released around 2016. The tool scans targets for common vulnerabilities like SQL injection, cross-site scripting, command injection, and path traversal. It combines a crawler with an exploit engine and spits out HTML reports. That is the basic summary of what it does. Most people encounter it through Kali Linux repositories or GitHub mirrors, and the installation is generally straightforward.I want to talk about the actual usage, not the README version. There are gaps between how the documentation describes Franklin Saint and what happens when you run it against a real target. Here is the practical setup. Install it from the official GitHub repository or install it through the Kali package manager. Run it with the target flag pointing at your test application. Start with a single module before throwing everything at it. I always run the SQL injection module first as a baseline check because it reveals whether the application is even reachable and properly fingerprinted. If the fingerprinting step fails, most of the other modules will produce garbage output anyway. The reporting section generates an HTML file that you can open in any browser. It lists detected vulnerabilities, severity ratings, and payload examples. The severity ratings follow a modified CVSS approach but they are not always accurate. A reflected XSS flagged as medium might be trivially exploitable in practice, and a path traversal flagged as low could lead to full file inclusion depending on the server configuration. Do not treat those severity scores as gospel.
Common Problems and What I Found Working
The biggest issue with Franklin Saint is false positives. The tool generates them consistently across multiple modules. I have seen it report SQL injection vulnerabilities on parameters that are properly parameterized and sanitized. The detection logic relies heavily on signature-based matching rather than behavioral analysis. When it sees a time delay or an error message after injecting a payload, it flags it. But legitimate application behavior can trigger the same signals.My workaround for this is running a baseline scan first on a known-clean endpoint to calibrate what normal responses look like, then comparing subsequent results against that baseline. This does not eliminate false positives entirely but it reduces them significantly. Another approach I use is manual verification of every flagged item before including it in a real assessment. That adds time but it is necessary. Concurrency settings cause another set of problems. The default settings can overwhelm small test environments and produce incomplete results. I usually set concurrency to 3 or 4 for staging applications and leave it at default for larger targets. The crawler also struggles with SPAs and applications that load content through heavy JavaScript execution. Franklin Saint does not render JavaScript the way a browser does, so endpoints served dynamically after page load are completely invisible to it. If your application uses React or Vue extensively, you will get sparse results and you will need to supplement with manual testing or a different scanner.
Advanced Usage and Things People Miss
The batch mode is underutilized and quite useful. You can pass multiple URLs through a file and run the same scan across all of them sequentially. This is valuable during assessments where you need to evaluate an entire application tree rather than a single page. The timeout flags are also important. The default timeouts are aggressive and often cause the tool to skip over slow-responding endpoints. I typically increase the request timeout to 30 seconds and the connection timeout to 15 seconds.There is a module system that allows you to write custom plugins. The documentation for this is sparse but the module structure is straightforward. Each module extends a base class and implements three methods: probe, exploit, and report. If you have a niche vulnerability that Franklin Saint does not cover out of the box, writing a custom module is feasible. I wrote a custom module for detecting insecure deserialization issues in a Java application because none of the built-in modules caught it. The whole thing took about two hours to write and test. One counter-intuitive thing I learned is that running Franklin Saint with verbose logging disabled often produces better results. The extra logging overhead slows down the scan significantly, and on some applications the slower request timing changes the behavior enough to avoid rate-limiting or triggering WAF rules. I usually disable verbose output for production-like environments and enable it only when debugging a specific issue.
Get the Full Details

Limitations and When to Use Something Else
Franklin Saint has clear limitations. It does not handle authentication well. If your application requires login, you need to manually configure session cookies or use the cookie injection feature, which is unreliable for complex authentication flows. Session management in modern applications with refresh tokens, CSRF tokens, and multi-factor authentication is generally outside the tool's capability. You will waste a lot of time trying to make it work with authenticated endpoints and then give up.The tool also lacks coverage for business logic vulnerabilities. Things like privilege escalation, race conditions, and logic flaws in payment flows are simply not detectable by automated signature matching. You need a human for that part. Additionally, Franklin Saint does not integrate with CI/CD pipelines in any meaningful way. It is designed as a standalone scanning tool, not as part of an automated DevSecOps workflow. If you need integration with pipeline tools, something like OWASP ZAP or Burp Suite Professional is a better fit. The project has also seen very slow development in recent years. Feature requests go unaddressed for extended periods and some dependencies are outdated. This is not a dealbreaker but it is worth noting. If you are starting a new project and need an actively maintained scanner, consider evaluating more current options first. Franklin Saint still works fine for quick sweeps on straightforward applications, but it is not a comprehensive solution.
Downloading and Getting Started
You can find the source code on GitHub under the repository name franklinsaint. The official link is github.com/ali Razmyar/franklinsaint. Clone the repository and run the installation script, or install it directly through Kali if your distribution includes it. The installation takes approximately 5 to 10 minutes on a standard machine. After installation, run the tool with the help flag to see available options and modules. Start with simple targets and gradually expand your scope as you become familiar with the output format and false positive rate.The tool is free and open source. There is no paid version or enterprise tier. Support comes through GitHub issues and community discussion threads, which are not particularly active. You are largely on your own for troubleshooting, but the basic functionality is stable enough that most issues are configuration-related rather than bugs in the core engine.