GitHubのリポジトリやプロフィールをスキャンしてマルウェアや詐欺の兆候を検出し、AIエージェントや開発者にリスク判定を提供します。
別名 flagrix-io/flagrix-cli, flagrix-cli
- スター
- 2
- ツール
- —
- ダウンロード数(30日間)
- —
- 最新バージョン
- 0.5.1
- 最終コミット
- 2026年11月10日
- ライセンス
- MIT
flagrix MCPとは
flagrixはMCPサーバーです。 GitHubのリポジトリやプロフィールをスキャンしてマルウェアや詐欺の兆候を検出し、AIエージェントや開発者にリスク判定を提供します。.
プロジェクトのREADMEから生成された概要
flagrix MCP server について
Flagrixは、GitHubのリポジトリやユーザープロフィールに含まれるマルウェアや詐欺の兆候を特定するための、開発者およびAIエージェント向けセキュリティスキャンレイヤーを提供します。ターミナル経由で実行できるローカルツールとして機能するほか、CIパイプラインへの統合や、MCP stdioプロトコルを使用したAIクライアントへの接続も可能です。特定のコミットを分析することで、リスク判定をコードの正確な状態に固定し、サイレントな変更によってスキャン結果が無効になるのを防ぎます。
ユーザーは、scanコマンドによるリポジトリのスキャンや、scan-userによるプロフィールの評価を行うことができます。ツールはGitHubのデフォルトのレート制限に従って動作しますが、GITHUB_TOKENを提供することで、リクエスト上限を毎時60回から5,000回に引き上げ、プライベートリポジトリのスキャンが可能になります。プライバシーを維持するため、すべてのスキャンロジックおよびOSVの悪意のあるパッケージフィードに対する依存関係チェックはローカルで実行され、テレメトリやデータがFlagrixのセントラルバックエンドに送信されることはありません。
できること
- 1クローン前にリポジトリの安全性を検証AIエージェントがscan_github_repoツールを使用し、コードをダウンロードする前にリポジトリ内にデータ流出のパターンがないか確認できます。
- 2GitHubプロフィールのリスク評価開発者が、GitHubのユーザープロフィールに詐欺師や偽のリクルーターの兆候がないかを確認できます。
- 3CIにおけるセキュリティゲートの自動化スキャナーを継続的インテグレーション(CI)パイプラインに統合し、高リスクなコードが検出された場合にビルドを自動的に停止させることができます。
プロジェクトの README から作成されています。すべてのユースケースは、その引用と照らし合わせて確認されています。
flagrix MCPのインストール方法
フォーマット検証日 2026年11月10日Cursor に追加Gooseに追加Claude Codeにflagrix MCPをインストール
$ claude mcp add --env 'GITHUB_TOKEN=<YOUR_GITHUB_TOKEN>' flagrix-cli -- npx -y flagrixCursorにflagrix MCPをインストール
~/.cursor/mcp.json
{
"mcpServers": {
"flagrix-cli": {
"command": "npx",
"args": [
"-y",
"flagrix"
],
"env": {
"GITHUB_TOKEN": "<YOUR_GITHUB_TOKEN>"
}
}
}
}VS Codeにflagrix MCPをインストール
.vscode/mcp.json
{
"servers": {
"flagrix-cli": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"flagrix"
],
"env": {
"GITHUB_TOKEN": "<YOUR_GITHUB_TOKEN>"
}
}
}
}VS Code CLIにflagrix MCPをインストール
$ code --add-mcp '{"name":"flagrix-cli","type":"stdio","command":"npx","args":["-y","flagrix"],"env":{"GITHUB_TOKEN":"<YOUR_GITHUB_TOKEN>"}}'Claude Desktopにflagrix MCPをインストール
claude_desktop_config.json
{
"mcpServers": {
"flagrix-cli": {
"command": "npx",
"args": [
"-y",
"flagrix"
],
"env": {
"GITHUB_TOKEN": "<YOUR_GITHUB_TOKEN>"
}
}
}
}Codexにflagrix MCPをインストール
$ codex mcp add flagrix-cli --env 'GITHUB_TOKEN=<YOUR_GITHUB_TOKEN>' -- npx -y flagrixCodex config.tomlにflagrix MCPをインストール
~/.codex/config.toml
[mcp_servers.flagrix-cli] command = "npx" args = ["-y", "flagrix"] [mcp_servers.flagrix-cli.env] GITHUB_TOKEN = "<YOUR_GITHUB_TOKEN>"
Gemini CLIにflagrix MCPをインストール
$ gemini mcp add -s user -e 'GITHUB_TOKEN=<YOUR_GITHUB_TOKEN>' flagrix-cli npx -- -y flagrixGemini settings.jsonにflagrix MCPをインストール
~/.gemini/settings.json
{
"mcpServers": {
"flagrix-cli": {
"command": "npx",
"args": [
"-y",
"flagrix"
],
"env": {
"GITHUB_TOKEN": "<YOUR_GITHUB_TOKEN>"
}
}
}
}設定
GITHUB_TOKENシークレットOptional GitHub token — raises API rate limits and enables private-repo scans
| 名前 | 説明 | 種類 |
|---|---|---|
| GITHUB_TOKEN | Optional GitHub token — raises API rate limits and enables private-repo scans | シークレット |
自動チェック
実行日 2026年11月13日完全なレポート →自動チェックに合格しました。これはセキュリティ監査ではありません。コードを読み、サーバーに必要最小限のアクセス権を与えてください。 チェックの仕組み
- ソースリポジトリがリンクされており、アクセス可能flagrix-io/flagrix-cli is public and reachablegithub.com/flagrix-io/flagrix-cli ↗合格
- パッケージがこのリポジトリをソースとして指定flagrix names flagrix-io/flagrix-cli as sourcenpmjs.com/package/flagrix ↗合格
- ビルドの来歴 (Sigstore 証明)Sigstore attestation for flagrixnpmjs.com/package/flagrix/v/0.5.1#provenance ↗合格
- オープンソースライセンス (OSI)MITspdx.org/licenses/MIT.html ↗合格
- 過去1年以内にコミットまたはリリースありLast commit or release 2026-11-10github.com/flagrix-io/flagrix-cli ↗合格
- OpenSSF Scorecard未チェック
- パッケージ名が有名なパッケージに酷似していないNo popular package one edit away from flagrix合格
- パッケージおよびその依存関係に重大な勧告なし99 resolved dependencies checked; no critical advisoryosv.dev ↗合格
- モデルへの隠れた指示がない0 tool descriptions and the README read; no override phrases, credential paths or hidden characters合格
- 破壊的なツールがラベル付けされている未チェック
- リモートエンドポイントが MCP ハンドシェイクに応答未チェック
README
GitHubで見るflagrix
Scan GitHub repositories and profiles for malware before you clone — from the terminal, CI, or an AI agent. The same commit-pinned verdict as the Flagrix browser extension, made callable.
npx flagrix scan https://github.com/some-org/coding-assignment
some-org/coding-assignment @ 3f9c2a1
HIGH RISK — Do not clone security score 12/100
3 files scanned · 10 dependencies · 2 issues
CRITICAL Data exfiltration patterns detected: Keylogger Pattern
assignment.js:14
14 document.addEventListener("keydown", (e) => send(e.key))
Built after real fake-recruiter campaigns ("coding assignment" repos that steal wallets, SSH keys, and browser sessions) started targeting developers.
Commands
flagrix scan <url | owner/repo> # scan a repository (--ref <branch|sha>)
flagrix scan-user <username> # score a GitHub profile for scam signals
flagrix mcp # MCP server (stdio) for AI agents
Exit codes
| code | meaning |
|---|---|
| 0 | low risk |
| 1 | scan failed |
| 2 | medium risk — review before proceeding |
| 3 | high risk — do not clone |
| 4 | scan incomplete — not enough of the repository was read to give a verdict |
--json (automatic when stdout is piped) emits the full result. The verdict is
pinned to the scanned commit (commitSha in the JSON): every file is read at
that SHA, so a push mid-scan or after the verdict can't silently invalidate it.
Incomplete scans (exit 4)
A repository scan is one tree request plus up to ~200 file reads, and GitHub allows 60 requests an hour without a token. When the budget runs out part way through, the rest of the repository is never looked at — so a "low risk, no findings" result over 30 of 180 files is the absence of looking, not a clean bill of health.
The result says so (scanSummary.complete: false, with
scanSummary.incompleteReason of "rate-limit" or "fetch-errors"), the
human output withholds the verdict and the score, and the exit code is 4
instead of 0. In CI the exit code is the decision and nobody reads stdout, so
a gate on flagrix scan stops here as it does on any non-zero code. Findings
are the other way round: evidence found is evidence however little else was
read, so a medium or high verdict keeps its own code and the coverage note
reads "there may be more".
In --json output, read verdict and coverage rather than riskLevel:
{
"verdict": "incomplete",
"coverage": {
"complete": false,
"unreliableClear": true,
"filesRead": 30,
"filesUnread": 150,
"reason": "rate-limit"
},
"riskLevel": "low",
"safeToClone": false,
...
}
verdictis"low","medium","high", or"incomplete"when a low result rests on files that were never read. It matches the exit code (0 / 2 / 3 / 4).coverage.unreliableClearis true exactly whenverdictis"incomplete";coverage.completeis false on any partial scan, including a medium or high one.reasonis present only when coverage is incomplete.riskLevel,riskScoreand the rest of the engine's result are unchanged, so existing consumers keep working — butriskLevelis the engine's reading of the files it did see, so on an incomplete scan it can still say"low".safeToCloneis kept for compatibility and is nowfalsewheneververdictis"incomplete"(in 0.4.0 and earlier it could betruethere). Gate onverdictor the exit code instead.
The MCP tool's JSON block carries the same fields.
Set a token to make this rare: GITHUB_TOKEN raises the budget to 5,000/h.
AI agents
claude mcp add flagrix -- npx -y flagrix mcp
Tools: scan_github_repo, scan_github_user. A Claude Code hook that gates every
git clone on a scan ships in hooks/ — see
docs/agent-gating.md.
Tokens & rate limits
Unauthenticated scans use GitHub's 60 req/h budget (a scan issues one request per
scanned file, up to ~200). Set GITHUB_TOKEN (or FLAGRIX_GITHUB_TOKEN, or
--token) to raise it to 5,000/h and to scan private repositories. A scan that
runs out of budget reports partial coverage and exits 4 — see
Incomplete scans.
Privacy
Fully local. No telemetry, no accounts, no Flagrix backend — the only network calls go to the GitHub/npm APIs and the public detection-rules repository (signature refresh, cached 6 h, with a bundled offline snapshot).
Dependencies are also checked against the OSV malicious-package feed
(osv-malicious.json from the same repository: every npm/PyPI package the
OpenSSF malicious-packages project has confirmed malicious). The feed is
downloaded and matched locally, so dependency names never leave your machine.
It is cached 6 h and revalidated with its ETag. Set FLAGRIX_OSV_FEED=0 to
skip it (the curated list in the signatures still applies).
How it works
Scanning logic lives in @flagrix/scanner-core (MIT), signatures in flagrix-detection-rules (MIT) — the same engine and rules the browser extension uses. Verdicts are risk assessments, not definitive fraud determinations; always verify through official channels.
AI Disclosure
This project leverages Claude AI for boilerplate generation, test-suite expansion, and optimization. All AI-generated code is strictly reviewed, refactored, and verified by human maintainers before merging.
License
MIT — see LICENSE.
flagrix MCPのよくある質問
flagrix MCPをClaude Codeに追加するには
ターミナルでclaude mcp add --env 'GITHUB_TOKEN=<YOUR_GITHUB_TOKEN>' flagrix-cli -- npx -y flagrixを実行します。すべてのプロジェクトで利用するには--scope userを追加します。
flagrix MCPをCursorに追加するには
~/.cursor/mcp.jsonを開き、上記のインストールセクションに示すCursor設定を使ってmcpServersの下にサーバーを追加します。
Flagrixを使用する際、データはプライベートに保たれますか?
はい。このツールは完全にローカルで動作し、テレメトリやFlagrixのバックエンドへの送信は行われません。ネットワーク通信はGitHub/npmのAPIおよび検出ルールのリポジトリに対してのみ行われます。
終了コード4は何を意味しますか?
終了コード4は、レート制限などの理由により、完全な判定を下すのに十分なリポジトリの読み込みができなかった不完全なスキャンであることを示します。