V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
sucs66
V2EX  ›  程序员

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

  •  
  •   sucs66 · 16 小时 4 分钟前 · 313 次点击

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

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

    源码:github.com/csupenn/topflow

    先说清楚一件事: 👉 现在这个只是 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


    一个比较现实的优化路线(如果真要做个扫描器产品出来 )

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

    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

    感谢!

    5 条回复    2026-01-15 00:55:50 +08:00
    sucs66
        1
    sucs66  
    OP
       15 小时 47 分钟前
    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 感谢!
    jiangliqiang
        2
    jiangliqiang  
       9 小时 40 分钟前 via Android
    要不看看 google osv scanner?
    sucs66
        3
    sucs66  
    OP
       7 小时 26 分钟前
    @jiangliqiang 是的,OSV Scanner 很好用,感谢建议。尤其是 对于 npm / PyPI / Go / Rust 这类基于 manifest 的语言,其实前端解析依赖后直接调 OSV API 就够了,只有 C/C++ 这类才需要 server-side 执行。基于这个考虑,把 OSV 做成一个 TopFlow 的 node 是非常合理的方向。现在这个 demo 也正好在探索节点平台的“正确打开方式”。
    sucs66
        4
    sucs66  
    OP
       7 小时 24 分钟前
    各位大佬,看在界面还算顺眼的份上,还请顺手给 GitHub repo 点个 Star , 对个人开源项目真的很有帮助 🙏

    GitHub:github.com/csupenn/topflow
    sucs66
        5
    sucs66  
    OP
       7 小时 22 分钟前
    各位大佬,看在界面还算顺眼的份上,还请顺手给 GitHub repo 点个 Star , 对个人开源项目真的很有帮助 🙏

    GitHub:github.com/csupenn/topflow

    感谢 Dendim0n ; she11s, coldwateryi, phi-325, @jiangliqiang
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   3369 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 00:18 · PVG 08:18 · LAX 16:18 · JFK 19:18
    ♥ Do have faith in what you're doing.