SAST stands for Static Application Security Testing. To make things simple, SAST tools are cyber security software automating source code analysis.
The goal is to screen your code to identify missing or incorrectly implemented security controls. The SAST software will then create a master list of these security controls and evaluate how well they are implemented.
SAST performs without having to run the program, so it must be syntactically aware of the code and the program's inner systems, including everything from language, dependencies, method calls, and execution order. The code must be thoroughly scanned and evaluated against a database of known vulnerabilities.
How much of our source code is reviewed? Well, the key feature of a SAST is that it reviews the source code, so its analysis can take place ahead of committing it into the main Git project branch. This way of moving security testing sooner in the development process is also called Shift Left security testing. The result is better security outcomes compared to tackling vulnerabilities later in the development cycle.
What is it useful for? It can protect against the majority of the OWASP TOP 10 web application vulnerabilities, such as memory leaks, cross-site scripting (XSS), SQL injection, authentication, and access control misconfigurations. SAST tools are frequently found directly integrated into modern IDEs or distributed as plugins. The closer it will be to source code, the quicker the feedback loop for developers and the simpler it'll be to remediate.
This is one of the main reasons SAST is often appreciated by tech leads and why there are so many different solutions available since this tool must be very precisely tuned to the stack it is used on.
---
---
The power of SAST lies in its precision, it will tell you exactly which part of the source code needs to be adapted in order to ensure the highest security of the application. You can expect features like :
git reset --soft -HEAD