PMD VS ZAP

Compare PMD vs ZAP and see what are their differences.

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
PMD ZAP
21 61
4,663 11,987
1.6% 1.8%
9.9 9.2
5 days ago 5 days ago
Java Java
GNU General Public License v3.0 or later Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

PMD

Posts with mentions or reviews of PMD. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-08-01.
  • PMD 7 Is Here
    1 project | news.ycombinator.com | 22 Mar 2024
  • Amazon CodeGuru Reviewer: already time for retirement?
    2 projects | dev.to | 1 Aug 2023
    While the security findings can be pretty elaborate and helpful, the code quality and performance focused findings are not that impressive and can often be detected by more basic or powerful tools like SonarQube (paying) or PMD (free). To see what I mean you can have a look at the list of Java code quality detectors, which is pretty short and contains a lot of simple findings like:
  • Code Review for Flows
    1 project | /r/salesforce | 28 Apr 2023
    Also saw this convo has a couple years worth of ideas going on … https://github.com/pmd/pmd/issues/3413
  • Custom Gradle Plugin for Unified Static Code Analysis
    3 projects | dev.to | 4 Feb 2023
    PMD and Checkstyle are static analysis tools that check your code on each project build. Gradle allows to apply them easily.
  • Spring Boot – Black Box Testing
    9 projects | dev.to | 13 Nov 2022
    The generated classes should be put into .gitignore. Otherwise, if you have Checkstyle, PMD, or SonarQube in your project, then generated classes can violate some rules. Besides, if you don't put them into .gitignore, then each pull request might become huge due to the fact that even a slightest fix can lead to lots of changes in the generated classes.
  • After Java tutorials, now what???
    5 projects | /r/javahelp | 30 Apr 2022
    - PMD Static Code Analysis tool: https://pmd.github.io/
  • Ask HN: What is a modern Java environment?
    22 projects | news.ycombinator.com | 29 Mar 2022
    PMD, Spotbugs, Nullaway: Java linting/static analysis (https://pmd.github.io, https://spotbugs.github.io, https://github.com/uber/NullAway)
  • Code smell plugin
    2 projects | /r/javahelp | 15 Feb 2022
    PMD, and checkstyle as well.
  • Writing Clean and Consistent Code with Static Analysis using PMD and Apex
    6 projects | dev.to | 28 Jan 2022
    Open up the config/ruleset.xml file, and you’ll find an XML document that lists several rules. These rules map to the issues which PMD will report on. Believe it or not, there are hundreds of Apex rules, and you can find the full set at the PMD repo. You have complete control over which rules to enable. Typically, you’d determine which ones are important by agreeing with your teammates on the ones that matter most. After all, their code will be statically analyzed, too!
  • Is there a tool to track CVEs for the software that we use?
    8 projects | /r/sysadmin | 14 Dec 2021
    While at it you could also point them to static code analyzers such as error_prone, spotbugs and pmd (use all 3 at once - they complement each other in detecting different issues).

ZAP

Posts with mentions or reviews of ZAP. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-03-09.
  • Bruno
    20 projects | news.ycombinator.com | 9 Mar 2024
    I use ZAP [1] with the OAST add-on for this at the moment. I admit the UX isn't perfect, but it serves my purpose.

    If I also want control over the responses (e.g. return a 401 status code for every fifth request), I have a custom extender script [2] for that.

    [1]: https://www.zaproxy.org/

  • What is API Discovery, and How to Use it to Reduce Your Attack Surface
    3 projects | dev.to | 7 Mar 2024
    Implement tools like Burp Suite or OWASP ZAP for in-depth security scanning of your APIs.
  • Best Hacking Tools for Beginners 2024
    5 projects | dev.to | 1 Feb 2024
    OWASP ZAP
  • Autorize – The most popular tool to discover AuthZ/AuthN flaws
    4 projects | news.ycombinator.com | 28 Dec 2023
    The use of capital punctuation implies a warning? an alert? Would this same response be warranted for Burp which is also a commercial, closed source product?

    If this is an issue for some, then ZAP being open source[1] maybe favourable.

    That said, Burp is the defacto tool for a reason - it's best in class. Every pentester I know, including myself, has a paid subscription. The fact that it's closed source hasn't been an issue.

    [1] https://github.com/zaproxy/zaproxy

  • Show HN: Pākiki Proxy – An intercepting proxy for penetration pesting
    4 projects | news.ycombinator.com | 27 Oct 2023
    Briefly reviewed your product. Seems like OWASP ZAP is your competition: https://www.zaproxy.org/

    It runs entirely in the browser so it uses the browser "native" frameworks.

  • Vulnerability Scanning of Node.js Applications
    4 projects | dev.to | 25 Sep 2023
    Dynamic analysis involves testing your application while it's running. Tools like OWASP ZAP and Burp Suite can help identify vulnerabilities like SQL injection or Cross-Site Scripting by sending malicious requests to your application and analyzing the responses.
  • Is this fraud? And if so, to what extent am I responsible?
    1 project | news.ycombinator.com | 16 Sep 2023
    > Lying is not an embellishment or puffery, it's a lie. Engaging a company for a 3 day pen test that's totally insufficient, that would be an embellishment.

    I agree, but if the RFP question was phrased "have you done penetration testing?" then that leaves a lot of room for embellishment. If the question is "do you have SOC2 certification?" and you answer "yes" untruthfully, then that is a lie. If they ask for the SOC2 or pentest report and you give them a falsified document, that's where you're (probably) committing fraud.

    > One of the most important part of pen tests is that they are external.

    AWS/Google/etc have internal security teams doing their pen tests, so no, this isn't true.

    > Just doing your job as an engineer and looking for bugs is not a pen test.

    What about an engineer spending an afternoon running ZAP[0]?

    > It's like saying, "what is an audit really? We have accountants and they check our books for anomalies."

    Yeah, which is why you don't just ask a company "do you keep track of your finances?" if you're investing in them, you request external auditors.

    [0] https://www.zaproxy.org/

  • The essential security checklist for user identity
    3 projects | dev.to | 3 Jul 2023
    In addition to manual security reviews, you can also implement DevSecOps practices to automate security checks. For example, you can set up a CI/CD pipeline to run static code analysis tools like CodeQL and automatically run penetration tests using tools like OWASP ZAP.
  • The 36 tools that SaaS can use to keep their product and data safe from criminal hackers (manual research)
    18 projects | /r/SaaS | 22 May 2023
    OWASP ZAP (open source)
  • How can i make web server from scratch
    2 projects | /r/webdev | 24 Apr 2023
    I would start by installing Burp Suite or OWASP Zap and seeing what the actual messages look like

What are some alternatives?

When comparing PMD and ZAP you can also consider the following projects:

Spotbugs - SpotBugs is FindBugs' successor. A tool for static analysis to look for bugs in Java code.

nuclei - Fast and customizable vulnerability scanner based on simple YAML based DSL.

SonarQube - Continuous Inspection

Error Prone - Catch common Java mistakes as compile-time errors

mitmproxy - An interactive TLS-capable intercepting HTTP proxy for penetration testers and software developers.

Checkstyle - Checkstyle is a development tool to help programmers write Java code that adheres to a coding standard. By default it supports the Google Java Style Guide and Sun Code Conventions, but is highly configurable. It can be invoked with an ANT task and a command line program.

SQLMap - Automatic SQL injection and database takeover tool

infer - A static analyzer for Java, C, C++, and Objective-C

HTML Purifier - Standards compliant HTML filter written in PHP

SonarJava - :coffee: SonarSource Static Analyzer for Java Code Quality and Security

awesome-dva - A curated list of "damn vulnerable apps" and exploitable VMs / wargames. See contributing.md for information.