关于 flagrix
flagrix 是面向开发者和 AI Agent 的本地扫描器,可在克隆前检查 GitHub 仓库和个人资料中的恶意内容。扫描结论固定对应所检查的提交,并可将依赖项与本地匹配的 OSV 恶意软件包源核对。
主要功能
- 01克隆前扫描仓库
- 02评估 GitHub 个人资料的诈骗风险
- 03将结论固定到提交 SHA
- 04依据 OSV 源检查依赖项
- 05提供 JSON 输出和风险退出码
适用场景
- 01克隆前审查编码作业仓库
- 02检查 GitHub 个人资料的诈骗迹象
- 03在 Claude Code hook 中拦截未经扫描的 git clone
MCP 相关
其 stdio MCP 服务向 AI Agent 提供 `scan_github_repo` 和 `scan_github_user` 工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
2收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| ref | string | 否 | 要扫描的分支、标签或 commit(默认:默认分支) |
| target | string | 是 | 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。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。