AI coding agent は、アイデアを動く Web app にする速度をかなり上げた。ただし、安全上の問題が同じ速度で見えるとは限らない。client bundle に入ってしまった secret、Supabase RLS の設定ミス、model output をそのまま dangerouslySetInnerHTML に渡すコード、internal error details を frontend に返す API。demo では動いて見えても、そのまま本番に持ち込むと危ないものは多い。

今日取り上げる Synvoya/codeinspectus は、この隙間を埋めようとしている。local-first で privacy-preserving な MCP security scanner で、AI が生成した、あるいは AI が大きく関わった application を主な対象にする。workflow は単純だ。agent が scan を呼び、tool が findings を返し、agent が説明と修正案を出し、user が承認してから code を直し、rescan で確認する。source code を直接編集せず、scan 時に code を cloud へ送らない。

GitHub repository API、repository page、README、Tags、Releases、LICENSE、package.json、公開 git history、changelog を 2026-07-26 時点で確認すると、Synvoya/codeinspectus22 stars6 forks。GitHub API と project metadata で確認できる主要言語は TypeScript、license は MIT。GitHub API 上の repository 作成時刻は 2026-07-01 13:24:45 UTC、latest push は 2026-07-26 10:03:39 UTC。公開 git history の最初の commit は b69ce1a、時刻は 2026-06-25 12:33:53 UTC、message は CodeInspectus: local-first security MCP server for AI-generated code。現在の default branch master の latest commit は 69bdbf6、時刻は 2026-07-26 10:00:50 UTC、message は release: v0.4.1。GitHub Releases API の先頭はまだ v0.3.2、published at は 2026-07-19 11:51:38 UTC。一方で Git tags、package.json、changelog は v0.4.1 を示しており、tag time は 2026-07-26 10:03:37 UTCpackage.json では npm package name が codeinspectus、version は 0.4.1、Node.js 要件は 18+ になっている。

プロジェクト概要

項目内容
リポジトリSynvoya/codeinspectus
位置づけAI 生成 application 向けの local MCP security scanner
Stars22
Forks6
主要言語TypeScript
ライセンスMIT
GitHub 作成時刻2026-07-01 13:24:45 UTC
最初の公開コミットb69ce1a、2026-06-25 12:33:53 UTC
現在の default branch commit69bdbf6、2026-07-26 10:00:50 UTC
最新 GitHub Releasev0.3.2、2026-07-19 11:51:38 UTC
最新 tag / npm metadatav0.4.1、2026-07-26 10:03:37 UTC
npm packagecodeinspectus 0.4.1
Node 要件18+
キーワードMCP、local-first、SAST、secrets、SCA、SBOM、OWASP、Supabase、Trivy、Gitleaks、Opengrep

複数の scan を一つの agent tool にまとめる

CodeInspectus は、大きな SAST を一から作っているわけではない。README の説明ははっきりしている。Opengrep、Gitleaks、Trivy という既存の open-source engine をまとめ、その上に AI 生成 code 向けの rules を追加する。Opengrep は SAST / OWASP Top 10 系の source pattern、Gitleaks は secret、Trivy は dependency CVE、IaC misconfig、license、SBOM を担当する。CodeInspectus 独自の部分は、より “AI が書いた Web app” に寄った checks だ。

ここがこの project の角度になる。README にある AI-code checks には、client-side secret/bundle exposure、Supabase RLS や inverted-auth の問題、prompt-injection sinks、client-writable な user_metadata を authorization に使う pattern、model/user output を sanitize せず dangerouslySetInnerHTML に渡す code、API boundary leaks、raw request-to-database writes、sensitive logging、security header/CSP/session cookie/Supabase CAPTCHA の設定 checks などが含まれる。

agent に Next.js + Supabase の internal tool を書かせる場面では、これはかなり現実的な失敗パターンだ。機能は動いて見えるし、code review でも frontend/backend boundary をすべて追うのは難しい。CodeInspectus の意味は、この種の checks を agent が直接呼べる local tool にしているところにある。CI、penetration test、production alert を待つより前に、会話の中で見つけやすくなる。

workflow は scan -> explain -> approve -> rescan

MCP integration では boundary が強調されている。README によると、CodeInspectus は source code を読み、findings を報告するだけで、編集も削除もしない。agent が説明と修正案を出し、user の承認後に変更する。scan のたびに git safety state も返し、git repo でない場合や uncommitted changes がある場合には checkpoint を勧める。

接続方法も普通だ。MCP server は次のように登録できる。

{
  "mcpServers": {
    "codeinspectus": {
      "command": "npx",
      "args": ["-y", "codeinspectus"]
    }
  }
}

Codex CLI 向けには、README で次の command が示されている。

codex mcp add codeinspectus -- npx -y codeinspectus

