In this article we explore Semgrep, a static code analyzer. We investigate its use cases, its main differentiators and scenarios in which it can help. Then we learn Semgrep’s rule language, which is used to define Semgrep’s alerts, and we write custom rules that check for common errors in the Markdown files that make up this blog.