Static vs. Dynamic Scanning
Catching software vulnerabilities before they can be exploited is the job of software scanners. Static application scanning happens before the code is compiled. A static application scan can identify insecure libraries being used, or insecure coding practices that may be missed by peer review. Catching these weaknesses early in the process ensures the codebase is secure prior to deployment.
Dynamic code scanners check code after compilation and deployment. Many bad actors will not have access to source code so they rely on vulnerabilities in the deployed code or application. Testing multiple attack vectors is a key feature of a dynamic scanning system. Dynamic scanning can provide a big picture view of your application and infrastructure and provide mapping to implemented security controls. The following is a dynamic scan of an application in production and the vulnerabilities identified.