What is our primary use case?
I use it for Azure DevOps, for example. This tool focuses on the security of the code. It performs code analysis to identify security issues, such as hard-coded secrets and passwords, potential SQL injection points, and duplicated components.
SonarQube, on the other hand, focuses more on overall code quality and best practices, using a different approach that often results in more findings for the developer to handle.
GitHub Advanced Security uses artificial intelligence in the backend, specifically CodeQL, to analyze code and provide fewer but more reliable findings, so there are less false positives. This allows developers to concentrate on the most relevant issues.
Both tools have their uses, with GitHub Advanced Security being purely security-focused and SonarQube concentrating on code quality. Many software companies use both tools for comprehensive code analysis. Somehow, they complement each other.
We also use the secret scanning feature of GitHub.
How has it helped my organization?
It finds hardcoded secrets directly in the code and points them out immediately. Then, I can go back to the developers and let them know.
I can even block the commit in the repository so they cannot commit until they fix the issue.
AI in the backend:
CodeQL uses AI algorithms, so it reduces false positives. For example, in a SQL injection, it finds the user input flow of the code instead of looking for hardcoded SQL statements. It looks at where parameters can be created and filled with data. If it ends on a path where it comes from a user, then you really get an SQL injection. If it's just a parameter populated through something else, there is no danger.
This is one difference between SonarQube and GitHub Advanced Security. It gives you fewer false positives, so you don't waste time figuring out if it's a real security issue or a false alarm.
What needs improvement?
Maybe make it compatible with more programming languages. Have a customized ruleset where the end-user can create their own rules for scanning.
Also, support for container stuff, like when the code is running or built in a container, to offer more flexibility. The tool is pretty new, so maybe they will improve.
What do I think about the stability of the solution?
I never had any technical issues with GitHub Advanced Security, like downtime.
What do I think about the scalability of the solution?
It is a good fit for small and medium businesses.
How are customer service and support?
I have contacted GitHub for support with other tools.
How was the initial setup?
The initial setup is easy. It's straightforward and integrated into Azure DevOps.
It took maybe a few hours, max two hours. It was quick.
What was our ROI?
Security may have no price. But it surely improves the overall security of the software. You find issues in the early stage of software development and don't need to perform extensive penetration tests as often.
You still have to do the penetration test, but maybe once a year, not every big release. If your code is secure by design, then it's good.
What's my experience with pricing, setup cost, and licensing?
The pricing is a little expensive. It has a pricing model of, like $50 per developer that commits into the repository. So, if you have a large development team with many people committing to the repository, it could easily be 20 to 30 people. Multiply that by $50 per month, and it's already $1000 a month, just for this tool. In my opinion, it's a little expensive.
I find it a little overpriced. It can easily cost $10,000 to $12,000 dollars a year, which is a bit much for a software company. There is room for improvement in the price.
The price could be lower.
Which other solutions did I evaluate?
I evaluated SonarQube and GitHub Advanced Security.
We work with both SonarQube and GitHub Advanced Security for DevOps. We compare them both to see which is better suited for our needs.
SonarQube is mostly focused on code quality and compatibility, with a small subset for security. GitHub Advanced Security is purely focused on security.
There are two different approaches that these tools take.
What other advice do I have?
I would recommend it. I'd give it an eight out of ten. If the price were better, I would recommend it even more and give it a higher rating.