SecureLens - 一个自托管的AppSec代理和CLI扫描器
摘要
SecureLens 是一个开源的、自托管的安全审计工具,它利用基于LLM的异步管道来对代码库进行分类并对网络基础设施进行探测,并提供交互式REPL用于后续提问和补丁生成。
大家好,我想分享 SecureLens——一个我一直在构建的开源工具,它结合了异步 FastAPI 后端和交互式 Click CLI 客户端,用于审计代码库和探测网络基础设施。
我的项目做什么
SecureLens 作为一个自主的本地安全审计器。它不是对每个文件运行盲目的文本过滤器,而是使用一个三阶段的异步管道:
* **分类:** 它读取项目的文件树,并通过 LiteLLM 使用 LLM 首先隔离高风险目标——例如认证路由、数据库查询和配置文件。它支持 Gemini、GPT-4、Claude 或本地 Ollama 实例。
* **并发 SAST:** 它通过 asyncio.gather 启动并发任务,并通过信号量限制为 5 以避免 API 速率限制,对代码进行针对 OWASP Top 10 的审计,返回严格的 Pydantic 模式。
* **交互式 REPL:** 扫描完成后,它会将您放入基于终端的聊天会话,您可以提出后续问题或让它即时起草代码补丁。
* **基础设施探测与同步:** 它扫描实时 URL,涵盖 30 多个指标,如 SSL、传输策略和安全 Cookie,生成 AI 威胁描述,在本地编译样式化的 PDF 报告,并将所有内容同步回中央自托管的 PostgreSQL 控制台。
目标受众
SecureLens 面向个人开发者、小团队和 DevOps 工程师,他们希望早期在开发中或本地机器上捕获安全漏洞,而无需将敏感代码上传到第三方多租户 SaaS 云。它作为一个完全自托管的开发者工具,功能完整,目前正在从活跃的 MVP 过渡到生产就绪的系统。
对比
传统的 linter 和 SAST 工具会对整个代码库匹配严格的 regex 模式。这让开发者淹没在海量的日志和误报中。相反,深度商业扫描器价格昂贵且需要云访问。SecureLens 弥合了这一差距:它在运行分析之前应用 LLM 推理来分类上下文,从而显著减少误报,同时保持整个栈开源、私有,并通过回退签名或本地 Ollama 节点完全离线可执行。
核心技术栈
Python 3.12, FastAPI, SQLAlchemy, SQLite, PostgreSQL, Celery, Click, Rich, FPDF2。
您可以在 GitHub 上找到该项目,用户名 Rarebuffalo,仓库名 securelens-backend。
路线图与寻求贡献者
我已经完成了核心数据库同步和 CLI 导出器的最终化,正在寻找帮助来完成接下来的路线图项目。我在 GitHub 上开了几个标记为适合初学者的 issue:
* **CI/CD 集成:** 将 CLI 封装到 GitHub Action 和 GitLab Runner 模板中,当发现高严重性问题时构建失败。
* **依赖审计器:** 实现一个本地审计命令,用于解析包需求并查询 OSV 数据库 API。
* **自动化补丁:** 将 AI 建议的代码修复连接到自动化的 git 提交和分支生成。
如果您对 Python、系统开发或安全感兴趣,请查看该项目。如果您对异步管道实现或架构选择有任何疑问,请告诉我!
相似文章
RepoLens – 一个用Go编写的交互式本地代码库打包与令牌优化工具(TUI/CLI)
RepoLens 是一个零依赖的 Go 工具,可将本地代码库打包成单个文件供 LLM 使用,具备交互式 TUI 文件浏览器、实时令牌计数、注释剥离和秘密扫描等功能。
AgentLens: 面向编码智能体评估的生产评估轨迹审查
AgentLens 是一个新的开源基准测试,用于评估编码智能体,它评估交互的完整轨迹,包括指令遵循、工具使用、错误恢复等,使用形式化验证和LLM编写的审查。
我构建了AgentLighthouse——一个本地的“AI代理灯塔”,用于扫描仓库/文档/API以评估代理就绪状态
AgentLighthouse 是一个本地优先的工具,用于扫描仓库、文档和API,评估AI编码代理(如 Codex、Claude Code、Cursor)能够多大程度上理解和正确使用一个项目。它会检查代理指令文件、文档质量、设置清晰度、OpenAPI 操作质量、MCP 工具描述等。
Unclecheng-li/VulnClaw
VulnClaw 是一个基于 LLM Agent 和 MCP 工具链的 AI 驱动渗透测试 CLI 工具,支持自然语言输入自动完成信息收集、漏洞发现、利用和报告生成全流程。
AgentLens: 揭示 SWE-Agent 评估中的 Lucky Pass 问题
AgentLens 是一个用于软件工程智能体轨迹过程级评估的框架,揭示了超过 10% 的通过轨迹表现出 'Lucky Pass' 行为。它引入了 AgentLens-Bench,一个带有质量评分标注的数据集,并表明按质量评分排序可以显著改变模型排名。