<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>ai-triage | Rohit Salecha</title>
    <link>https://www.rohitsalecha.com/tags/ai-triage/</link>
      <atom:link href="https://www.rohitsalecha.com/tags/ai-triage/index.xml" rel="self" type="application/rss+xml" />
    <description>ai-triage</description>
    <generator>Source Themes Academic (https://sourcethemes.com/academic/)</generator><language>en-us</language><copyright>Rohit Salecha &amp;#169; `2026` </copyright><lastBuildDate>Thu, 14 May 2026 12:00:00 +0530</lastBuildDate>
    <image>
      <url>https://www.rohitsalecha.com/images/icon_hu40c7ea214729181906829226e930351e_19106_512x512_fill_lanczos_center_2.png</url>
      <title>ai-triage</title>
      <link>https://www.rohitsalecha.com/tags/ai-triage/</link>
    </image>
    
    <item>
      <title>semhound</title>
      <link>https://www.rohitsalecha.com/project/semhound/</link>
      <pubDate>Thu, 14 May 2026 12:00:00 +0530</pubDate>
      <guid>https://www.rohitsalecha.com/project/semhound/</guid>
      <description>&lt;h2 id=&#34;motivation&#34;&gt;Motivation&lt;/h2&gt;
&lt;p&gt;Security teams often need the same answer across &lt;strong&gt;many&lt;/strong&gt; repositories: “Where else does this pattern show up?” That might be a bug-bounty SQLi variant, a zero-day in a dependency, or a custom policy you encode as Semgrep rules. Running Semgrep repo-by-repo means scripting discovery, cloning, execution, and reporting yourself.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;semhound&lt;/strong&gt; automates that loop at GitHub org (or user) scale: you supply the rules, it handles &lt;strong&gt;discovery&lt;/strong&gt; (&lt;code&gt;gh repo list&lt;/code&gt;), &lt;strong&gt;parallel shallow clones&lt;/strong&gt; over SSH, &lt;strong&gt;scanning&lt;/strong&gt;, and a &lt;strong&gt;single report&lt;/strong&gt; per target with GitHub permalinks. If you want help separating noise from signal, optional &lt;strong&gt;AI triage&lt;/strong&gt; adds a confidence score and a true-positive verdict per finding.&lt;/p&gt;
&lt;p&gt;The mental model is simple: tools like TruffleHog or Gitleaks are built for &lt;strong&gt;secrets&lt;/strong&gt;; semhound is for &lt;strong&gt;any Semgrep pattern&lt;/strong&gt; you define, swept across every repo you can access—like a hound for Semgrep findings.&lt;/p&gt;
&lt;h2 id=&#34;what-it-does&#34;&gt;What it does&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Discover&lt;/strong&gt; — Lists repositories for each org or username you pass (inline or via &lt;code&gt;--orgs-file&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Clone&lt;/strong&gt; — Shallow clone (&lt;code&gt;--depth 1&lt;/code&gt;) with a blob size cap aligned to Semgrep’s default so large binaries are skipped.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Scan&lt;/strong&gt; — Runs your rules from a local &lt;code&gt;--rules-dir&lt;/code&gt;, remote &lt;code&gt;--rules-url&lt;/code&gt;, or both.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Report&lt;/strong&gt; — Writes &lt;code&gt;&amp;lt;target&amp;gt;_scan.csv&lt;/code&gt; and optional SARIF (&lt;code&gt;--sarif&lt;/code&gt;).&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;semhound is aimed at &lt;strong&gt;targeted, on-demand&lt;/strong&gt; investigations (tight rule sets, specific events), not continuous full-org scanning with huge rule packs.&lt;/p&gt;
&lt;h2 id=&#34;install-and-docs&#34;&gt;Install and docs&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;PyPI&lt;/strong&gt;: 
&lt;a href=&#34;https://pypi.org/project/semhound/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://pypi.org/project/semhound/&lt;/a&gt; — &lt;code&gt;pipx install semhound&lt;/code&gt; is the recommended install path.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Source and full README&lt;/strong&gt;: 
&lt;a href=&#34;https://github.com/salecharohit/semhound&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://github.com/salecharohit/semhound&lt;/a&gt; — prerequisites (&lt;code&gt;gh&lt;/code&gt;, &lt;code&gt;git&lt;/code&gt;, &lt;code&gt;semgrep&lt;/code&gt;, SSH to GitHub), usage examples, AI provider configuration (&lt;code&gt;ai.config.example&lt;/code&gt;), output column reference, and FAQ.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you use private repositories, you need &lt;code&gt;gh auth login&lt;/code&gt; plus an SSH key registered with GitHub for cloning.&lt;/p&gt;
&lt;h2 id=&#34;licence&#34;&gt;Licence&lt;/h2&gt;
&lt;p&gt;Open source under the &lt;strong&gt;MIT&lt;/strong&gt; licence; see the repository for details.&lt;/p&gt;
</description>
    </item>
    
  </channel>
</rss>
