What is our primary use case?
I have been using Veracode for the last two years, which is one of the security scans that is part of our organization and is mandatory for all products to be scanned by this tool.
We use Veracode for DAST scans, which involves dynamic scanning of our web application. Veracode only supports web application scanning for security vulnerabilities, and it performs black box testing on our application for security issues and cybersecurity testing methodology.
Our product is in the backup and recovery space and has a web interface for it. Since it is a relatively new product that we have, we perform Veracode scans every month to ensure that whatever we are developing is in compliance with Veracode standards. To identify any early vulnerabilities we introduce in our development process, we conduct monthly scans. Initially, I used to perform scans manually by logging into Veracode and following the step-by-step procedure to execute a scan, but now we have automated it somewhat. Although Veracode does not provide a tool for automating scans, we have found a workaround using Selenium to automate it ourselves. We are using Veracode to identify early security issues in our development.
What is most valuable?
One benefit is that we have automated the scanning process. There is a first layer of security where every month Veracode scans run and share a report on whether there are any high severity vulnerabilities in our application. This is beneficial as it provides a base-level security layer that helps us identify entry-level issues early on using Veracode. This tool is able to track basic issues.
Veracode seems to be a basic security testing tool because we have observed that Veracode was not able to find some actually severe vulnerabilities in our application. When we later conducted penetration testing with a dedicated pen testing team, we found many security issues that I feel should have already been identified through Veracode if it were doing its dynamic testing properly. These vulnerabilities were relatively simple for Veracode to find in our application, but they were not found by Veracode and instead were found by the other team. Even another product called ZAP, the ZAP tool from OWASP, which we have used, identified issues that Veracode could not identify.
Honestly speaking, Veracode is just our compliance scan that we have to do but don't want to do, as it is part of our compliance testing. Regarding any particular feature, I will say the Veracode UI is the only noteworthy aspect. It is not that easy to use, but if you spend some time, you will be okay with it, though it is not that good. I honestly do not feel its UI is comfortable or its reporting is clear because it is not really understandable what exact issue we have. They should make it simpler. In my opinion, Veracode lacks significantly in most parts, including its UI, its reporting, ease of use, and the features that it provides. I do not have any favorite feature and just use it for the sake of our compliance.
What needs improvement?
Veracode can improve to stand in this market. They do not have to do much; they just need to improve their UI experience and add more documentation within the application rather than just creating documentation pages on different websites. They need to ensure their web application guides whoever uses it. Since whoever uses Veracode must be a technical person, they just need to guide them to the actual points. They can also improve their security capabilities by adding more filters to identify what vulnerabilities their application has. They need to improve their scanning engine to scan for more critical defects. Also, the integration part can be enhanced by adding features to integrate with a CLI, such as introducing a CLI version or a Jenkins plugin. If such features exist, they should show it as a pop-up, signaling that they have a new feature. Currently, it feels Veracode from two years ago is still the same, so that is something Veracode needs to improve.
They can improve the security part. Some of the severe security issues were never caught by Veracode in the reports. In fact, I have never seen any high or critical severity issues pop up in my Veracode report. That is one thing they can improve on their scanning ability to catch high severity issues. Next is integration; Veracode does not provide any tools to integrate with Jenkins or CLI. I do not even know if there is any CLI for Veracode that I can use to automate in my pipeline. The last thing is the UI interface that they have, as it is a bit confusing. I remember we did not have the capability to handle authentications of our internal application. We had to write Selenium code using a Selenium IDE. To write a Selenium script for a Veracode scan, you have to download a Selenium IDE, record it, and then paste that file into Veracode. I can see that Selenium IDE is already decommissioned, so it is no longer used by anyone. Still, we have to use it because Veracode only supports that kind of file for Selenium to automate. They can add more ways to authenticate our application using normal JavaScript or Python or Shell script. I feel these are the four main points.
They can document it more by adding tooltips into the application that explain why a parameter is required and what other options are available. For the same example with the Selenium script, they can add a link to their documentation that explains what other kinds of scripts can be written for authentication. I feel they can also make the UI more intuitive so that whoever uses it can guide themselves, as whoever uses Veracode is already a technical person.
What do I think about the stability of the solution?
I have not seen any outages because it is on our private cloud. However, I have observed that it is not that reliable in terms of security because Veracode was not able to find some security threats in our application that existed since the product was developed. I feel it is less reliable, considering that Veracode has the responsibility to find common issues such as path traversal vulnerabilities or issues with broken authentication mechanisms. There were security issues I feel should have been caught by Veracode, but it does not instill the reliability I expect.
What do I think about the scalability of the solution?
I have never experienced its scalability. I have worked on a single product and performed scans for only one product, so I am not sure how it works at scale.
How are customer service and support?
I never got a chance to deal with customer support. Most of the issues I faced were resolved within our organization. I have never contacted them.
How would you rate customer service and support?
Which solution did I use previously and why did I switch?
In my previous company, I used SonarQube, which we implemented into our pipelines and was comparatively easy. However, in this company, they do not use SonarQube; they use Veracode. I did not switch solutions; I just switched companies, which is why I am now using Veracode.
Which other solutions did I evaluate?
If I had a chance to replace it, I would go with SonarQube or something else because it has more features.
What other advice do I have?
Veracode seems to be a basic security testing tool because we have observed that it was not able to find some actually severe vulnerabilities in our application. When we later conducted penetration testing with a dedicated pen testing team, we found many security issues that I feel should have already been identified through Veracode if it were doing its dynamic testing properly. These vulnerabilities were relatively simple for Veracode to find in our application, but they were not found by Veracode and instead were found by the other team. Even another product called ZAP, the ZAP tool from OWASP, which we have used, identified issues that Veracode could not identify.
Veracode is just our compliance scan that we have to do but do not want to do, as it is part of our compliance testing. Regarding any particular feature, I will say the Veracode UI is the only noteworthy aspect. It is not that easy to use, but if you spend some time, you will be okay with it, though it is not that good. I honestly do not feel its UI is comfortable or its reporting is clear because it is not really understandable what exact issue we have. They should make it simpler. In my opinion, Veracode lacks significantly in most parts, including its UI, its reporting, ease of use, and the features that it provides. I do not have any favorite feature and just use it for the sake of our compliance.
I do not feel Veracode has improved any efficiency in our project. It is just another release check that we have to perform. It did not add any improvement to our efficiency or security life cycle; it is just there. My overall review rating for this product is 6 out of 10.
Which deployment model are you using for this solution?
Private Cloud
If public cloud, private cloud, or hybrid cloud, which cloud provider do you use?
Other
Disclosure: My company does not have a business relationship with this vendor other than being a customer.