Escanea repositorios y perfiles de GitHub en busca de malware y señales de estafa para ofrecer veredictos de riesgo a agentes de IA y desarrolladores.
También conocido como flagrix-io/flagrix-cli, flagrix-cli
- Stars
- 2
- Herramientas
- —
- Descargas, 30 días
- —
- Última versión
- 0.5.1
- Último commit
- 10 nov 2026
- Licencia
- MIT
¿Qué es flagrix MCP?
flagrix es un MCP server. Escanea repositorios y perfiles de GitHub en busca de malware y señales de estafa para ofrecer veredictos de riesgo a agentes de IA y desarrolladores.
Resumen generado a partir del README del proyecto
Acerca del MCP server de flagrix
Flagrix proporciona una capa de escaneo de seguridad para desarrolladores y agentes de IA con el fin de identificar malware y señales de estafa en repositorios de GitHub y perfiles de usuario. Funciona como una herramienta local que puede ejecutarse mediante la terminal, integrarse en pipelines de CI o conectarse a clientes de IA utilizando el protocolo MCP stdio. Al analizar commits específicos, el sistema garantiza que el veredicto de riesgo esté vinculado a un estado exacto del código, evitando que cambios silenciosos invaliden un escaneo.
Los usuarios pueden realizar escaneos de repositorios usando el comando scan o evaluaciones de perfiles con scan-user. La herramienta opera con los límites de tasa predeterminados de GitHub, pero proporcionar un GITHUB_TOKEN aumenta la capacidad de 60 a 5,000 solicitudes por hora y permite escanear repositorios privados. Toda la lógica de escaneo y las comprobaciones de dependencias contra el feed de paquetes maliciosos de OSV se realizan localmente para mantener la privacidad, ya que no se envía telemetría ni datos a un backend central de Flagrix.
Qué puedes hacer con él
- 1Verificar la seguridad de un repositorio antes de clonarloUn agente de IA puede usar la herramienta scan_github_repo para buscar patrones de exfiltración de datos en un repositorio antes de descargar el código.
- 2Evaluar el riesgo de un perfil de GitHubUn desarrollador puede comprobar si el perfil de un usuario de GitHub muestra señales de ser un estafador o un reclutador falso.
- 3Automatizar controles de seguridad en CIIntegra el escáner en un pipeline de integración continua para detener automáticamente las compilaciones si se detecta código de alto riesgo.
Escrito a partir del README del proyecto. Cada caso de uso se verifica con una cita del mismo.
Cómo instalar flagrix MCP
Formatos verificados el 10 nov 2026Añadir a CursorAñadir a GooseInstalar flagrix MCP en Claude Code
$ claude mcp add --env 'GITHUB_TOKEN=<YOUR_GITHUB_TOKEN>' flagrix-cli -- npx -y flagrixInstalar flagrix MCP en Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"flagrix-cli": {
"command": "npx",
"args": [
"-y",
"flagrix"
],
"env": {
"GITHUB_TOKEN": "<YOUR_GITHUB_TOKEN>"
}
}
}
}Instalar flagrix MCP en VS Code
.vscode/mcp.json
{
"servers": {
"flagrix-cli": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"flagrix"
],
"env": {
"GITHUB_TOKEN": "<YOUR_GITHUB_TOKEN>"
}
}
}
}Instalar flagrix MCP en VS Code CLI
$ code --add-mcp '{"name":"flagrix-cli","type":"stdio","command":"npx","args":["-y","flagrix"],"env":{"GITHUB_TOKEN":"<YOUR_GITHUB_TOKEN>"}}'Instalar flagrix MCP en Claude Desktop
claude_desktop_config.json
{
"mcpServers": {
"flagrix-cli": {
"command": "npx",
"args": [
"-y",
"flagrix"
],
"env": {
"GITHUB_TOKEN": "<YOUR_GITHUB_TOKEN>"
}
}
}
}Instalar flagrix MCP en Codex
$ codex mcp add flagrix-cli --env 'GITHUB_TOKEN=<YOUR_GITHUB_TOKEN>' -- npx -y flagrixInstalar flagrix MCP en 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>"
Instalar flagrix MCP en Gemini CLI
$ gemini mcp add -s user -e 'GITHUB_TOKEN=<YOUR_GITHUB_TOKEN>' flagrix-cli npx -- -y flagrixInstalar flagrix MCP en Gemini settings.json
~/.gemini/settings.json
{
"mcpServers": {
"flagrix-cli": {
"command": "npx",
"args": [
"-y",
"flagrix"
],
"env": {
"GITHUB_TOKEN": "<YOUR_GITHUB_TOKEN>"
}
}
}
}Configuración
GITHUB_TOKENSecretoOptional GitHub token — raises API rate limits and enables private-repo scans
| Nombre | Descripción | Tipo |
|---|---|---|
| GITHUB_TOKEN | Optional GitHub token — raises API rate limits and enables private-repo scans | Secreto |
Verificaciones automáticas
Ejecutado 13 nov 2026Informe completo →Pasó nuestras verificaciones automáticas. Esto no es una auditoría de seguridad: lee el código y dale al servidor el acceso más limitado que necesite. Cómo funcionan las verificaciones
- Repositorio de origen vinculado y accesibleflagrix-io/flagrix-cli is public and reachablegithub.com/flagrix-io/flagrix-cli ↗Aprobado
- El paquete indica este repositorio como su origenflagrix names flagrix-io/flagrix-cli as sourcenpmjs.com/package/flagrix ↗Aprobado
- Procedencia de la compilación (atestación de Sigstore)Sigstore attestation for flagrixnpmjs.com/package/flagrix/v/0.5.1#provenance ↗Aprobado
- Licencia de código abierto (OSI)MITspdx.org/licenses/MIT.html ↗Aprobado
- Commit o lanzamiento en el último añoLast commit or release 2026-11-10github.com/flagrix-io/flagrix-cli ↗Aprobado
- OpenSSF ScorecardNo verificado
- El nombre del paquete no es similar a un paquete popularNo popular package one edit away from flagrixAprobado
- No hay avisos críticos en el paquete ni en sus dependencias99 resolved dependencies checked; no critical advisoryosv.dev ↗Aprobado
- Sin instrucciones ocultas para el modelo0 tool descriptions and the README read; no override phrases, credential paths or hidden charactersAprobado
- Las herramientas destructivas están etiquetadasNo verificado
- El endpoint remoto responde al handshake de MCPNo verificado
README
Ver en 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.
Preguntas sobre flagrix MCP
¿Cómo agrego flagrix MCP a Claude Code?
Ejecuta claude mcp add --env 'GITHUB_TOKEN=<YOUR_GITHUB_TOKEN>' flagrix-cli -- npx -y flagrix en tu terminal. Añade --scope user para que esté disponible en todos los proyectos.
¿Cómo agrego flagrix MCP a Cursor?
Abre ~/.cursor/mcp.json y añade el servidor en mcpServers, usando la configuración de Cursor que se muestra en la sección de instalación de arriba.
¿Mis datos son privados al usar flagrix?
Sí, la herramienta es totalmente local y no tiene telemetría ni un backend de Flagrix; las llamadas de red solo se realizan a las API de GitHub/npm y al repositorio de reglas de detección.
¿Qué significa el código de salida 4?
El código de salida 4 indica un escaneo incompleto donde no se leyó suficiente parte del repositorio para dar un veredicto completo, a menudo debido a limitaciones de tasa (rate limiting).