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编写的审查。
HookLens
HookLens 是一款开发者工具,用于实时 webhook 分诊和 AI 驱动的根本原因分析,辅助问题诊断。
让隐藏文本和提示注入可见的 Chrome 扩展
AgentLens 是一个 Chrome 扩展,它显示网页上的隐藏内容,并标记潜在的提示注入尝试,以使 AI 代理安全问题变得可见。
我构建了AgentLighthouse——一个本地的“AI代理灯塔”,用于扫描仓库/文档/API以评估代理就绪状态
AgentLighthouse 是一个本地优先的工具,用于扫描仓库、文档和API,评估AI编码代理(如 Codex、Claude Code、Cursor)能够多大程度上理解和正确使用一个项目。它会检查代理指令文件、文档质量、设置清晰度、OpenAPI 操作质量、MCP 工具描述等。