GoForum🌐 V2EX

[开源][Demo] 做了一个 GitHub 安全扫描器,也想听听大家对“基于 AI 可组合安全工具”的看法

sucs66 · 2026-01-14 16:18 · 0 次点赞 · 1 条回复

刚才把一个 GitHub 仓库安全扫描器 开源了,发到 V2EX 想听听大家的真实意见。

先说清楚一件事: 👉 现在这个只是 demo,用来验证思路和架构,并不是一个“已经做完的漏洞扫描器产品”。

之前做过 CISO ,这个 demo 目前主要做两件事:

  1. 30 秒内快速看一个 repo 的基础安全配置
  2. 实际跑一遍:AI 工作流如果从一开始就考虑安全和隐私,工程上应该怎么做

现在这个 demo 能做什么(比较基础):

  • 检查 GitHub 的 Secret Scanning 、漏洞告警、分支保护等配置
  • 用 LLM 给一些安全改进建议
  • 生成一个可分享的安全报告

在线体验: https://topflow.dev/builder?template=github-security-scanner

源码: github.com/csupenn/topflow

技术栈(给关心实现的同学):

  • Next.js 15 ( App Router )
  • TypeScript ( strict )
  • Vercel AI SDK ( OpenAI / Anthropic / Gemini )
  • ReactFlow (可视化工作流)
  • 服务端流式执行

一些当前已经落地的安全设计点:

  • 不存 PII ,只用浏览器端 localStorage (从架构上避免数据合规问题)
  • SSRF 防护:URL 校验 + 私有 IP / 元数据端点拦截
  • 简单限流:每 IP 每分钟 10 次( Redis )
  • 输入递归清洗 + Zod 校验
  • 整体按纵深防御来设计,而不是单点防护

接下来的方向(不是已经做完的)

如果继续沿着 scanner 这个方向往下走,核心思路不是把一个扫描器做大,而是:

TopFlow 变成一个让用户“自己搭安全工具”的平台

也可以理解成: build your own Snyk(用可视化 + 可组合的方式)

大概是这样一个路径:

TopFlow 的定位:

  1. 提供安全“原语节点”( scanner / analyzer / checker )
  2. 用户把节点组合成自己的安全工作流
  3. 用户可以定制逻辑、加集成( Slack / JIRA / Email 等)
  4. 最终可以导出、部署到自己的环境里跑

从这个角度讲,TopFlow GitHub Security Scanner 只是一个示例模板 / Template


一个比较现实的优化路线( Quick Wins )

如果往“全部真实数据 + 可复用”方向推进,后面的路线大概会是:

1:NPM 漏洞扫描 Node

  • npm audit --json
  • 解析结果,直接拿到 CVE
  • 这样,就可以立刻获得真实漏洞数据

2:多语言 Scanner Nodes

  • Python:pip-audit
  • Rust:cargo audit
  • Go:govulncheck
  • 这基本可以 覆盖大概 80% 的 GitHub 项目

3:升级 GitHub Scanner Workflow

  • 自动识别 repo 语言
  • 路由到对应 scanner node
  • 合并结果,生成统一报告
  • GitHub Security Scanner 从“配置检查 + AI 建议”升级到 真正的 OSS Scanner.

为什么要做成 Node ,而不是一个大而全的 Scanner

现在 demo 里,其实还是偏“单体 workflow”的:

GitHub Scanner Workflow
├─ Prompt
├─ GitHub API
├─ JS 逻辑
├─ Score 计算
└─ Report

问题很明显:

  • 逻辑分散
  • 很难复用
  • 用户几乎没法改
  • 也不太好扩展到别的场景

理想的设计应该是:

Security Node Library
├─ NPM Vulnerability Scanner
├─ Python Vulnerability Scanner
├─ License Checker
├─ Secret Scanner
├─ SBOM Generator
├─ Score Calculator
└─ Notification Nodes

然后由用户自己组合,比如:

GitHub Scanner / OSS Scanner:

Start → Detect Language → NPM Scanner → Score → End

用户自己做个 Pre-Commit Workflow:

Start → NPM Scanner → 过滤高危 → Slack 通知 → End

想听听大家的不同声音

也想借这个帖子,真诚地请教大家

  • 这个方向有没有明显“想当然”的地方?

  • 从工程 / 使用角度看,有没有一看就不想用的点?

  • 拿扫描器为例,如果是你,会更想要:

    • 一个“拿来就用”的扫描器
    • 还是一个可以自己搭的安全工具箱?

如果你觉得这个项目哪怕有一点点参考价值, 也欢迎顺手给 GitHub repo 点个 Star, 对个人开源项目真的很有帮助 🙏

GitHub: github.com/csupenn/topflow

感谢!

1 条回复
sucs66 · 2026-01-14 16:33
#1

TL;DR

[开源][Demo] 做了个 GitHub 安全扫描器,想听听大家的意见

最近开源了一个 GitHub 仓库安全扫描 demo ( 30 秒左右)。 现在只是 demo ,用来验证 安全优先的 AI 工作流 思路。

目前做的事很基础:

检查 Secret Scanning / 漏洞告警 / 分支保护

AI 给安全建议,生成报告

后续更想把它做成 可组合的安全节点平台(类似 n8n ,build your own Snyk )。

Demo / 源码: https://topflow.dev/builder?template=github-security-scanner

github.com/csupenn/topflow

欢迎拍砖 🙏 如果觉得有用,也请帮忙点个 Star 感谢!

添加回复
你还需要 登录 后发表回复

登录后可发帖和回复

登录 注册
主题信息
作者: sucs66
发布: 2026-01-14
点赞: 0
回复: 0