mcpField
F
flagrix

flagrix

本地服务
github.com/flagrix-io安全21 周前更新

关于 flagrix

flagrix 是面向开发者和 AI Agent 的本地扫描器,可在克隆前检查 GitHub 仓库和个人资料中的恶意内容。扫描结论固定对应所检查的提交,并可将依赖项与本地匹配的 OSV 恶意软件包源核对。

主要功能

  1. 01克隆前扫描仓库
  2. 02评估 GitHub 个人资料的诈骗风险
  3. 03将结论固定到提交 SHA
  4. 04依据 OSV 源检查依赖项
  5. 05提供 JSON 输出和风险退出码

适用场景

  1. 01克隆前审查编码作业仓库
  2. 02检查 GitHub 个人资料的诈骗迹象
  3. 03在 Claude Code hook 中拦截未经扫描的 git clone

MCP 相关

其 stdio MCP 服务向 AI Agent 提供 `scan_github_repo` 和 `scan_github_user` 工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"flagrix-io-flagrix": {
"command": "npx",
"args": [
"-y",
"flagrix"
],
"env": {
"GITHUB_TOKEN": "<GITHUB_TOKEN>"
}
}
}
}
启动命令npx -y flagrix
需要配置的环境变量
GITHUB_TOKEN密钥Optional GitHub token — raises API rate limits and enables private-repo scans

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmflagrix0.1.0

工具

2

收录的工具列表 · 更新于 2 周前

参数类型必填说明
refstring否要扫描的分支、标签或 commit(默认:默认分支)
targetstring是GitHub 仓库 URL 或 owner/repo 格式的标识,例如 https://github.com/acme/repo

详细介绍

flagrix

在克隆前扫描 GitHub 仓库和个人资料,检测恶意软件——可通过终端、CI 或 AI Agent 使用。提供与 Flagrix 浏览器扩展 相同、固定到提交的判定结果,并支持调用。

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))

本项目诞生于针对开发者的真实虚假招聘活动开始出现之后:攻击者通过“编码作业”仓库窃取钱包、SSH 密钥和浏览器会话。

命令

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

退出代码

代码含义
0风险较低
1扫描失败
2中等风险——继续前请先检查
3高风险——请勿克隆

--json(stdout 被管道重定向时会自动启用)会输出完整结果。判定结果固定到已扫描的提交(JSON 中的 commitSha):所有文件都会按该 SHA 读取,因此扫描期间或判定后发生的推送都不会悄然使判定失效。

AI Agent

claude mcp add flagrix -- npx -y flagrix mcp

工具:scan_github_repo、scan_github_user。随附的 Claude Code 钩子会在每次执行 git clone 前进行扫描拦截,位于 hooks/——详见 docs/agent-gating.md。

令牌与速率限制

未经身份验证的扫描使用 GitHub 每小时 60 次请求的配额(每个扫描文件会发起一次请求,最多约 50 次)。设置 GITHUB_TOKEN(或 FLAGRIX_GITHUB_TOKEN,或使用 --token)可将配额提高到每小时 5,000 次,并扫描私有仓库。

隐私

完全在本地运行。没有遥测、没有账户,也不连接 Flagrix 后端——唯一的网络请求会发送到 GitHub/npm API,以及公开的 detection-rules 仓库(用于刷新签名,缓存 6 小时,并内置离线快照)。

依赖项还会根据 OSV 恶意软件包源(同一仓库中的 osv-malicious.json:OpenSSF 恶意软件包项目确认存在恶意行为的所有 npm/PyPI 软件包)进行检查。该数据源会下载到本地并在本地进行匹配,因此依赖项名称不会离开你的设备。数据会缓存 6 小时,并通过其 ETag 重新验证。设置 FLAGRIX_OSV_FEED=0 可跳过此检查(签名中整理的列表仍会生效)。

工作原理

扫描逻辑位于 @flagrix/scanner-core(MIT),签名位于 flagrix-detection-rules(MIT)——与浏览器扩展使用相同的引擎和规则。判定结果是风险评估,并非对欺诈行为的定论;请务必通过官方渠道进行核实。

AI 披露

本项目使用 Claude AI 生成样板代码、扩展测试套件并进行优化。所有 AI 生成的代码在合并前,都会由人工维护者严格审查、重构并验证。

许可证

MIT——请参阅 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。