关于 CyberLens
CyberLens 是为 AI 助手和 Agent 编码流程提供安全扫描能力的 MCP 服务,适合检查网站、公开仓库和 Open CLAW 技能。技能分析、网站快速扫描和修复建议可在本地使用;账户连接后可启用完整云端扫描及仓库扫描。
主要功能
- 01扫描 CLAW 技能包中的代码风险
- 02执行网站本地快速扫描或云扫描
- 03检查公开仓库的漏洞与敏感信息
- 04验证技能清单并提供修复建议
- 05查询账户扫描额度和扫描结果
适用场景
- 01安装 Open CLAW 技能前检查其源码
- 02在发布前检查网站安全配置
- 03扫描公开代码仓库中的依赖和秘密信息
- 04根据漏洞发现获取逐步修复指导
MCP 相关
该 MCP 服务向 AI 客户端暴露技能、网站和仓库扫描工具,以及额度查询和修复指导。技能扫描和部分网站检查在本地运行;完整云端扫描及仓库扫描需要账户连接。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y @shadoprizm/cyberlens-mcp-serverCYBERLENS_API_KEY密钥CyberLens API key. Optional if you use the connect_account browser flow.CYBERLENS_API_BASE_URLOptional override for the CyberLens public scan API base URL.本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
10收录的工具列表 · 更新于 2 周前
此工具无需参数。
详细介绍
Cyber Lens AI MCP Server
为 AI 助手和 Agentic 编码工作流提供安全扫描。
一个 Model Context Protocol(MCP)服务,可让 AI 助手扫描网站、公开仓库和 Open CLAW 技能中的安全漏洞。它专为 Agentic 编码时代打造,原生支持在安装技能包前对其进行扫描。
功能介绍
连接到 AI 助手(Claude Desktop、VS Code 等)后,此 MCP 服务会提供安全扫描工具,供助手在对话过程中使用:
- 扫描 CLAW 技能,在安装前检查风险——服务会下载技能包、解压,并分析实际源代码中是否存在危险模式、硬编码机密和权限问题
- 扫描网站,无需账户即可使用本地快速模式,也可在连接账户后使用完整云端扫描
- 扫描公开仓库,检查是否泄露机密、依赖项漏洞、可疑代码模式和信任状况问题
- 查看剩余云端扫描配额,再开始批量扫描
- 获取修复指导,包括分步修复说明和代码示例
对话示例
You: "I want to install this skill: https://clawhub.ai/skills/ontology"
Claude: I'll scan it for security issues first.
[PASS] CLAW Skill Security Scan: ontology v1.0.4
Security Score: 95/100
Files Analyzed: 5
Skill appears safe to install. Minor issues noted below.
1. [MEDIUM] File write operation
File: scripts/ontology.py:399
Fix: Ensure file writes are limited to expected directories.
The skill looks safe. It writes to the filesystem for its knowledge
graph storage, which is expected behaviour for this type of skill.
快速开始
1. 安装
首次发布 npm 版本后,推荐使用以下安装方式:
npx -y @shadoprizm/cyberlens-mcp-server
在此之前,或用于本地开发和手动构建时:
git clone https://github.com/shadoprizm/cyberlens-mcp-server.git
cd cyberlens-mcp-server
npm install
npm run build
2. 添加到 AI 助手
Claude Desktop——添加到 ~/Library/Application Support/Claude/claude_desktop_config.json(macOS)或 %APPDATA%\Claude\claude_desktop_config.json(Windows):
{
"mcpServers": {
"cyberlens": {
"command": "npx",
"args": ["-y", "@shadoprizm/cyberlens-mcp-server"]
}
}
}
如果你从源代码检出目录运行,而不是使用 npm:
{
"mcpServers": {
"cyberlens": {
"command": "node",
"args": ["/absolute/path/to/cyberlens-mcp-server/dist/index.js"]
}
}
}
Claude Code——添加到 MCP 设置或项目配置中。
VS Code(Copilot/Continue)——按照扩展的 MCP 服务设置进行配置。
3. 连接账户
网站工具无需账户即可立即在本地快速模式下运行。此本地模式涵盖约 15 项核心检查,并会立即返回结果。
连接账户后,网站扫描将升级为完整的 CyberLens 云端扫描,可执行 70 多项检查,并提供扫描历史记录和 AI 分析。仓库工具和仅限账户使用的工具仍会在需要时通过浏览器流程进行连接。
当仓库工具或仅限账户使用的工具需要账户时,MCP 服务会:
- 自动打开 CyberLens 浏览器流程
- 将用户引导至
cyberlensai.com注册或登录 - 在本地接收安全回调
- 将 API 密钥保存到
~/.cyberlens/mcp/config.json - 自动继续原来的工具调用
你也可以显式触发相同的流程:
You: "Connect my CyberLens account"
这会在浏览器中打开 cyberlensai.com,你可以在此免费注册或登录。API 密钥会保存在本地的 ~/.cyberlens/mcp/config.json 中,并用于之后的所有扫描。
免费账户每月包含 5 次扫描。无需信用卡。
你也可以在 MCP 配置中设置
CYBERLENS_API_KEY环境变量,以替代浏览器流程。
如果云端网站扫描达到每月配额上限,MCP 服务会自动打开 CyberLens 定价页面,并回退到本地快速扫描,而不会直接失败。仓库扫描仍需要云端配额。
可用工具
账户
| 工具 | 说明 | 是否需要 API 密钥 |
|---|---|---|
connect_account | 打开浏览器进行注册或登录,并在本地保存 API 密钥 | 否 |
get_account_quota | 显示当前套餐以及剩余的网站/仓库扫描配额;首次使用时会按需自动连接 | 是 |
CLAW 技能扫描
| 工具 | 描述 | 是否需要 API 密钥 |
|---|---|---|
scan_claw_skill | 下载并分析 CLAW Hub 或直接提供的技能包,检查安全问题 | 否 |
validate_claw_skill | 根据安全最佳实践验证技能清单 | 否 |
网站与代码仓库扫描
| 工具 | 描述 | 是否需要 API 密钥 |
|---|---|---|
scan_website | 无需账户即可进行本地快速网站扫描;连接账户后可进行完整云端扫描;网站云端配额耗尽时回退到本地扫描 | 本地扫描不需要,完整云端扫描需要 |
scan_repository | 扫描 GitHub、GitLab、Bitbucket 和受支持的 ZIP 目标中的公开代码仓库;如有需要,首次使用时会自动连接 | 是 |
get_scan_results | 获取已完成云端扫描的详细发现;如有需要,首次使用时会自动连接 | 是 |
get_security_score | 无需账户即可获取本地快速网站评分;连接账户后可获取完整云端评分 | 本地评分不需要,完整云端评分需要 |
情报与指导
| 工具 | 描述 | 是否需要 API 密钥 |
|---|---|---|
get_remediation_guide | 针对常见 CWE 和漏洞类别的内置本地修复手册 | 否 |
get_scan_transparency | 如实报告 MCP 服务的本地检查和实时云端端点 | 否 |
技能扫描的工作方式
提供 CLAW 技能 URL 后,MCP 服务会:
- 解析 URL——支持 Claw Hub 页面(
https://clawhub.ai/skills/skill-name)、直接下载链接(https://*.convex.site/api/v1/download?slug=name),或任何指向技能 zip 文件的 URL - 将技能包下载到临时目录
- 解压并分析软件包中的每个文件:
- 检查
_meta.json和SKILL.md是否完整 - 扫描所有源代码(Python、JavaScript、TypeScript、shell 脚本、配置文件),查找危险模式
- 检测硬编码的密钥、
eval()用法、shell 命令执行、不安全的 HTTP 请求、文件删除操作、pickle 反序列化等 - 识别未固定版本的依赖项
- 汇总技能会与之通信的所有外部 URL
- 检查
- 返回安全评分(0-100),并提供详细发现、文件位置和修复建议
- 清理所有临时文件
整个过程都在本地运行——无需 API 密钥,也绝不会将你的代码发送到外部服务。
网站扫描模式
scan_website 和 get_security_score 现在提供两种透明的模式:
- 本地快速扫描——无需账户即可使用,立即返回结果,覆盖约 15 项核心网站检查,例如 HTTPS、安全标头、服务器信息泄露、不安全的表单和内联脚本指标
- 完整云端扫描——需要已连接的 CyberLens 账户,可运行 70 多项检查、保留云端扫描历史记录,并提供更深入的分析
如果用户在没有账户的情况下请求 full 或 database 网站扫描,MCP 服务仍会返回本地快速扫描结果,并说明无法使用所请求的仅限云端模式。
如果已连接账户的用户耗尽网站云端配额,CyberLens 会自动回退到本地快速扫描,并打开带有升级链接的定价页面。
支持的 URL 格式
https://clawhub.ai/skills/ontology --> Resolves automatically
https://clawhub.ai/author/skill-name --> Resolves automatically
https://*.convex.site/api/v1/download?slug=x --> Direct download
架构
src/
index.ts MCP server, tool handlers, output formatting
auth.ts Browser-based connect flow, config file management
client.ts REST API client for live scan and quota endpoints
remediation-guides.ts Local CWE and vulnerability remediation guidance
schemas.ts Zod input validation schemas
skill-scanner.ts Local CLAW skill analyser (download, extract, scan)
skill-validation.ts Local CLAW manifest validation
transparency.ts Local transparency report for scan coverage
关键设计决策:
- 不使用 Supabase SDK —— 通过
fetch和X-API-Key标头直接调用 REST - 如实呈现云端功能 —— MCP 服务仅公开实时公共 API 支持的云端工具(
/scan、/scan/{id}、/quota) - Stdio 传输 —— 作为 AI 助手的子进程运行,通过 stdin/stdout 通信
- 无需 API 密钥也能发挥作用 —— 技能扫描、网站快速扫描、清单验证、修复指导和透明度报告均可在本地运行;连接账户后,网站扫描会升级为完整云端流程,并解锁仓库扫描
- 基于浏览器的身份验证 —— 与 CyberLens OpenClaw 技能使用相同的安全连接流程(受 CSRF 保护、使用短期交换码、仅支持 HTTPS)
开发
# Build
npm run build
# Watch mode
npm run dev
# Run directly (for testing)
echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"1.0.0"}}}' | node dist/index.js
环境变量
| 变量 | 必需 | 默认值 | 描述 |
|---|---|---|---|
CYBERLENS_API_KEY | 否 | -- | API 密钥(可替代浏览器连接流程) |
CYBERLENS_API_BASE_URL | 否 | https://api.cyberlensai.com/functions/v1/public-api-scan | API 端点覆盖值 |
发布
此仓库已准备好以以下名称发布到 npm 和 MCP Registry:
- npm 包:
@shadoprizm/cyberlens-mcp-server - MCP 服务名称:
io.github.shadoprizm/cyberlens-mcp-server
典型发布流程:
# 1. Bump the version
npm version patch
# 2. Publish the package to npm
npm publish
# 3. Authenticate with the MCP Registry
mcp-publisher login github
# 4. Publish server.json to the MCP Registry
mcp-publisher publish
Registry 元数据位于根目录的 server.json 文件中,npm 所有权检查使用 package.json 中的 mcpName 字段。
相关项目
- CyberLens OpenClaw Skill —— 具备相同扫描功能的 OpenClaw 技能版本
- CyberLens —— 提供基于浏览器的扫描、仪表板和报告的完整平台
- OpenClaw —— 面向 AI Agent 的开放技能生态系统
许可证
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。