This article explores Static Application Security Testing using SonarQube for identifying security vulnerabilities in source code before runtime.
In this lesson, we’ll explore Static Application Security Testing (SAST), also known as static analysis. SAST examines your source code to identify security vulnerabilities before runtime, scanning the application code and reporting potential issues. By contrast, Dynamic Application Security Testing (DAST) runs tests against a deployed application.For our SAST examples, we’ll use SonarQube.
SonarQube is an open-source platform by SonarSource that performs continuous inspection of code quality through automatic static analysis. It gives you visibility into your code by pinpointing specific lines where issues occur and offering remediation guidance. You can also enforce quality gates—thresholds on code metrics—to ensure that every commit meets your organization’s standards.
Feature
Benefit
Code Smells Detection
Identify code areas that need refactoring or simplification
The environment variable SONAR_ES_BOOTSTRAP_CHECKS_DISABLE=true disables Elasticsearch bootstrap checks for development environments. Do not use this in production.
Once the container launches, tail the logs:
Copy
Ask AI
docker logs -f sonarqube
Sample output:
Copy
Ask AI
2021.06.17 07:13:55 INFO web[][o.s.s.i.AsyncIssueIndexingImpl] 0 completed indexation task found to be deleted...2021.06.17 07:13:55 INFO web[][o.s.s.e.IndexerStartupTask] Indexing of types [components/auth],[projectmeasures/auth],[issues/auth] done | time=91ms2021.06.17 07:13:56 INFO app[][o.s.p.PlatformLevelStartup] Running Community Edition2021.06.17 07:13:56 INFO app[][o.s.a.SchedulerImpl] Process[web] is up2021.06.17 07:13:58 INFO ce[][o.s.ce.app.CeServer] Compute Engine is starting up...2021.06.17 07:13:59 INFO ce[][o.s.ce.app.Database] Create JDBC task for local Elasticsearch: [http://localhost:9001]2021.06.17 07:13:59 INFO app[][o.s.a.SchedulerImpl] SonarQube is up
After SonarQube starts, open your browser to http://<your-host>:9000. The default credentials are admin/admin.