<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Vulnerability Detection on Producthunt daily</title>
        <link>https://producthunt.programnotes.cn/en/tags/vulnerability-detection/</link>
        <description>Recent content in Vulnerability Detection on Producthunt daily</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>en</language>
        <lastBuildDate>Sun, 22 Mar 2026 15:42:57 +0800</lastBuildDate><atom:link href="https://producthunt.programnotes.cn/en/tags/vulnerability-detection/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>trivy</title>
        <link>https://producthunt.programnotes.cn/en/p/trivy/</link>
        <pubDate>Sun, 22 Mar 2026 15:42:57 +0800</pubDate>
        
        <guid>https://producthunt.programnotes.cn/en/p/trivy/</guid>
        <description>&lt;img src="https://images.unsplash.com/photo-1530598554585-ee355b518dc9?ixid=M3w0NjAwMjJ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3NzQxNjUzNDl8&amp;ixlib=rb-4.1.0" alt="Featured image of post trivy" /&gt;&lt;h1 id=&#34;aquasecuritytrivy&#34;&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/aquasecurity/trivy&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;aquasecurity/trivy&lt;/a&gt;
&lt;/h1&gt;&lt;div align=&#34;center&#34;&gt;
&lt;img src=&#34;docs/imgs/logo.png&#34; width=&#34;200&#34;&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/aquasecurity/trivy/releases&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://img.shields.io/github/release/aquasecurity/trivy.svg?logo=github&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;GitHub Release&#34;
	
	
&gt;&lt;/a&gt;
&lt;a class=&#34;link&#34; href=&#34;https://github.com/aquasecurity/trivy/actions/workflows/test.yaml&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://github.com/aquasecurity/trivy/actions/workflows/test.yaml/badge.svg&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;Test&#34;
	
	
&gt;&lt;/a&gt;
&lt;a class=&#34;link&#34; href=&#34;https://goreportcard.com/report/github.com/aquasecurity/trivy&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://goreportcard.com/badge/github.com/aquasecurity/trivy&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;Go Report Card&#34;
	
	
&gt;&lt;/a&gt;
&lt;a class=&#34;link&#34; href=&#34;https://github.com/aquasecurity/trivy/blob/main/LICENSE&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://img.shields.io/badge/License-Apache%202.0-blue.svg&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;License: Apache-2.0&#34;
	
	
&gt;&lt;/a&gt;
&lt;a class=&#34;link&#34; href=&#34;https://github.com/aquasecurity/trivy/releases&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://img.shields.io/github/downloads/aquasecurity/trivy/total?logo=github&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;GitHub Downloads&#34;
	
	
&gt;&lt;/a&gt;
&lt;img src=&#34;https://img.shields.io/docker/pulls/aquasec/trivy?logo=docker&amp;amp;label=docker%20pulls%20%2F%20trivy&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;Docker Pulls&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://trivy.dev/docs/latest/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;📖 Documentation&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Trivy (&lt;a class=&#34;link&#34; href=&#34;#how-to-pronounce-the-name-trivy&#34; &gt;pronunciation&lt;/a&gt;) is a comprehensive and versatile security scanner.
Trivy has &lt;em&gt;scanners&lt;/em&gt; that look for security issues, and &lt;em&gt;targets&lt;/em&gt; where it can find those issues.&lt;/p&gt;
&lt;p&gt;Targets (what Trivy can scan):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Container Image&lt;/li&gt;
&lt;li&gt;Filesystem&lt;/li&gt;
&lt;li&gt;Git Repository (remote)&lt;/li&gt;
&lt;li&gt;Virtual Machine Image&lt;/li&gt;
&lt;li&gt;Kubernetes&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Scanners (what Trivy can find there):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;OS packages and software dependencies in use (SBOM)&lt;/li&gt;
&lt;li&gt;Known vulnerabilities (CVEs)&lt;/li&gt;
&lt;li&gt;IaC issues and misconfigurations&lt;/li&gt;
&lt;li&gt;Sensitive information and secrets&lt;/li&gt;
&lt;li&gt;Software licenses&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Trivy supports most popular programming languages, operating systems, and platforms. For a complete list, see the &lt;a class=&#34;link&#34; href=&#34;https://trivy.dev/docs/latest/coverage/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Scanning Coverage&lt;/a&gt; page.&lt;/p&gt;
&lt;p&gt;To learn more, go to the &lt;a class=&#34;link&#34; href=&#34;https://trivy.dev&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Trivy homepage&lt;/a&gt; for feature highlights, or to the &lt;a class=&#34;link&#34; href=&#34;https://trivy.dev/docs/latest/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Documentation site&lt;/a&gt; for detailed information.&lt;/p&gt;
&lt;h2 id=&#34;quick-start&#34;&gt;Quick Start
&lt;/h2&gt;&lt;h3 id=&#34;get-trivy&#34;&gt;Get Trivy
&lt;/h3&gt;&lt;p&gt;Trivy is available in most common distribution channels. The full list of installation options is available in the &lt;a class=&#34;link&#34; href=&#34;https://trivy.dev/docs/latest/getting-started/installation/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Installation&lt;/a&gt; page. Here are a few popular examples:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;brew install trivy&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;docker run aquasec/trivy&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Download binary from &lt;a class=&#34;link&#34; href=&#34;https://github.com/aquasecurity/trivy/releases/latest/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/aquasecurity/trivy/releases/latest/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;See &lt;a class=&#34;link&#34; href=&#34;https://trivy.dev/docs/latest/getting-started/installation/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Installation&lt;/a&gt; for more&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Trivy is integrated with many popular platforms and applications. The complete list of integrations is available in the &lt;a class=&#34;link&#34; href=&#34;https://trivy.dev/docs/latest/ecosystem/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Ecosystem&lt;/a&gt; page. Here are a few popular examples:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/aquasecurity/trivy-action&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;GitHub Actions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/aquasecurity/trivy-operator&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Kubernetes operator&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/aquasecurity/trivy-vscode-extension&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;VS Code plugin&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;See &lt;a class=&#34;link&#34; href=&#34;https://trivy.dev/docs/latest/ecosystem/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Ecosystem&lt;/a&gt; for more&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;canary-builds&#34;&gt;Canary builds
&lt;/h3&gt;&lt;p&gt;There are canary builds (&lt;a class=&#34;link&#34; href=&#34;https://hub.docker.com/r/aquasec/trivy/tags?page=1&amp;amp;name=canary&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Docker Hub&lt;/a&gt;, &lt;a class=&#34;link&#34; href=&#34;https://github.com/aquasecurity/trivy/pkgs/container/trivy/75776514?tag=canary&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;GitHub&lt;/a&gt;, &lt;a class=&#34;link&#34; href=&#34;https://gallery.ecr.aws/aquasecurity/trivy#canary&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ECR&lt;/a&gt; images and &lt;a class=&#34;link&#34; href=&#34;https://github.com/aquasecurity/trivy/actions/workflows/canary.yaml&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;binaries&lt;/a&gt;) generated with every push to the main branch.&lt;/p&gt;
&lt;p&gt;Please be aware: canary builds might have critical bugs, so they are not recommended for use in production.&lt;/p&gt;
&lt;h3 id=&#34;general-usage&#34;&gt;General usage
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;trivy &amp;lt;target&amp;gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;--scanners &amp;lt;scanner1,scanner2&amp;gt;&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; &amp;lt;subject&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Examples:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;trivy image python:3.4-alpine
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;details&gt;
&lt;summary&gt;Result&lt;/summary&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://user-images.githubusercontent.com/1161307/171013513-95f18734-233d-45d3-aaf5-d6aec687db0e.mov&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://user-images.githubusercontent.com/1161307/171013513-95f18734-233d-45d3-aaf5-d6aec687db0e.mov&lt;/a&gt;&lt;/p&gt;
&lt;/details&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;trivy fs --scanners vuln,secret,misconfig myproject/
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;details&gt;
&lt;summary&gt;Result&lt;/summary&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://user-images.githubusercontent.com/1161307/171013917-b1f37810-f434-465c-b01a-22de036bd9b3.mov&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://user-images.githubusercontent.com/1161307/171013917-b1f37810-f434-465c-b01a-22de036bd9b3.mov&lt;/a&gt;&lt;/p&gt;
&lt;/details&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;trivy k8s --report summary cluster
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;details&gt;
&lt;summary&gt;Result&lt;/summary&gt;
&lt;p&gt;&lt;img src=&#34;https://producthunt.programnotes.cn/docs/imgs/trivy-k8s.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;k8s summary&#34;
	
	
&gt;&lt;/p&gt;
&lt;/details&gt;
&lt;h2 id=&#34;faq&#34;&gt;FAQ
&lt;/h2&gt;&lt;h3 id=&#34;how-to-pronounce-the-name-trivy&#34;&gt;How to pronounce the name &amp;ldquo;Trivy&amp;rdquo;?
&lt;/h3&gt;&lt;p&gt;&lt;code&gt;tri&lt;/code&gt; is pronounced like &lt;strong&gt;tri&lt;/strong&gt;gger, &lt;code&gt;vy&lt;/code&gt; is pronounced like en&lt;strong&gt;vy&lt;/strong&gt;.&lt;/p&gt;
&lt;h2 id=&#34;want-more-check-out-aqua&#34;&gt;Want more? Check out Aqua
&lt;/h2&gt;&lt;p&gt;If you liked Trivy, you will love Aqua which builds on top of Trivy to provide even more enhanced capabilities for a complete security management offering.&lt;br&gt;
You can find a high level comparison table specific to Trivy users &lt;a class=&#34;link&#34; href=&#34;https://trivy.dev/docs/latest/commercial/compare/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;here&lt;/a&gt;.
In addition check out the &lt;a class=&#34;link&#34; href=&#34;https://aquasec.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://aquasec.com&lt;/a&gt; website for more information about our products and services.
If you&amp;rsquo;d like to contact Aqua or request a demo, please use this form: &lt;a class=&#34;link&#34; href=&#34;https://www.aquasec.com/demo&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://www.aquasec.com/demo&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;community&#34;&gt;Community
&lt;/h2&gt;&lt;p&gt;Trivy is an &lt;a class=&#34;link&#34; href=&#34;https://aquasec.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Aqua Security&lt;/a&gt; open source project.&lt;br&gt;
Learn about our open source work and portfolio &lt;a class=&#34;link&#34; href=&#34;https://www.aquasec.com/products/open-source-projects/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;here&lt;/a&gt;.&lt;br&gt;
Contact us about any matter by opening a GitHub Discussion &lt;a class=&#34;link&#34; href=&#34;https://github.com/aquasecurity/trivy/discussions&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;here&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Please ensure to abide by our &lt;a class=&#34;link&#34; href=&#34;https://github.com/aquasecurity/community/blob/main/CODE_OF_CONDUCT.md&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Code of Conduct&lt;/a&gt; during all interactions.&lt;/p&gt;
</description>
        </item>
        <item>
        <title>strix</title>
        <link>https://producthunt.programnotes.cn/en/p/strix/</link>
        <pubDate>Wed, 12 Nov 2025 15:29:51 +0800</pubDate>
        
        <guid>https://producthunt.programnotes.cn/en/p/strix/</guid>
        <description>&lt;img src="https://images.unsplash.com/photo-1466446230056-1fc585e55d7d?ixid=M3w0NjAwMjJ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3NjI5MzI1NjB8&amp;ixlib=rb-4.1.0" alt="Featured image of post strix" /&gt;&lt;h1 id=&#34;usestrixstrix&#34;&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/usestrix/strix&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;usestrix/strix&lt;/a&gt;
&lt;/h1&gt;&lt;p align=&#34;center&#34;&gt;
  &lt;a href=&#34;https://usestrix.com/&#34;&gt;
    &lt;img src=&#34;.github/logo.png&#34; width=&#34;150&#34; alt=&#34;Strix Logo&#34;&gt;
  &lt;/a&gt;
&lt;/p&gt;
&lt;h1 align=&#34;center&#34;&gt;
Strix
&lt;/h1&gt;
&lt;h2 align=&#34;center&#34;&gt;Open-source AI Hackers to secure your Apps&lt;/h2&gt;
&lt;div align=&#34;center&#34;&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://pypi.org/project/strix-agent/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://img.shields.io/pypi/pyversions/strix-agent?color=3776AB&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;Python&#34;
	
	
&gt;&lt;/a&gt;
&lt;a class=&#34;link&#34; href=&#34;https://pypi.org/project/strix-agent/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://img.shields.io/pypi/v/strix-agent?color=10b981&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;PyPI&#34;
	
	
&gt;&lt;/a&gt;
&lt;a class=&#34;link&#34; href=&#34;https://pepy.tech/projects/strix-agent&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://static.pepy.tech/personalized-badge/strix-agent?period=total&amp;amp;units=INTERNATIONAL_SYSTEM&amp;amp;left_color=GREY&amp;amp;right_color=RED&amp;amp;left_text=Downloads&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;PyPI Downloads&#34;
	
	
&gt;&lt;/a&gt;
&lt;a class=&#34;link&#34; href=&#34;LICENSE&#34; &gt;&lt;img src=&#34;https://img.shields.io/badge/license-Apache%202.0-blue.svg&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;License&#34;
	
	
&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/usestrix/strix&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://img.shields.io/github/stars/usestrix/strix&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;GitHub Stars&#34;
	
	
&gt;&lt;/a&gt;
&lt;a class=&#34;link&#34; href=&#34;https://discord.gg/YjKFvEZSdZ&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://img.shields.io/badge/Discord-%235865F2.svg?&amp;amp;logo=discord&amp;amp;logoColor=white&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;Discord&#34;
	
	
&gt;&lt;/a&gt;
&lt;a class=&#34;link&#34; href=&#34;https://usestrix.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://img.shields.io/badge/Website-usestrix.com-2d3748.svg&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;Website&#34;
	
	
&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://trendshift.io/repositories/15362&#34; target=&#34;_blank&#34;&gt;&lt;img src=&#34;https://trendshift.io/api/badge/repositories/15362&#34; alt=&#34;usestrix%2Fstrix | Trendshift&#34; style=&#34;width: 250px; height: 55px;&#34; width=&#34;250&#34; height=&#34;55&#34;/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;:star: &lt;em&gt;Love Strix? Give us a star to help other developers discover it!&lt;/em&gt;&lt;/p&gt;
&lt;br /&gt;
&lt;div align=&#34;center&#34;&gt;
&lt;img src=&#34;.github/screenshot.png&#34; alt=&#34;Strix Demo&#34; width=&#34;800&#34; style=&#34;border-radius: 16px;&#34;&gt;
&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;[!TIP]
&lt;strong&gt;New!&lt;/strong&gt; Strix now integrates seamlessly with GitHub Actions and CI/CD pipelines. Automatically scan for vulnerabilities on every pull request and block insecure code before it reaches production!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;[!WARNING]
Only test systems you own or have permission to test. You are responsible for using Strix ethically and legally.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id=&#34;-strix-overview&#34;&gt;🦉 Strix Overview
&lt;/h2&gt;&lt;p&gt;Strix are autonomous AI agents that act just like real hackers - they run your code dynamically, find vulnerabilities, and validate them through actual proof-of-concepts. Built for developers and security teams who need fast, accurate security testing without the overhead of manual pentesting or the false positives of static analysis tools.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Full hacker toolkit&lt;/strong&gt; out of the box&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Teams of agents&lt;/strong&gt; that collaborate and scale&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Real validation&lt;/strong&gt; with PoCs, not false positives&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Developer‑first&lt;/strong&gt; CLI with actionable reports&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Auto‑fix &amp;amp; reporting&lt;/strong&gt; to accelerate remediation&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3 id=&#34;-use-cases&#34;&gt;🎯 Use Cases
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;Detect and validate critical vulnerabilities in your applications.&lt;/li&gt;
&lt;li&gt;Get penetration tests done in hours, not weeks, with compliance reports.&lt;/li&gt;
&lt;li&gt;Automate bug bounty research and generate PoCs for faster reporting.&lt;/li&gt;
&lt;li&gt;Run tests in CI/CD to block vulnerabilities before reaching production.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3 id=&#34;-quick-start&#34;&gt;🚀 Quick Start
&lt;/h3&gt;&lt;p&gt;Prerequisites:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Docker (running)&lt;/li&gt;
&lt;li&gt;Python 3.12+&lt;/li&gt;
&lt;li&gt;An LLM provider key (or a local LLM)&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;9
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Install&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pipx install strix-agent
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Configure AI provider&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;STRIX_LLM&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;openai/gpt-5&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;LLM_API_KEY&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;your-api-key&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Run security assessment&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;strix --target ./app-directory
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;First run pulls the sandbox Docker image. Results are saved under &lt;code&gt;agent_runs/&amp;lt;run-name&amp;gt;&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id=&#34;-enterprise-platform&#34;&gt;🏆 Enterprise Platform
&lt;/h3&gt;&lt;p&gt;Want to skip the setup? Try our cloud-hosted version: &lt;strong&gt;&lt;a class=&#34;link&#34; href=&#34;https://usestrix.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;usestrix.com&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Our managed platform provides:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;📈 Executive Dashboards&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;🧠 Custom Fine-Tuned Models&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;⚙️ CI/CD Integration&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;🔍 Large-Scale Scanning&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;🔌 Third-Party Integrations&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;🎯 Enterprise Support&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://usestrix.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;strong&gt;Get Enterprise Demo →&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;-features&#34;&gt;✨ Features
&lt;/h2&gt;&lt;h3 id=&#34;-agentic-security-tools&#34;&gt;🛠️ Agentic Security Tools
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;🔌 Full HTTP Proxy&lt;/strong&gt; - Full request/response manipulation and analysis&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;🌐 Browser Automation&lt;/strong&gt; - Multi-tab browser for testing of XSS, CSRF, auth flows&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;💻 Terminal Environments&lt;/strong&gt; - Interactive shells for command execution and testing&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;🐍 Python Runtime&lt;/strong&gt; - Custom exploit development and validation&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;🔍 Reconnaissance&lt;/strong&gt; - Automated OSINT and attack surface mapping&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;📁 Code Analysis&lt;/strong&gt; - Static and dynamic analysis capabilities&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;📝 Knowledge Management&lt;/strong&gt; - Structured findings and attack documentation&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;-comprehensive-vulnerability-detection&#34;&gt;🎯 Comprehensive Vulnerability Detection
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Access Control&lt;/strong&gt; - IDOR, privilege escalation, auth bypass&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Injection Attacks&lt;/strong&gt; - SQL, NoSQL, command injection&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Server-Side&lt;/strong&gt; - SSRF, XXE, deserialization flaws&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Client-Side&lt;/strong&gt; - XSS, prototype pollution, DOM vulnerabilities&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Business Logic&lt;/strong&gt; - Race conditions, workflow manipulation&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Authentication&lt;/strong&gt; - JWT vulnerabilities, session management&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Infrastructure&lt;/strong&gt; - Misconfigurations, exposed services&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;-graph-of-agents&#34;&gt;🕸️ Graph of Agents
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Distributed Workflows&lt;/strong&gt; - Specialized agents for different attacks and assets&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Scalable Testing&lt;/strong&gt; - Parallel execution for fast comprehensive coverage&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Dynamic Coordination&lt;/strong&gt; - Agents collaborate and share discoveries&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;-usage-examples&#34;&gt;💻 Usage Examples
&lt;/h2&gt;&lt;h3 id=&#34;default-usage&#34;&gt;Default Usage
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Local codebase analysis&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;strix --target ./app-directory
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Repository security review&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;strix --target https://github.com/org/repo
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Black-Box Web application assessment&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;strix --target https://your-app.com
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Grey-Box Security Assesment&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;strix --target https://your-app.com --instructions &lt;span class=&#34;s2&#34;&gt;&amp;#34;Perform authenticated testing using the following credentials user:pass&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Multi-target white-box testing (source code + deployed app)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;strix -t https://github.com/org/app -t https://your-app.com
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Focused testing with instructions&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;strix --target api.your-app.com --instruction &lt;span class=&#34;s2&#34;&gt;&amp;#34;Focus on business logic flaws and IDOR vulnerabilities&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;-headless-mode&#34;&gt;🤖 Headless Mode
&lt;/h3&gt;&lt;p&gt;Run Strix programmatically without interactive UI using the &lt;code&gt;-n/--non-interactive&lt;/code&gt; flag—perfect for servers and automated jobs. The CLI prints real-time vulnerability findings, and the final report before exiting. Exits with non-zero code when vulnerabilities are found.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;strix -n --target https://your-app.com
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;-cicd-github-actions&#34;&gt;🔄 CI/CD (GitHub Actions)
&lt;/h3&gt;&lt;p&gt;Strix can be added to your pipeline to run a security test on pull requests with a lightweight GitHub Actions workflow:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;19
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;20
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;strix-penetration-test&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;on&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;pull_request&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;jobs&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;security-scan&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;runs-on&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;ubuntu-latest&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;steps&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;- &lt;span class=&#34;nt&#34;&gt;uses&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;actions/checkout@v4&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;- &lt;span class=&#34;nt&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;Install Strix&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;        &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;run&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;pipx install strix-agent&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;- &lt;span class=&#34;nt&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;Run Strix&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;        &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;env&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;          &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;STRIX_LLM&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;${{ secrets.STRIX_LLM }}&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;          &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;LLM_API_KEY&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;${{ secrets.LLM_API_KEY }}&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;        &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;run&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;strix -n -t ./&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;-configuration&#34;&gt;⚙️ Configuration
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;STRIX_LLM&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;openai/gpt-5&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;LLM_API_KEY&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;your-api-key&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Optional&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;LLM_API_BASE&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;your-api-base-url&amp;#34;&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;# if using a local model, e.g. Ollama, LMStudio&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;PERPLEXITY_API_KEY&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;your-api-key&amp;#34;&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;# for search capabilities&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://docs.litellm.ai/docs/providers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;📚 View supported AI models&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;-contributing&#34;&gt;🤝 Contributing
&lt;/h2&gt;&lt;p&gt;We welcome contributions from the community! There are several ways to contribute:&lt;/p&gt;
&lt;h3 id=&#34;code-contributions&#34;&gt;Code Contributions
&lt;/h3&gt;&lt;p&gt;See our &lt;a class=&#34;link&#34; href=&#34;CONTRIBUTING.md&#34; &gt;Contributing Guide&lt;/a&gt; for details on:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Setting up your development environment&lt;/li&gt;
&lt;li&gt;Running tests and quality checks&lt;/li&gt;
&lt;li&gt;Submitting pull requests&lt;/li&gt;
&lt;li&gt;Code style guidelines&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;prompt-modules-collection&#34;&gt;Prompt Modules Collection
&lt;/h3&gt;&lt;p&gt;Help expand our collection of specialized prompt modules for AI agents:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Advanced testing techniques for vulnerabilities, frameworks, and technologies&lt;/li&gt;
&lt;li&gt;See &lt;a class=&#34;link&#34; href=&#34;strix/prompts/README.md&#34; &gt;Prompt Modules Documentation&lt;/a&gt; for guidelines&lt;/li&gt;
&lt;li&gt;Submit via &lt;a class=&#34;link&#34; href=&#34;https://github.com/usestrix/strix/pulls&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;pull requests&lt;/a&gt; or &lt;a class=&#34;link&#34; href=&#34;https://github.com/usestrix/strix/issues&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;issues&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;-join-our-community&#34;&gt;👥 Join Our Community
&lt;/h2&gt;&lt;p&gt;Have questions? Found a bug? Want to contribute? &lt;strong&gt;&lt;a class=&#34;link&#34; href=&#34;https://discord.gg/YjKFvEZSdZ&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Join our Discord!&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id=&#34;-support-the-project&#34;&gt;🌟 Support the Project
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;Love Strix?&lt;/strong&gt; Give us a ⭐ on GitHub!&lt;/p&gt;
&lt;div align=&#34;center&#34;&gt;
&lt;img src=&#34;https://api.star-history.com/svg?repos=usestrix/strix&amp;type=date&amp;legend=top-left&#34; alt=&#34;Star History Chart&#34; width=&#34;800&#34; style=&#34;border-radius: 16px;&#34;&gt;
&lt;/div&gt;
&lt;/div&gt;
</description>
        </item>
        <item>
        <title>semgrep</title>
        <link>https://producthunt.programnotes.cn/en/p/semgrep/</link>
        <pubDate>Sat, 26 Jul 2025 15:29:32 +0800</pubDate>
        
        <guid>https://producthunt.programnotes.cn/en/p/semgrep/</guid>
        <description>&lt;img src="https://images.unsplash.com/photo-1629482924451-44eff104bcd9?ixid=M3w0NjAwMjJ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3NTM1MTQ5Mzl8&amp;ixlib=rb-4.1.0" alt="Featured image of post semgrep" /&gt;&lt;h1 id=&#34;semgrepsemgrep&#34;&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/semgrep/semgrep&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;semgrep/semgrep&lt;/a&gt;
&lt;/h1&gt;&lt;br /&gt;
&lt;p align=&#34;center&#34;&gt;
  &lt;a href=&#34;https://semgrep.dev&#34;&gt;
    &lt;picture&gt;
      &lt;source media=&#34;(prefers-color-scheme: light)&#34; srcset=&#34;images/semgrep-logo-light.svg&#34;&gt;
      &lt;source media=&#34;(prefers-color-scheme: dark)&#34; srcset=&#34;images/semgrep-logo-dark.svg&#34;&gt;
      &lt;img src=&#34;https://raw.githubusercontent.com/semgrep/semgrep/develop/images/semgrep-logo-light.svg&#34; height=&#34;100&#34; alt=&#34;Semgrep logo&#34;/&gt;
    &lt;/picture&gt;
  &lt;/a&gt;
&lt;/p&gt;
&lt;h2 align=&#34;center&#34;&gt;
  Code scanning at ludicrous speed.
&lt;/h2&gt;
&lt;p align=&#34;center&#34;&gt;
  &lt;a href=&#34;https://formulae.brew.sh/formula/semgrep&#34;&gt;
    &lt;img src=&#34;https://img.shields.io/homebrew/v/semgrep?style=flat-square&#34; alt=&#34;Homebrew&#34; /&gt;
  &lt;/a&gt;
  &lt;a href=&#34;https://pypi.org/project/semgrep/&#34;&gt;
    &lt;img alt=&#34;PyPI&#34; src=&#34;https://img.shields.io/pypi/v/semgrep?style=flat-square&amp;color=blue&#34;&gt;
  &lt;/a&gt;
  &lt;a href=&#34;https://semgrep.dev/docs/&#34;&gt;
      &lt;img src=&#34;https://img.shields.io/badge/docs-semgrep.dev-purple?style=flat-square&#34; alt=&#34;Documentation&#34; /&gt;
  &lt;/a&gt;
  &lt;a href=&#34;https://go.semgrep.dev/slack&#34;&gt;
    &lt;img src=&#34;https://img.shields.io/badge/slack-3.5k%20members-green?style=flat-square&#34; alt=&#34;Join Semgrep community Slack&#34; /&gt;
  &lt;/a&gt;
  &lt;a href=&#34;https://github.com/semgrep/semgrep/issues/new/choose&#34;&gt;
    &lt;img src=&#34;https://img.shields.io/badge/issues-welcome-green?style=flat-square&#34; alt=&#34;Issues welcome!&#34; /&gt;
  &lt;/a&gt;
  &lt;a href=&#34;https://github.com/semgrep/semgrep#readme&#34;&gt;
    &lt;img src=&#34;https://img.shields.io/github/stars/semgrep/semgrep?label=GitHub%20Stars&amp;style=flat-square&#34; alt=&#34;Star Semgrep on GitHub&#34; /&gt;
  &lt;/a&gt;
  &lt;a href=&#34;https://hub.docker.com/r/semgrep/semgrep&#34;&gt;
    &lt;img src=&#34;https://img.shields.io/docker/pulls/semgrep/semgrep.svg?style=flat-square&#34; alt=&#34;Docker Pulls&#34; /&gt;
  &lt;/a&gt;
  &lt;a href=&#34;https://hub.docker.com/r/semgrep/semgrep&#34;&gt;
    &lt;img src=&#34;https://img.shields.io/docker/pulls/semgrep/semgrep.svg?style=flat-square&#34; alt=&#34;Docker Pulls (Old)&#34; /&gt;
  &lt;/a&gt;
  &lt;a href=&#34;https://twitter.com/intent/follow?screen_name=semgrep&#34;&gt;
    &lt;img src=&#34;https://img.shields.io/twitter/follow/semgrep?label=Follow%20semgrep&amp;style=social&amp;color=blue&#34; alt=&#34;Follow @semgrep on Twitter&#34; /&gt;
  &lt;/a&gt;
&lt;/p&gt;
&lt;/br&gt;
&lt;p&gt;Semgrep is a fast, open-source, static analysis tool that searches code, finds bugs, and enforces secure guardrails and coding standards. Semgrep &lt;a class=&#34;link&#34; href=&#34;#language-support&#34; &gt;supports 30+ languages&lt;/a&gt; and can run in an IDE, as a pre-commit check, and as part of CI/CD workflows.&lt;/p&gt;
&lt;p&gt;Semgrep is semantic grep for code. While running &lt;code&gt;grep &amp;quot;2&amp;quot;&lt;/code&gt; would only match the exact string &lt;em&gt;2&lt;/em&gt;, Semgrep would &lt;a class=&#34;link&#34; href=&#34;https://semgrep.dev/playground/s/5rKgj&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;match &lt;code&gt;x = 1; y = x + 1&lt;/code&gt; when searching for &lt;em&gt;2&lt;/em&gt;&lt;/a&gt;. Semgrep rules look like the code you already write; no abstract syntax trees, regex wrestling, or painful DSLs.&lt;/p&gt;
&lt;p&gt;Note that in security contexts, Semgrep Community Edition will miss many true positives as it can only analyze code within the boundaries of a single function or file. If you want to use Semgrep for security purposes (&lt;strong&gt;SAST&lt;/strong&gt;, &lt;strong&gt;SCA&lt;/strong&gt;, or &lt;strong&gt;secrets scanning&lt;/strong&gt;), the Semgrep AppSec Platform is strongly recommended since it adds the following critical capabilities:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Improved core analysis capabilities (cross-file, cross-function, data-flow reachability) that greatly reduce false positives by 25% and increase detected true positives by 250%&lt;/li&gt;
&lt;li&gt;Contextual post-processing of findings with Semgrep Assistant (AI) to further reduce noise by &lt;a class=&#34;link&#34; href=&#34;https://a.storyblok.com/f/151984/x/2d12dc0223/whitepaper_-ai-powered-appsec-engineer-automate.pdf?cv=1728584410408&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;~20%&lt;/a&gt;.  In addition, Assistant enriches findings with tailored, step-by-step remediation guidance that humans find actionable &amp;gt;80% of the time.&lt;/li&gt;
&lt;li&gt;Customizable policies and seamless integration into developer workflows, giving security teams granular control over where, when, and how different findings are presented to developers (IDE, PR comment, etc.)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The Semgrep AppSec Platform works out-of-the-box with 20000+ proprietary rules across SAST, SCA, and secrets. Pro rules are written and maintained by the Semgrep security research team and are highly accurate, meaning AppSec teams can feel confident bringing findings directly to developers without slowing them down.&lt;/p&gt;
&lt;p&gt;Semgrep analyzes code locally on your computer or in your build environment: &lt;strong&gt;by default, code is never uploaded&lt;/strong&gt;. &lt;a class=&#34;link&#34; href=&#34;#getting-started-&#34; &gt;Get started →.&lt;/a&gt;&lt;/p&gt;
&lt;a href=&#34;#option-1-getting-started-from-the-cli&#34;&gt;
&lt;img src=&#34;https://raw.githubusercontent.com/semgrep/semgrep/develop/images/semgrep-scan-cli.jpg&#34; alt=&#34;Semgrep CLI image&#34;/&gt;&lt;/a&gt;
&lt;h3 id=&#34;language-support&#34;&gt;Language support
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;Semgrep Code&lt;/strong&gt; supports 30+ languages, including:&lt;/p&gt;
&lt;p&gt;Apex · Bash · C · C++ · C# · Clojure · Dart · Dockerfile · Elixir · HTML · Go · Java · JavaScript · JSX · JSON · Julia · Jsonnet · Kotlin · Lisp · Lua · OCaml · PHP · Python · R · Ruby · Rust · Scala · Scheme · Solidity · Swift · Terraform · TypeScript · TSX · YAML · XML · Generic (ERB, Jinja, etc.)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Semgrep Supply Chain&lt;/strong&gt; supports 12 languages across 15 package managers, including:&lt;/p&gt;
&lt;p&gt;C# (NuGet) · Dart (Pub) · Go (Go modules, &lt;code&gt;go mod&lt;/code&gt;) · Java (Gradle, Maven) · Javascript/Typescript (npm, Yarn, Yarn 2, Yarn 3, pnpm) · Kotlin (Gradle, Maven) · PHP (Composer) · Python (pip, pip-tool, Pipenv, Poetry) · Ruby (RubyGems) · Rust (Cargo) · Scala (Maven) · Swift (SwiftPM)&lt;/p&gt;
&lt;p&gt;For more information, see &lt;a class=&#34;link&#34; href=&#34;https://semgrep.dev/docs/supported-languages/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Supported languages&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&#34;getting-started-&#34;&gt;Getting started 🚀
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#option-1-getting-started-from-the-semgrep-appsec-platform-recommended&#34; &gt;From the Semgrep AppSec Platform&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#option-2-getting-started-from-the-cli&#34; &gt;From the CLI&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;For new users, we recommend starting with the &lt;a class=&#34;link&#34; href=&#34;#option-1-getting-started-from-the-semgrep-appsec-platform-recommended&#34; &gt;Semgrep AppSec Platform&lt;/a&gt; because it provides a visual interface, a demo project, result triaging and exploration workflows, and makes setup in CI/CD fast. Scans are still local and code isn&amp;rsquo;t uploaded. Alternatively, you can also start with the CLI and navigate the terminal output to run one-off searches.&lt;/p&gt;
&lt;h3 id=&#34;option-1-getting-started-from-the-semgrep-appsec-platform-recommended&#34;&gt;Option 1: Getting started from the Semgrep Appsec Platform (Recommended)
&lt;/h3&gt;&lt;p&gt;&lt;a href=&#34;https://go.semgrep.dev/login-ghrmgo&#34;  target=&#34;_blank&#34;&gt;&lt;img src=&#34;https://raw.githubusercontent.com/semgrep/semgrep/develop/images/semgrep-main-image.jpg&#34; alt=&#34;Semgrep platform image&#34;/&gt; &lt;/a&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Register on &lt;a href=&#34;https://go.semgrep.dev/login-ghrmgo&#34; target=&#34;_blank&#34;&gt;semgrep.dev&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Explore the demo findings to learn how Semgrep works&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Scan your project by navigating to &lt;code&gt;Projects &amp;gt; Scan New Project &amp;gt; Run scan in CI&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Select your version control system and follow the onboarding steps to add your project. After this setup, Semgrep will scan your project after every pull request.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;[Optional] If you want to run Semgrep locally, follow the steps in the CLI section.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;notes&#34;&gt;Notes:
&lt;/h3&gt;&lt;p&gt;If there are any issues, &lt;a href=&#34;https://go.semgrep.dev/slack&#34; target=&#34;_blank&#34;&gt;please ask for help in the Semgrep Slack&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&#34;option-2-getting-started-from-the-cli&#34;&gt;Option 2: Getting started from the CLI
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;Install Semgrep CLI&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;9
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;# For macOS
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ brew install semgrep
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;# For Ubuntu/WSL/Linux/macOS
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ python3 -m pip install semgrep
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;# To try Semgrep without installation run via Docker
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ docker run -it -v &amp;#34;${PWD}:/src&amp;#34; semgrep/semgrep semgrep login
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ docker run -e SEMGREP_APP_TOKEN=&amp;lt;TOKEN&amp;gt; --rm -v &amp;#34;${PWD}:/src&amp;#34; semgrep/semgrep semgrep ci
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ol start=&#34;2&#34;&gt;
&lt;li&gt;Run &lt;code&gt;semgrep login&lt;/code&gt; to create your account and login to Semgrep.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Logging into Semgrep gets you access to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://semgrep.dev/products/semgrep-supply-chain?utm_medium=readme&amp;amp;utm_source=github&amp;amp;utm_content=ssc-product&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Semgrep Supply Chain&lt;/a&gt;: A dependency scanner that detects reachable vulnerabilities in third party libraries&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://semgrep.dev/products/semgrep-code?utm_medium=readme&amp;amp;utm_source=github&amp;amp;utm_content=code-pro-rules&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Semgrep Code&amp;rsquo;s Pro rules&lt;/a&gt;: 600+ high confidence rules written by Semgrep&amp;rsquo;s security research team&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://semgrep.dev/products/pro-engine?utm_medium=readme&amp;amp;utm_source=github&amp;amp;utm_content=pro-engine&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Semgrep Code&amp;rsquo;s Pro engine&lt;/a&gt;: An advanced code analysis engine, designed to detect complex vulnerabilities, and reduce false positives&lt;/li&gt;
&lt;/ul&gt;
&lt;ol start=&#34;3&#34;&gt;
&lt;li&gt;
&lt;p&gt;Go to your app&amp;rsquo;s root directory and run &lt;code&gt;semgrep ci&lt;/code&gt;. This will scan your project to check for vulnerabilities in your source code and its dependencies.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Try writing your own query interactively with &lt;code&gt;-e&lt;/code&gt;. For example, a check for Python == where the left and right hand sides are the same (potentially a bug):
&lt;code&gt;$ semgrep -e &#39;$X == $X&#39; --lang=py path/to/src&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;semgrep-ecosystem&#34;&gt;Semgrep Ecosystem
&lt;/h3&gt;&lt;p&gt;The Semgrep ecosystem includes the following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://semgrep.dev/docs/cli-reference/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Semgrep Community Edition&lt;/a&gt; - The open-source program analysis engine at the heart of everything. Suitable for ad-hoc use cases with a high tolerance for false positives - think consultants, security auditors, or pentesters.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://semgrep.dev/login?utm_medium=readme&amp;amp;utm_source=github&amp;amp;utm_content=appsec-platform&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Semgrep AppSec Platform&lt;/a&gt; - Easily orchestrate and scale SAST, SCA, and Secrets scanning across an organization, with no risk of overwhelming developers.  Customize which findings developers see, where they see them, and integrate with CI providers like GitHub, GitLab, CircleCI, and more. Includes both free and paid tiers.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://semgrep.dev/products/semgrep-code?utm_medium=readme&amp;amp;utm_source=github&amp;amp;utm_content=semgrep-code&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Semgrep Code (SAST)&lt;/a&gt; - Make real progress on your vulnerability backlog with SAST that minimizes noise and empowers developers to quickly fix issues on their own, even if they have no security knowledge. Easy to deploy secure guardrails and tailored, step-by-step remediation guidance mean developers actually fix issues since they don&amp;rsquo;t feel slowed down.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://semgrep.dev/products/semgrep-supply-chain?utm_medium=readme&amp;amp;utm_source=github&amp;amp;utm_content=ssc&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Semgrep Supply Chain (SSC)&lt;/a&gt; - A high-signal dependency scanner that detects reachable vulnerabilities in open source third-party libraries and functions.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://semgrep.dev/blog/2023/introducing-semgrep-secrets/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Semgrep Secrets (Secrets scanning)&lt;/a&gt; - Secrets detection that uses semantic analysis, improved entropy analysis, and validation to accurately surface sensitive credentials in the developer workflow.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://semgrep.dev/products/semgrep-code/assistant?utm_medium=readme&amp;amp;utm_source=github&amp;amp;utm_content=assistant&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Semgrep Assistant (AI)&lt;/a&gt; - Assistant is an AI-powered AppSec engineer that helps both developers and AppSec teams prioritize, triage, and remediate Semgrep findings at scale. Humans agree with Assistant auto-triage decisions 97% of the time, and rate generated remediation guidance as helpful 80% of the time. For an overview of how Assistant works, &lt;a class=&#34;link&#34; href=&#34;https://a.storyblok.com/f/151984/x/2d12dc0223/whitepaper_-ai-powered-appsec-engineer-automate.pdf?cv=1728584410408&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;read this overview&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional resources:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://semgrep.dev/editor&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Semgrep Playground&lt;/a&gt; - An online interactive tool for writing and sharing rules.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://semgrep.dev/explore&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Semgrep Registry&lt;/a&gt; - 2,000+ community-driven rules covering security, correctness, and dependency vulnerabilities.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Join hundreds of thousands of other developers and security engineers already using Semgrep at companies like GitLab, Dropbox, Slack, Figma, Shopify, HashiCorp, Snowflake, and Trail of Bits.&lt;/p&gt;
&lt;p&gt;Semgrep is developed and commercially supported by &lt;a class=&#34;link&#34; href=&#34;https://semgrep.dev&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Semgrep, Inc., a software security company&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&#34;semgrep-rules&#34;&gt;Semgrep Rules
&lt;/h3&gt;&lt;p&gt;Semgrep rules look like the code you already write; no abstract syntax trees, regex wrestling, or painful DSLs. Here&amp;rsquo;s a quick rule for finding Python &lt;code&gt;print()&lt;/code&gt; statements.&lt;/p&gt;
&lt;p&gt;Run it online in Semgrep’s Playground by &lt;a class=&#34;link&#34; href=&#34;https://semgrep.dev/playground/r/3qUzQD/ievans.print-to-logger&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;clicking here&lt;/a&gt;.&lt;/p&gt;
&lt;p align=&#34;center&#34;&gt;
    &lt;a href=&#34;https://semgrep.dev/playground/r/3qUzQD/ievans.print-to-logger&#34;  target=&#34;_blank&#34;&gt;&lt;img src=&#34;https://raw.githubusercontent.com/semgrep/semgrep/develop/images/semgrep-example-rules-editor.jpg&#34; width=&#34;582&#34; alt=&#34;Semgrep rule example for finding Python print() statements&#34; /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;h4 id=&#34;examples&#34;&gt;Examples
&lt;/h4&gt;&lt;p&gt;Visit &lt;a class=&#34;link&#34; href=&#34;https://semgrep.dev/docs/writing-rules/rule-ideas/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Docs &amp;gt; Rule examples&lt;/a&gt; for use cases and ideas.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th style=&#34;text-align: left&#34;&gt;Use case&lt;/th&gt;
          &lt;th style=&#34;text-align: left&#34;&gt;Semgrep rule&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;Ban dangerous APIs&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a class=&#34;link&#34; href=&#34;https://semgrep.dev/playground/s/lglB&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Prevent use of exec&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;Search routes and authentication&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a class=&#34;link&#34; href=&#34;https://semgrep.dev/playground/s/Y6wD&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Extract Spring routes&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;Enforce the use secure defaults&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a class=&#34;link&#34; href=&#34;https://semgrep.dev/playground/s/6KwW&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Securely set Flask cookies&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;Tainted data flowing into sinks&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a class=&#34;link&#34; href=&#34;https://semgrep.dev/playground/s/qEpR&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ExpressJS dataflow into sandbox.run&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;Enforce project best-practices&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a class=&#34;link&#34; href=&#34;https://semgrep.dev/playground/s/oEox&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Use assertEqual for == checks&lt;/a&gt;, &lt;a class=&#34;link&#34; href=&#34;https://semgrep.dev/playground/s/zENk&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Always check subprocess calls&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;Codify project-specific knowledge&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a class=&#34;link&#34; href=&#34;https://semgrep.dev/playground/s/p8zk&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Verify transactions before making them&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;Audit security hotspots&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a class=&#34;link&#34; href=&#34;https://semgrep.dev/playground/s/KPwj&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Finding XSS in Apache Airflow&lt;/a&gt;, &lt;a class=&#34;link&#34; href=&#34;https://semgrep.dev/playground/s/2Br8&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Hardcoded credentials&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;Audit configuration files&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a class=&#34;link&#34; href=&#34;https://semgrep.dev/playground/s/jEKD&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Find S3 ARN uses&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;Migrate from deprecated APIs&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a class=&#34;link&#34; href=&#34;https://semgrep.dev/playground/r/java.lang.security.audit.crypto.des-is-deprecated.des-is-deprecated&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;DES is deprecated&lt;/a&gt;, &lt;a class=&#34;link&#34; href=&#34;https://semgrep.dev/playground/r/python.flask.maintainability.deprecated.deprecated-apis.flask-deprecated-apis&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Deprecated Flask APIs&lt;/a&gt;, &lt;a class=&#34;link&#34; href=&#34;https://semgrep.dev/playground/r/python.bokeh.maintainability.deprecated.deprecated_apis.bokeh-deprecated-apis&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Deprecated Bokeh APIs&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;Apply automatic fixes&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a class=&#34;link&#34; href=&#34;https://semgrep.dev/playground/s/1Ayk&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Use listenAndServeTLS&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;extensions&#34;&gt;Extensions
&lt;/h3&gt;&lt;p&gt;Visit &lt;a class=&#34;link&#34; href=&#34;https://semgrep.dev/docs/extensions/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Docs &amp;gt; Extensions&lt;/a&gt; to learn about using Semgrep in your editor or pre-commit. When integrated into CI and configured to scan pull requests, Semgrep will only report issues introduced by that pull request; this lets you start using Semgrep without fixing or ignoring pre-existing issues!&lt;/p&gt;
&lt;h3 id=&#34;documentation&#34;&gt;Documentation
&lt;/h3&gt;&lt;p&gt;Browse the full Semgrep &lt;a class=&#34;link&#34; href=&#34;https://semgrep.dev/docs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;documentation on the website&lt;/a&gt;. If you’re new to Semgrep, check out &lt;a class=&#34;link&#34; href=&#34;https://semgrep.dev/docs/getting-started/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Docs &amp;gt; Getting started&lt;/a&gt; or the &lt;a class=&#34;link&#34; href=&#34;https://semgrep.dev/learn&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;interactive tutorial&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&#34;metrics&#34;&gt;Metrics
&lt;/h3&gt;&lt;p&gt;Using remote configuration from the &lt;a class=&#34;link&#34; href=&#34;https://semgrep.dev/r&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Registry&lt;/a&gt; (like &lt;code&gt;--config=p/ci&lt;/code&gt;) reports pseudonymous rule metrics to semgrep.dev.&lt;/p&gt;
&lt;p&gt;When using configs from local files (like &lt;code&gt;--config=xyz.yml&lt;/code&gt;), metrics are sent only when the user is logged in.&lt;/p&gt;
&lt;p&gt;To disable Registry rule metrics, use &lt;code&gt;--metrics=off&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;The Semgrep &lt;a class=&#34;link&#34; href=&#34;https://semgrep.dev/docs/metrics&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;privacy policy&lt;/a&gt; describes the principles that guide data-collection decisions and the breakdown of the data that are and are not collected when the metrics are enabled.&lt;/p&gt;
&lt;h3 id=&#34;more&#34;&gt;More
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://semgrep.dev/docs/faq/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Frequently asked questions (FAQs)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://semgrep.dev/docs/contributing/contributing/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Contributing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;INSTALL.md&#34; &gt;Build instructions for developers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://go.semgrep.dev/slack&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Ask questions in the Semgrep community Slack&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://semgrep.dev/docs/cli-usage&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;CLI reference and exit codes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.youtube.com/c/semgrep&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Semgrep YouTube channel&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;LICENSE&#34; &gt;License (LGPL-2.1)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://semgrep.dev/docs/licensing/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Licensing Semgrep&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;upgrading&#34;&gt;Upgrading
&lt;/h3&gt;&lt;p&gt;To upgrade, run the command below associated with how you installed Semgrep:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Using Homebrew&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ brew upgrade semgrep
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Using pip&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ python3 -m pip install --upgrade semgrep
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Using Docker&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ docker pull semgrep/semgrep:latest
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        </item>
        
    </channel>
</rss>
