Home / Blog / The Same Flaws Keep Entering at the…
Application Security
The Same Flaws Keep Entering at the Code Stage. Here Is What We Put in the Way.
Across the assessments and code reviews we run, the same security problems enter systems at the code stage - sometimes without the developers being aware of it at all.
A small tip for development companies: use Semgrep to find security holes in your code.
Across the security assessments and code reviews we run at AppSec Labs, we see again and again how the same security problems enter systems at the code stage - sometimes without the developers being aware of it at all.
One of the tools we most like to put into the process is Semgrep - a static code scanner (SAST) that is clever, light and fast, and makes it possible to find weaknesses simply, accurately, and tailored to your own code.
Why it is so useful to us
- It scans code intelligently - not regex-based, but based on an understanding of code structure.
- It supports modern languages: Python, JS, TS, Java, Go and more.
- You can run it locally, inside CI/CD, or as part of a review process.
- It has dozens of ready-made rules, including categories like XSS, SQLi and SSRF.
- You can write your own rules to match your organisation's code.
Getting started
- Installation is very fast:
pip install semgreporbrew install semgrep, or simply run it through Docker. - A first scan: run
semgrep --config=autoagainst the project directory - within a minute you will see results. - CI/CD integration: a simple connection to GitHub Actions, GitLab CI or Jenkins, to stop pull requests with security problems.
- Custom rules are easy: build your own in YAML to catch patterns specific to you.
The bottom line is that Semgrep lets you identify security problems at an early stage, save expensive fixes in production, and improve code quality without loading the development team down.
One caveat from our side of the table, which applies to any scanner: it finds the classes of flaw that have a shape. The ones we spend most of an engagement on - authorization, tenant isolation, business logic - have no malformed request to match on. Put Semgrep in the pipeline, and do not mistake a clean run for a tested system.
I first shared a version of this as a LinkedIn post on 2025-04-20. It is republished here, lightly edited, so it is easier to find and reference. — Erez Metula
Keep reading
More from the blog
Application Security
We checked 1,237 fixes. One in four was not fixed.
Between October 2021 and August 2026 our clients sent 1,237 fixes back to us and asked us to confirm they worked. 307…
Read itApplication Security
What 890 security engagements actually find
6,048 findings across 700 tests. The most common are configuration and hygiene. The most dangerous are authorization - 133 high and critical,…
Read itApplication Security
The Most Expensive Vulnerability Is a Token Nobody Rotated
No sophisticated SQL injection. No state actor with three APT teams. A developer pushed code with a secret in it, and a…
Read itTell us what the system does and what worries you.
If a penetration test is not what you need yet, we will say so.