Semgrep Blog Feed
Discover the latest news and updates from our Security Research Staff and Product team for trends in secure coding, application security, and source-code scanning.
- Posts
- 317 from 14 May 2019 to 27 Oct 2026
- Posting
- weekly (111 in the last year)
- Kind
- company blog
- Feed
- https://semgrep.dev/blog/rss/
2026 93
- You Can Be Aware and Still Get Compromised. Readiness Limits the Damage.
- Broccoli2Shell: The One Decoder to Rule Them All
- Patch Your Node and Eat Your Brotli Or You Won’t Get Dessert
- If you run Apache with mod_php, stop reading and patch now: upgrade to PHP 8.5.12, 8.4.27, 8.3.36 or 8.2.35.
- Your Security Tools Won't Save You. Is Your Organization Actually Ready?
- Introducing Semgrep in Cursor Origin
- Cybersecurity Awareness Won’t Save You. Readiness Might.
- The End Is Nigh for Code Review
- "I wanted the big name on my resume": Why our former interns chose a startup anyway
- Why Engineers Are Switching to Codex
- MCP Gives Agents Tools. Hooks Give Security Control.
- It’s Time to Rename Cybersecurity Awareness Month
- Claude Opus 5.5 Writes Working Code but Only Half of It Is Secure
- What Application Security Actually Does All Day
- Introducing Malware Detection and Response Automation
- The AI Ecosystem Has Worms Now: Inside the MemTensor Compromise
- Meet the Semgrep Interns: Four Projects from Summer 2026
- Shift Right? After 20 Years of Shift Left?
- Feeling the heat from Malicious Packages? Cool off with Cooldowns
- Semgrep Multimodal Goes Beyond Authentication: What we learned from Comparing it with Mythos
- We benchmarked A LOT of models, here’s how they compare to Mythos
- Hacker Summer Camp 2026: A Longitudinal Study of 2,295 Talks
- Rust crates arrayref & append-only-vec compromised via malicious proc-macro1 dependency
- GLM-5.3 delivers Opus 4.8-level cybersecurity results at a fraction of the cost
- Speedrunning SHA pinning for GitHub Actions org-wide
- What Happens to Your AppSec Program When Going from Zero to 60k Lines of Code a Day
- It’s not npm-ver yet: NPM worm Chaindrop hits 400+ packages including jaredwray, servicetitan, ornikar, qlik and nebula.js
- Crypto is Fine. The Code is Not.
- Introducing Semgrep Agentic Workflows: Automate Deep Vulnerability Hunting at Scale
- Kimi K3's Code Security Results Look Competitive - Until You Look at Precision
- Summer of Semgrep: Everywhere You'll Find Us at Hacker Summer Camp 2026
- Comparing Open-Source AI Code Security Harnesses
- Grounded or Gamed? We Audited Our Own Cyber Benchmark
- Miasma v3 Hit 4 AsyncAPI Packages — Did NPM's Defenses Work, or Just Get Dodged?
- Evaluating GPT-5.6 Luna, Terra, and Sol Against GPT-5.5 for AI Code Security
- You Can't Reverse Engineer Your Way Out of the AI Supply Chain Problem
- So it's your first time at Hacker Summer Camp, and you want to make the most of it
- AI-Native vs. AI-Washed: How to Tell the Difference in AppSec Tooling
- Black Hat USA 2026: A Space Rogue Survival Guide
- Introducing Semgrep Guardian: Security for AI-Generated Code
- We have Mythos at Home: GLM 5.2 beats Claude in our Cyber Benchmarks
- 3.5x more true positives: How we benchmark AI-powered detection
- RIP post/preinstall scripts: An obituary for the npm feature only TeamPCP will miss
- Making Semgrep rip: How Ripgrep inspired us to shave hours off (some) scans
- How We Cut Semgrep’s Taint Analysis Time by 75%
- Miasma v2: Self-Spreading npm Worm Now Uses Malicious binding.gyp file and Compromises 57 Packages
- Announcing Pyro Caml: A Continuous Profiler for OCaml
- Forking Shai-Hulud: RedHat npm Packages Are The Next Victim After GitHub Actions Compromise and Worm
- 28 Years Later: Some Things Changed. The Important Stuff Didn't.
- Security that Ships: The ROI of AppSec for Engineering Teams
- The AI Hackathon Effect: Faster Builds, Better Demos, and Real Products
- Getting Ready for Mythos with Semgrep
- Why Do Worms Work
- Mini Shai-Hulud Resurfaces; Compromised Maintainer of antv, timeago, and size-sensor Packages Revives Worm Activity
- Not Your IPC, but node-ipc: npm Hit Again with Supply Chain Attack (But This Time It's Not a Worm)
- Operationalizing AI-Powered Detection
- Children of Shai-Hulud: An Analysis of the The Evolution, Delivery and Spread of the TanStack Shai-Hulud Campaign
- TanStack Router Packages Hit by Mini Shai-Hulud TheBeautifulSandsOfTime Supply Chain Attack
- Dynamically Resolve Dependencies for a Full Picture of Your Inventory
- Inside the AI Memories Security Teams Are Writing
- AppSec in Pole Position: A Week of Customers, Conversations, and Code Security across EMEA
- Shai-Hulud Themed Malware Found in the PyTorch Lightning AI Training Library
- Malicious Intercom PHP Package Spreads Mini Shai-Hulud Attack to Packagist via Composer Plugin
- NIST No Longer Enriching CVEs, Signaling Industry-Wide Shift Away from NVD.
- SAP Cloud Build Tool Packaged A Mini Shai-Hulud Malicious Dependency That Uses Bun
- How-to Write Skills That Make Your AI-Generated Code More Secure
- Attackers Are Still Coming for Security Companies. Here's Where We Stand.
- Security Advisory: $foo compromised on $packagemanager
- Mythos: Bad Takes, Facts, and Fear
- Mythos & Semgrep
- Needles and haystacks: Can open-source & flagship models do what Mythos did?
- Semgrep chosen to be part of OpenAI’s Trusted Access for Cyber Program
- Security Should Be the Path of Least Resistance
- Codebase-Aware Reachability Analysis Coverage for Rust
- Preventing Vulnerable Code From Merging Without Blocking Developers
- Axios Supply Chain Incident: Indicators of Compromise
- The best free, open-source supply-chain security tool? The lockfile (updated 2026)
- Client SDKs Can Be a Supply Chain Blind Spot
- Security Companies Under Attack: Defense in the Agentic Era
- Hackers Supply Chain Attack Moves From npm to PyPI as Trivy Breach Extends into LiteLLM Package
- Attackers Can't Have All the Advantage: Introducing Semgrep Multimodal
- Will there be more security engineers in the future, or fewer?
- Introducing Semgrep Custom Workflows
- Accelerate and Automate Remediation with Semgrep Autofix
- Semgrep x Cursor: Introducing Cursor Plugins
- Open Source Security: Chaos, Collaboration, and the Cost of “Free”
- OpenClaw Security Engineer's Cheat Sheet
- OWASP Top 10 2025: What's New
- Security Like It's 1977: Capabilities for the Modern Agentic Web
- New Sandbox Escape Affecting Popular nodejs Sandbox library vm2
- AI Can Do More Than Build Web Apps: What Hardware Hacking Teaches Us About LLM Capabilities
- Your Window of Exposure is the Attacker's Window of Opportunity
- Choosing AI AppSec Tools: 9 Deciding Factors
2025 55
- Semgrep × Cursor Hooks: Making Security Reliable for Agents
- Respond to Malware Incidents Faster with Advisory Impact Analysis in Semgrep Supply Chain
- A Security Engineer's Guide to the A2A Protocol
- From Gatekeepers to Guardrails: Automating Your PCI DSS v4.0.1 Strategy
- What You Should Know About Dependency Reachability in SCA
- New React2Shell Offspring Patched: React Server Components (DoS) and Source Code Exposure
- Remote Code Execution Security Bug in React Server Components Patched
- Detect Open Source Malware Attacks with Semgrep Supply Chain
- What a Hackathon Reveals About AI Agent Trends to Expect in 2026
- Sha1-Hulud: The Second Coming of the NPM Worm is Digging For Secrets
- Secrets Story: The Prefixed Secrets That Tried%20to%2BGet\nAway
- Security Regulations: From Scary Stories to Strategic Advantage
- Catching IDORs, Broken Authorization, and Other Logic Issues with Semgrep AI-Powered Detection
- Boosting Security Scan Performance for Monorepos with Multicore Parallel Processing
- Five Considerations When Building Cross-Platform Tools for Windows and macOS
- Semgrep Community Edition Fall Release 2025
- Through a Scanner Falsely: When AI-reported Critical Vulnerabilities Aren’t
- Can LLMs Detect IDORs? Understanding the Boundaries of AI Reasoning
- 7 Things We Learned from the EU’s Cybersecurity Threat Landscape 2050 Report
- How Semgrep & StackHawk Help AppSec Teams Prioritize Real Risks
- Semgrep recognized in the 2025 Gartner® Magic Quadrant™ for Application Security Testing
- So the first malicious MCP server has been found on npm, what does this mean for MCP security?
- Enterprise Scale Code Scanning: Semgrep Managed Scans Crossed 1 MILLION Weekly Scans
- A Security Engineer's Guide to MCP
- Security Advisory | NPM Packages Using Secret Scanning Tools to Steal Credentials
- Our AI Assistant is handling 60% of incoming triage work for customers
- Security Alert | chalk, debug and color on npm compromised in new supply chain attack
- MCP: Model, Context… Propaganda? What security teams need to know about the latest hyped up AI tech
- Finding vulnerabilities in modern web apps using Claude Code and OpenAI Codex
- Security Alert | NX Compromised to Steal Wallets and Credentials
- Fix What Matters, Faster: How Semgrep and Sysdig Are Unifying Security from Code to Runtime
- Finding More Zero Days Through Variant Analysis
- Comparing Semgrep Community Edition and Semgrep Code for Static Analysis Sensitivity
- Taming the elephant: Introducing reachability analysis for PHP
- Imagine zero false positive SAST
- Benchmarking Semgrep Community Edition Performance Improvements
- From idea to (secure) app: Semgrep + Replit
- AppSec for Builders: A Manifesto for the Future of Secure Code Development
- Beyond vulnerabilities: Detect malicious dependencies in your supply chain
- Giving AppSec a Seat at the Vibe Coding Table
- Maturing Your Application Security Program Survey
- London calling: Highlights from the 2025 cloud & cyber security expo
- 🚨 Popular GitHub Action tj-actions/changed-files is compromised
- Upgrading Semgrep from OCaml 4 to OCaml 5
- The Future of SaaS Security: AI-Driven, Fast, and Secure
- Take control of sensitive code without developer frustration
- A Technical Deep Dive into Semgrep’s JavaScript Vulnerability Detection
- Code to cloud noise reduction - Prioritizing code security with Semgrep & Wiz
- Beyond Benchmarks: How Semgrep Redefines Javascript Security
- 5 Ways SAST and SCA help fintech companies innovate securely
- Series D announcement
- Announcing an AI AppSec engineer that users agree with 95% of the time
- How we built an AppSec AI that security researchers agree with 96% of the time
- Why AI-Powered Memories are the Future of SAST
- Automating Security Workflows with the Semgrep Policy Management API
2024 52
- Important updates to Semgrep OSS
- Less effort, more insight: Introducing Dependency Graph for Supply Chain
- Semgrep Supply Chain announces dataflow reachability support for 10 languages
- Bringing Semgrep Managed Scanning to GitLab: automated code scanning at scale
- Help us rename Semgrep OSS!
- Announcing Kotlin Reachability: Expanding the reach of Semgrep’s reachability
- Driving enterprise adoption of AI code security with Semgrep Assistant
- Easily create custom SAST guardrails with human language and Semgrep Assistant (AI)
- New insight into backlogs, developer engagement, and security posture
- Choosing a static analysis tool
- Conclusion: Security Champions
- Exploit exploitability: prioritize supply chain findings with EPSS
- Does your LLM thing work? (& how we use promptfoo)
- Security Champions: Metrics & Data
- Announcing AI-assisted remediation guidance on every PR
- Redefining security coverage for Python with framework-native analysis
- The tech behind Semgrep Assistant’s triage and remediation guidance
- A day in the life: Supply Chain Security Researcher
- Bringing more Semgrep capabilities to BitBucket and Azure DevOps
- Teaching security champions
- Engage your champions
- Recruiting security champions
- AppSec guides, not gates: Introducing secure guardrails with Semgrep
- Fix today’s vulnerabilities and prevent tomorrow’s with secure guardrails
- Sense and (path) sensitivity: My experience adding a new feature as a Semgrep intern
- (Over)Communication with your security champions
- Recognizing and rewarding security champions
- Not just another Jira integration
- CocoaPods vulnerabilities highlight risks in dependency managers
- Building security champions
- The CVE program’s new rules: will they affect your vulnerability management?
- Protect your code from the Polyfill supply chain attack
- Introducing Semgrep’s Community-Oriented Twitter Account
- Semgrep Quarterly Launch: scaling your AppSec impact just got easier
- Rapidly deploy code scans across your organization with Semgrep managed scanning
- Overrated and underperforming: transitive reachability analysis
- Announcing Semgrep Code Search (public beta)
- LSP.js: Using Wasm and JavaScript to support OCaml on Windows
- Introducing Semgrep Academy: the door to cyber security for everyone
- Structure Mode: Never write an invalid Semgrep rule again
- Announcing custom rules for Semgrep Secrets
- What it takes to make shift left work
- Three key learnings for AppSec teams from the XZ backdoor
- Securing CodeQL queries with Semgrep
- 10x your AppSec program with Semgrep Assistant
- Semgrep Code brings modern static analysis to C/C++
- Why SAST tools need to be customizable to be useful
- Enhancing developer happiness: The impact of identifying code-specific issues
- Security headers for ASP.Net and .Net CORE
- Comparing Reachability Analysis methods: Semgrep's distinct approach
- HackerOne partners with Semgrep to combine expert code review with powerful automation
- Continuous learning
2023 34
- Security scanning at ludicrous speed
- You do not need to do DAST in a pipeline to do DevSecOps
- Efficient Dependency Management: Leveraging Manifest Files, Lockfiles, and SemVer Specifications
- Semgrep Fall '23 Launch: improved coverage + enterprise fit
- Go beyond regex: introducing Semgrep Secrets
- My Very, Very, VERY HONEST Internship Experience @ Semgrep
- Much ado about cURL
- Announcing Semgrep Supply Chain’s beta support for C#
- DevSecOps worst practices – the series
- Preventing secrets in code
- Should security engineers care about transitive supply chain vulnerabilities?
- Choosing API Security Tools
- The Difference Between SCA and Supply Chain Security
- Guardrails for PromQL using Semgrep
- Why We Hack Purple and I are joining Semgrep
- The indomitable maintainer spirit versus the indifferent cruelty of JavaScript
- AI & Cybersecurity: Learnings from three months of Semgrep Assistant
- How we resolved the ‘HTTP request failed: timeout’ issue in OCaml
- Semgrep’s VS Code extension: powerful SAST as fast as linting
- Expanding Semgrep Supply Chain into Dependency Intelligence and License Compliance
- The journey of a language from experimental to GA in Semgrep
- Cross-compiling OCaml to JS and Wasm: How we made the Semgrep Playground Fast
- Unlocking advanced security for all: Semgrep’s latest update
- Semgrep now supports Cairo 1.0
- Announcing Semgrep’s support for Go in Pro Engine
- Announcing Semgrep’s experimental support for Julia
- Semgrep, a code & supply chain security search engine, raises Series C
- The birth of Semgrep Pro Engine
- We put GPT-4 in Semgrep to point out false positives & fix code
- Using AI to write secure code with Semgrep
- Announcing Semgrep’s beta support for Rust
- Developer-focused results and improved coverage with Semgrep Pro rules
- Announcing Semgrep Code: SAST designed and built for engineers
- XML Security in Java
2022 24
- Releasing Semgrep 1.0
- Need for speed: static analysis version
- Building an enterprise-ready, scalable security program using Semgrep
- Powerfully autofixing code with Semgrep's new AST-based approach
- A deep dive into Semgrep Supply Chain
- Fully loaded: testing vulnerable PyYAML versions
- It's time to ignore 98% of dependency alerts. Introducing Semgrep Supply Chain.
- Software supply chain security is hard
- Announcing Semgrep's experimental support of Swift
- Demystifying Taint Mode
- Shoulda, Woulda...Coulda
- Testing autofix behavior of SAST rules
- Security scanning with Semgrep in CI
- My experience interning at r2c
- Announcing Semgrep's general availability support of PHP
- Write custom rules with the new Playground
- Introducing DeepSemgrep
- Semgrep's May 2022 updates
- Tips and tricks for writing fixes
- Semgrep Spring 2022 meetup recap
- Scaling Semgrep rule coverage by spidering language documentation
- Semgrep's February 2022 Updates
- Keep your rules simple with symbolic propagation
- The OWASP API Security Top Ten: API1:2019 Broken Object Level Authorization
2021 26
- Understanding and mitigating the Log4Shell vulnerability
- Scanning Shell Scripts With Semgrep
- New, high-signal rules for the JavaScript ecosystem
- Semgrep: a static analysis journey
- Announcing general availability of C#
- Semgrep App's Fall 2021 updates
- Semgrep's Fall 2021 Updates
- Taint mode is now in beta
- Seattle Java User Group: Detect complex code patterns using Semgrep
- Protect Your GitHub Actions with Semgrep
- Recording: Semgrep Summer 2021 Meetup
- BSides Las Vegas: the power of guardrails
- Slack on scaling static analysis with Semgrep
- r2c's Series B funding
- JavaScript static analysis comparison: ESLint vs Semgrep
- Introducing Semgrep for GitLab
- Python static analysis comparison: Bandit vs Semgrep
- Announcing C# alpha support
- 🤫 Don't leak your secrets
- How we made Semgrep rules run on Semgrep rules
- Jenkins Meetup
- Should random() be banned?
- Appsec Development: Keeping it all together at scale
- Executable XSS cheat sheets for popular web frameworks
- r2c named Disruptive Innovator by Forbes
- Four levels of maturity that bridge the AppSec / engineering divide
2020 27
- When DevSecOps goes wrong
- Announcing Ruby GA support
- Bay Area OWASP Meetup presentation
- Using Bento individually and on team projects
- Experimental feature: generic pattern matching
- Exploiting dynamic rendering engines to take control of web apps
- Introducing Semgrep and r2c
- Fixing leaky logs: how to find a bug and ensure it never returns
- The future of AppSec and why I joined r2c
- Writing Semgrep rules
- Not all attacks are equal: understanding and preventing DoS in web applications
- r2c meetup on writing Semgrep rules
- Type-awareness in semantic grep
- How to prevent HTML email injection in Python web apps
- Hardcoded secrets, unverified tokens, and other common JWT mistakes
- Be careful what you request for
- Semgrep: Stop grepping code
- Pain-free custom linting: why I moved from ESLint and Bandit to Semgrep
- Preventing SQL injection: a Django author's perspective
- Semgrep at Hella Secure HellaConf 2020
- Silicon Valley Cyber Security: Detect complex code patterns using semantic grep
- Improving ReDoS detection and finding more bugs using Dlint and r2c
- SF Python: writing robust Flask apps
- Bento 0.9: Checks for a high-severity Python vulnerability and Jinja templates
- Bento check: Catch catastrophic backtracking ReDoS bugs
- Finding Python ReDoS bugs at scale using Dlint and r2c
- Bento 0.8: Updated workflows and new specialty checks
2019 6
- Bento check: keeping your cookies safe in Flask
- Flask check: send_file() with a file handle
- Our quest to make world-class security and bugfinding available to all developers, for free
- Three things your linter shouldn’t tell you
- DEF CON 27 workshop on finding vulnerabilities at scale
- Surprising subtleties of Docker permissions