Scanne les dépôts et les profils GitHub pour détecter les malwares et les signaux d'arnaque afin de fournir des verdicts de risque pour les agents IA et les développeurs.
Aussi connu sous flagrix-io/flagrix-cli, flagrix-cli
- Étoiles
- 2
- Outils
- —
- Téléchargements, 30 jours
- —
- Dernière version
- 0.5.1
- Dernier commit
- 10 nov. 2026
- Licence
- MIT
Qu'est-ce que flagrix MCP ?
flagrix est un serveur MCP. Scanne les dépôts et les profils GitHub pour détecter les malwares et les signaux d'arnaque afin de fournir des verdicts de risque pour les agents IA et les développeurs.
Résumé généré à partir du README du projet
À propos du MCP server flagrix
Flagrix fournit une couche de scan de sécurité pour les développeurs et les agents IA afin d'identifier les malwares et les signaux d'arnaque dans les dépôts GitHub et les profils d'utilisateurs. Il fonctionne comme un outil local pouvant être exécuté via le terminal, intégré dans des pipelines CI, ou connecté à des clients IA via le protocole MCP stdio. En analysant des commits spécifiques, le système garantit que le verdict de risque est lié à un état exact du code, empêchant ainsi des modifications silencieuses d'invalider un scan.
Les utilisateurs peuvent effectuer des scans de dépôts via la commande scan ou des évaluations de profils avec scan-user. L'outil fonctionne avec les limites de débit par défaut de GitHub, mais la fourniture d'un GITHUB_TOKEN augmente la capacité de 60 à 5 000 requêtes par heure et permet le scan de dépôts privés. Toute la logique de scan et les vérifications de dépendances par rapport au flux de packages malveillants OSV s'effectuent localement pour préserver la confidentialité, car aucune télémétrie ni donnée n'est envoyée à un backend central Flagrix.
Ce que vous pouvez faire avec
- 1Vérifier la sécurité d'un dépôt avant le clonageUn agent IA peut utiliser l'outil scan_github_repo pour vérifier si un dépôt présente des modèles d'exfiltration de données avant de télécharger le code.
- 2Évaluer le risque d'un profil GitHubUn développeur peut vérifier si le profil GitHub d'un utilisateur présente des signes d'arnaque ou de faux recruteur.
- 3Automatiser les barrières de sécurité en CIIntégrez le scanner dans un pipeline d'intégration continue pour arrêter automatiquement les builds si du code à haut risque est détecté.
Extrait du README du projet. Chaque cas d'utilisation est vérifié par rapport à une citation du document.
Comment installer flagrix MCP
Formats vérifiés le 10 nov. 2026Ajouter à CursorAjouter à GooseInstaller flagrix MCP dans Claude Code
$ claude mcp add --env 'GITHUB_TOKEN=<YOUR_GITHUB_TOKEN>' flagrix-cli -- npx -y flagrixInstaller flagrix MCP dans Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"flagrix-cli": {
"command": "npx",
"args": [
"-y",
"flagrix"
],
"env": {
"GITHUB_TOKEN": "<YOUR_GITHUB_TOKEN>"
}
}
}
}Installer flagrix MCP dans VS Code
.vscode/mcp.json
{
"servers": {
"flagrix-cli": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"flagrix"
],
"env": {
"GITHUB_TOKEN": "<YOUR_GITHUB_TOKEN>"
}
}
}
}Installer flagrix MCP dans VS Code CLI
$ code --add-mcp '{"name":"flagrix-cli","type":"stdio","command":"npx","args":["-y","flagrix"],"env":{"GITHUB_TOKEN":"<YOUR_GITHUB_TOKEN>"}}'Installer flagrix MCP dans Claude Desktop
claude_desktop_config.json
{
"mcpServers": {
"flagrix-cli": {
"command": "npx",
"args": [
"-y",
"flagrix"
],
"env": {
"GITHUB_TOKEN": "<YOUR_GITHUB_TOKEN>"
}
}
}
}Installer flagrix MCP dans Codex
$ codex mcp add flagrix-cli --env 'GITHUB_TOKEN=<YOUR_GITHUB_TOKEN>' -- npx -y flagrixInstaller flagrix MCP dans Codex config.toml
~/.codex/config.toml
[mcp_servers.flagrix-cli] command = "npx" args = ["-y", "flagrix"] [mcp_servers.flagrix-cli.env] GITHUB_TOKEN = "<YOUR_GITHUB_TOKEN>"
Installer flagrix MCP dans Gemini CLI
$ gemini mcp add -s user -e 'GITHUB_TOKEN=<YOUR_GITHUB_TOKEN>' flagrix-cli npx -- -y flagrixInstaller flagrix MCP dans Gemini settings.json
~/.gemini/settings.json
{
"mcpServers": {
"flagrix-cli": {
"command": "npx",
"args": [
"-y",
"flagrix"
],
"env": {
"GITHUB_TOKEN": "<YOUR_GITHUB_TOKEN>"
}
}
}
}Configuration
GITHUB_TOKENSecretOptional GitHub token — raises API rate limits and enables private-repo scans
| Nom | Description | Type |
|---|---|---|
| GITHUB_TOKEN | Optional GitHub token — raises API rate limits and enables private-repo scans | Secret |
Vérifications automatisées
Exécuté le 13 nov. 2026Rapport complet →A passé nos vérifications automatisées. Il ne s'agit pas d'un audit de sécurité : lisez le code et donnez au serveur l'accès le plus restreint dont il a besoin. Fonctionnement des vérifications
- Dépôt source lié et accessibleflagrix-io/flagrix-cli is public and reachablegithub.com/flagrix-io/flagrix-cli ↗Réussi
- Le nom du package correspond au dépôt sourceflagrix names flagrix-io/flagrix-cli as sourcenpmjs.com/package/flagrix ↗Réussi
- Provenance du build (attestation Sigstore)Sigstore attestation for flagrixnpmjs.com/package/flagrix/v/0.5.1#provenance ↗Réussi
- Licence open source (OSI)MITspdx.org/licenses/MIT.html ↗Réussi
- Commit ou version publiée au cours de l'année écouléeLast commit or release 2026-11-10github.com/flagrix-io/flagrix-cli ↗Réussi
- OpenSSF ScorecardNon vérifié
- Nom du package non proche d'un package populaireNo popular package one edit away from flagrixRéussi
- Aucun avis critique dans le package ou ses dépendances99 resolved dependencies checked; no critical advisoryosv.dev ↗Réussi
- Aucune instruction cachée destinée au modèle0 tool descriptions and the README read; no override phrases, credential paths or hidden charactersRéussi
- Les outils destructifs sont étiquetésNon vérifié
- Le point de terminaison distant répond à la poignée de main MCPNon vérifié
README
Voir sur GitHubflagrix
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.
Questions sur flagrix MCP
Comment ajouter flagrix MCP à Claude Code ?
Exécutez claude mcp add --env 'GITHUB_TOKEN=<YOUR_GITHUB_TOKEN>' flagrix-cli -- npx -y flagrix dans votre terminal. Ajoutez --scope user pour le rendre disponible dans tous les projets.
Comment ajouter flagrix MCP à Cursor ?
Ouvrez ~/.cursor/mcp.json et ajoutez le serveur sous mcpServers, avec la configuration Cursor indiquée dans la section d'installation ci-dessus.
Mes données sont-elles privées lorsque j'utilise flagrix ?
Oui, l'outil est entièrement local, sans télémétrie ni backend Flagrix ; les appels réseau se font uniquement vers les API GitHub/npm et le dépôt de règles de détection.
Que signifie le code de sortie 4 ?
Le code de sortie 4 indique un scan incomplet où une partie insuffisante du dépôt a été lue pour fournir un verdict complet, souvent en raison des limitations de débit (rate limiting).