What is Semgrep and where does it fit in a DevSecOps pipeline?
Quick Answer
Semgrep is used for SAST (static application security testing), running at the code stage. Explain the class of problem it catches, why catching it there is cheaper than catching it in production, and how it reports findings back to developers.
Detailed Answer
Describe Semgrep by the failure it prevents, not by its feature list. It belongs to SAST (static application security testing) and runs at the code stage of delivery, which matters because the cost of fixing a defect rises sharply the later it is found — the core argument behind shifting security left.
Strong answers cover writing and tuning custom rules, pattern syntax vs regex, per-language rulesets, autofix, baseline scanning on diffs only, false-positive suppression with nosemgrep, and running as a fast pre-commit and CI gate. Interviewers also listen for the operational side: who owns the rules, how findings reach the developer who introduced them, how false positives get suppressed without silently disabling coverage, and what the break-glass path is when a fix genuinely cannot ship in time.
Tie it to the wider toolchain. Security scanning is only useful when its output is actionable, deduplicated across tools, and attached to a specific commit, image digest or resource — otherwise teams learn to ignore it.
Code Example
# Where Semgrep sits in the pipeline # stage: code # 1. run the scan against the artifact produced by this stage # 2. compare findings against the agreed severity threshold # 3. blocking a merge when a rule matches on changed lines # 4. publish the report so developers see it on the commit or pull request
Interview Tip
Anchor Semgrep to a stage and a gate: what it scans, when it runs, and what makes the build stop.