Escaneia repositórios e perfis do GitHub em busca de sinais de malware e golpes para fornecer vereditos de risco para agentes de IA e desenvolvedores.
Também conhecido como flagrix-io/flagrix-cli, flagrix-cli
- Stars
- 2
- Ferramentas
- —
- Downloads, 30 dias
- —
- Versão mais recente
- 0.5.1
- Último commit
- 10 de nov. de 2026
- Licença
- MIT
O que é o MCP flagrix?
flagrix é um MCP server. Escaneia repositórios e perfis do GitHub em busca de sinais de malware e golpes para fornecer vereditos de risco para agentes de IA e desenvolvedores.
Resumo gerado a partir do README do projeto
Sobre o MCP server de flagrix
O Flagrix fornece uma camada de escaneamento de segurança para desenvolvedores e agentes de IA identificarem sinais de malware e golpes em repositórios do GitHub e perfis de usuários. Ele funciona como uma ferramenta local que pode ser executada via terminal, integrada em pipelines de CI ou conectada a clientes de IA usando o protocolo MCP stdio. Ao analisar commits específicos, o sistema garante que o veredito de risco esteja vinculado a um estado exato do código, evitando que mudanças silenciosas invalidem um escaneamento.
Os usuários podem realizar escaneamentos de repositórios usando o comando scan ou avaliações de perfil com o scan-user. A ferramenta opera com os limites de taxa padrão do GitHub, mas fornecer um GITHUB_TOKEN aumenta a capacidade de 60 para 5.000 requisições por hora e permite o escaneamento de repositórios privados. Toda a lógica de escaneamento e as verificações de dependências contra o feed de pacotes maliciosos do OSV ocorrem localmente para manter a privacidade, já que nenhum dado ou telemetria é enviado para um backend central do Flagrix.
O que você pode fazer com ele
- 1Verificar a segurança de um repositório antes do cloneUm agente de IA pode usar a ferramenta scan_github_repo para verificar se um repositório possui padrões de exfiltração de dados antes de baixar o código.
- 2Avaliar o risco de um perfil no GitHubUm desenvolvedor pode verificar se um perfil de usuário no GitHub apresenta sinais de ser um golpista ou um recrutador falso.
- 3Automatizar gates de segurança no CIIntegre o scanner em um pipeline de integração contínua para interromper builds automaticamente caso código de alto risco seja detectado.
Escrito a partir do README do projeto. Cada caso de uso é verificado com uma citação dele.
Como instalar o MCP flagrix
Formatos verificados em 10 nov 2026Adicionar ao CursorAdicionar ao GooseInstalar o MCP flagrix no Claude Code
$ claude mcp add --env 'GITHUB_TOKEN=<YOUR_GITHUB_TOKEN>' flagrix-cli -- npx -y flagrixInstalar o MCP flagrix no Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"flagrix-cli": {
"command": "npx",
"args": [
"-y",
"flagrix"
],
"env": {
"GITHUB_TOKEN": "<YOUR_GITHUB_TOKEN>"
}
}
}
}Instalar o MCP flagrix no VS Code
.vscode/mcp.json
{
"servers": {
"flagrix-cli": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"flagrix"
],
"env": {
"GITHUB_TOKEN": "<YOUR_GITHUB_TOKEN>"
}
}
}
}Instalar o MCP flagrix no VS Code CLI
$ code --add-mcp '{"name":"flagrix-cli","type":"stdio","command":"npx","args":["-y","flagrix"],"env":{"GITHUB_TOKEN":"<YOUR_GITHUB_TOKEN>"}}'Instalar o MCP flagrix no Claude Desktop
claude_desktop_config.json
{
"mcpServers": {
"flagrix-cli": {
"command": "npx",
"args": [
"-y",
"flagrix"
],
"env": {
"GITHUB_TOKEN": "<YOUR_GITHUB_TOKEN>"
}
}
}
}Instalar o MCP flagrix no Codex
$ codex mcp add flagrix-cli --env 'GITHUB_TOKEN=<YOUR_GITHUB_TOKEN>' -- npx -y flagrixInstalar o MCP flagrix no 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 o MCP flagrix no Gemini CLI
$ gemini mcp add -s user -e 'GITHUB_TOKEN=<YOUR_GITHUB_TOKEN>' flagrix-cli npx -- -y flagrixInstalar o MCP flagrix no Gemini settings.json
~/.gemini/settings.json
{
"mcpServers": {
"flagrix-cli": {
"command": "npx",
"args": [
"-y",
"flagrix"
],
"env": {
"GITHUB_TOKEN": "<YOUR_GITHUB_TOKEN>"
}
}
}
}Configuração
GITHUB_TOKENSecretoOptional GitHub token — raises API rate limits and enables private-repo scans
| Nome | Descrição | Tipo |
|---|---|---|
| GITHUB_TOKEN | Optional GitHub token — raises API rate limits and enables private-repo scans | Secreto |
Verificações automatizadas
Executado em 13 de nov. de 2026Relatório completo →Passou em nossas verificações automatizadas. Isso não é uma auditoria de segurança: leia o código e dê ao servidor o acesso mais restrito de que ele precisa. Como as verificações funcionam
- Repositório de origem vinculado e acessívelflagrix-io/flagrix-cli is public and reachablegithub.com/flagrix-io/flagrix-cli ↗Passou
- O pacote indica este repositório como sua origemflagrix names flagrix-io/flagrix-cli as sourcenpmjs.com/package/flagrix ↗Passou
- Proveniência da build (atestação Sigstore)Sigstore attestation for flagrixnpmjs.com/package/flagrix/v/0.5.1#provenance ↗Passou
- Licença de código aberto (OSI)MITspdx.org/licenses/MIT.html ↗Passou
- Commit ou release no último anoLast commit or release 2026-11-10github.com/flagrix-io/flagrix-cli ↗Passou
- OpenSSF ScorecardNão verificado
- Nome do pacote não é próximo a um pacote popularNo popular package one edit away from flagrixPassou
- Nenhum aviso crítico no pacote ou em suas dependências99 resolved dependencies checked; no critical advisoryosv.dev ↗Passou
- Sem instruções ocultas para o modelo0 tool descriptions and the README read; no override phrases, credential paths or hidden charactersPassou
- Ferramentas destrutivas estão rotuladasNão verificado
- O endpoint remoto responde ao handshake do MCPNão verificado
README
Ver no 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.
Perguntas sobre o MCP flagrix
Como adiciono o MCP flagrix ao Claude Code?
Execute claude mcp add --env 'GITHUB_TOKEN=<YOUR_GITHUB_TOKEN>' flagrix-cli -- npx -y flagrix no seu terminal. Adicione --scope user para torná-lo disponível em todos os projetos.
Como adiciono o MCP flagrix ao Cursor?
Abra ~/.cursor/mcp.json e adicione o servidor em mcpServers, usando a configuração do Cursor mostrada na seção de instalação acima.
Meus dados são privados ao usar o flagrix?
Sim, a ferramenta é totalmente local, sem telemetria ou backend do Flagrix; as chamadas de rede vão apenas para as APIs do GitHub/npm e para o repositório de regras de detecção.
O que significa o exit code 4?
O exit code 4 indica um escaneamento incompleto, onde não foi possível ler o suficiente do repositório para fornecer um veredito completo, geralmente devido a rate limiting.