また、Codex では MCP tool timeout を 600 秒にするよう案内している。複数の security engines を並列に走らせるため、大きな repository では 60 秒の default timeout が短すぎることがある。このあたりは地味だが、実際の agent client の挙動に合わせて integration を調整している sign でもある。

local-first だが「絶対に network を使わない」ではない

CodeInspectus の privacy claim は比較的正確だ。scan time は zero network egress。つまり、code を読んで findings を作る段階では upload せず、account も telemetry もない。engine data と scan history は ~/.codeinspectus に保存され、optional SBOM は default では managed directory に書かれる。

ただし、engine の install や repair では network を使う。v0.4.1 changelog で追加された repair-engines は、まさにこの部分を扱う。missing または unhealthy な engine artifacts だけを download し、shipped pins で検証し、binary を atomic に置き換え、必要なら Trivy DB を refresh し、per-machine lock で concurrent repair を serialize する。README も、npm postinstall による silent download はなく、agent は coverage state を説明してから network repair の承認を得るべきだと書いている。

これは、単に “local-first” と言うより信頼しやすい。security tool 自体が supply-chain risk になり得るので、いつ network を使うのか、何を download するのか、どう verify するのか、scan 時に egress があるのかを分けて説明している点は重要だ。

v0.4.x の maintenance signal

今回の確認で気になった点が一つある。GitHub Releases API はまだ v0.3.2 を先頭に返すが、tags、package.json、changelog、default branch commit は v0.4.1 まで進んでいる。user から見ると、install package と source metadata のほうが GitHub Release page より新しい可能性がある。version を確認するときは、どの source を見ているかを分けたほうがよい。

changelog を見ると、v0.4.0 と v0.4.1 は document update だけではない。v0.4.0 では API-boundary detections、credentialed arbitrary-origin CORS、runtime-control evidence、security headers、CSP、cookie、Supabase CAPTCHA の設定 checks が追加された。v0.4.1 は offline engine health、incremental repair、immutable lockfile enforcement、中断された repair 後の atomic recovery が中心だ。

この方向は、project が “問題を見つける” だけでなく、“結果を説明でき、再確認でき、誤解を生みにくい” tool に寄せていることを示している。特に rescan semantics と engine provenance は、agent に修正を任せるときに重要になる。これがないと、agent は “今回は見えなかった” を “直った” と言いがちだ。

向いている場面

一つ目は、AI で素早く作った Web app だ。特に Next.js、React、Supabase、serverless API、MCP tool、agent integration を組み合わせた project。よくある問題は syntax error ではなく boundary error だ。誰が data を読めるのか、secret が bundle に入らないか、model output を HTML として扱っていないか、error response が内部構造を漏らしていないか。

二つ目は、security check を agent session の中に前倒ししたい team だ。従来の SAST は CI で走ることが多く、feedback が code change から少し離れる。MCP なら、agent が変更前後に scan し、findings と diff を同じ context で扱い、修正後に rescan できる。

三つ目は、code を外部に出しにくい small team だ。CodeInspectus は enterprise security platform の代替ではない。ただし local preflight layer として、明らかな secrets、dependency vulnerabilities、AI 生成 code 特有の boundary 問題をまず手元で洗い出す用途には合う。

注意点

第一に、project は非常に新しい。GitHub repository は 2026-07-01 作成で、stars は 22、公開 commit history も短い。試す価値はあるが、formal security review の代替にはならない。

第二に、AI-code checks は主に JavaScript / TypeScript 向けだ。README は deeper AI-code checks の対象を .js/.ts/.jsx/.tsx/.mjs/.cjs とし、client secret checks は .vue/.svelte/.astro/.html も読むと説明している。他言語でも secrets、dependencies、IaC などの general engines からは恩恵を受けられるが、この project の特徴的な rules は同じ範囲ではない。

第三に、compliance mapping を audit conclusion として扱ってはいけない。README は code-visible controls だけを報告し、certification も framework pass も主張しないと繰り返し書いている。この honesty は良い点だが、使う側も boundary を理解する必要がある。

第四に、engine install/repair は download と verification workflow への信頼を含む。SHA pins、cosign/checksum、atomic replacement、lock は用意されているが、security tool 自身も supply chain の一部だ。team で使う前には version を固定し、lockfile を確認し、isolated environment で一度試すのがよい。

まとめ

Synvoya/codeinspectus が面白いのは、AI coding の現実的な問題を具体的に扱っているところだ。agent が生成した application には bug だけでなく、security boundary の書き間違いが入り得る。そしてそれは、普通の functional test では見えないことが多い。

Claude Code、Cursor、Codex、その他 MCP client で Web app を書いているなら、CodeInspectus は local preflight tool として watch list に入れてよい。まだ若く、release metadata にも少しずれがある。ただし方向は明確だ。code を渡す前に、local security scan でよくある、恥ずかしく、見落としやすい問題を先に表に出すための tool である。