flagrix-io/flagrix-cli
GitHub: flagrix-io/flagrix-cli
一款命令行与 MCP 服务器工具,用于在克隆 GitHub 仓库前扫描其中潜藏的恶意软件,保护开发者免受钓鱼仓库攻击。
Stars: 0 | Forks: 0
# flagrix
在**克隆之前**从终端、CI 或 AI agent 扫描 GitHub 仓库和个人资料以防范恶意软件。提供与 [Flagrix 浏览器扩展](https://flagrix.io) 相同的基于提交锁定的判定,并使其可被调用。
```
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 # scan a repository (--ref )
flagrix scan-user # 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`。一个在每次 `git clone` 时基于扫描进行拦截的 Claude Code hook 位于 [hooks/](hooks/) 中 — 参见 [docs/agent-gating.md](docs/agent-gating.md)。
## Token 与速率限制
未经身份验证的扫描使用 GitHub 每小时 60 次请求的额度(每次扫描会对每个文件发出一个请求,最多约 50 个)。设置 `GITHUB_TOKEN`(或 `FLAGRIX_GITHUB_TOKEN`,或 `--token`)可将其提升至每小时 5,000 次,并可用于扫描私有仓库。
## 隐私
完全本地化运行。无遥测,无账户,无 Flagrix 后端 — 唯一的网络请求仅指向 GitHub/npm API 和公开的 [detection-rules](https://github.com/flagrix-io/flagrix-detection-rules) 仓库(签名刷新,缓存 6 小时,并附带离线快照)。
## 工作原理
扫描逻辑位于 [@flagrix/scanner-core](https://github.com/flagrix-io/flagrix-scanner-core) (MIT) 中,签名位于 [flagrix-detection-rules](https://github.com/flagrix-io/flagrix-detection-rules) (MIT) 中 — 这与浏览器扩展所使用的引擎和规则相同。判定属于风险评估,而非最终的欺诈定性;请始终通过官方渠道进行核实。
## AI 披露
本项目利用 Claude AI 进行样板代码生成、测试套件扩展和优化。所有由 AI 生成的代码在合并之前,均需经过人类维护者的严格审查、重构和验证。
## 许可证
MIT — 详见 [LICENSE](LICENSE)。
标签:MCP, MITM代理, 云安全监控, 代码安全, 动态分析, 恶意软件扫描, 文档安全, 文档结构分析, 暗色界面, 漏洞枚举, 自动化攻击, 静态分析