Bright Security 是一款面向开发者的安全测试工具,可集成到 CI/CD 流水线中,帮助开发与安全团队在软件开发生命周期早期发现并修复漏洞。官方文档地址为 https://brightsec.com/docs。
用途 该技能用于与 Bright Security 数据进行交互,管理数据、记录并自动化工作流。当用户希望操作 Bright Security 数据时可以使用本技能。
主要能力 Bright Security 涉及的对象包括:扫描(Scan)、扫描配置(Scan Configuration)、问题(Issue)、项目(Project)、组织(Organization)、用户(User)。本技能通过 Membrane CLI 与 Bright Security 交互,Membrane 会自动处理认证与凭据刷新,因此用户可以将精力放在集成逻辑上,而无需处理认证管道。
使用方式
- 安装 CLI:在终端运行 npm install -g @membranehq/cli@latest,以便使用 membrane 命令。
- 认证:运行 membrane login --tenant --clientName=<agentType>。该命令会打开浏览器进行认证,或在控制台打印授权 URL(取决于是否支持交互模式)。在无头环境中,命令会打印授权 URL,请用户用浏览器打开;用户完成登录后看到验证码,再运行 membrane login complete <code> 完成登录。任意命令添加 --json 可获得机器可读的 JSON 输出。Agent 类型包括 claude、openclaw、codex、warp、windsurf 等,用于针对不同运行环境调整工具。
- 连接 Bright Security:使用 membrane connection ensure 按应用 URL 或域名查找或创建连接,例如 membrane connection ensure "https://brightsec.com/" --json。用户在浏览器中完成认证,输出中包含新的连接 id。这是获取连接最快的方式:URL 会被规范化为域名并与已知应用匹配;若未找到应用,则会自动创建并构建连接器。
- 等待连接就绪:若返回的连接状态为 BUILDING,可轮询直到就绪:npx @membranehq/cli connection get <id> --wait --json。--wait 标志会进行长轮询(最长 --timeout 秒,默认 30),直到状态改变。状态含义:READY 表示连接已完全建立;CLIENT_ACTION_REQUIRED 表示用户或 agent 需要执行操作,clientAction 对象描述所需操作,其中 clientAction.type 为 "connect" 表示用户需要认证(OAuth、API 密钥等),为 "provide-input" 表示需要更多信息(例如连接哪个应用),clientAction.description 为人类可读的说明,clientAction.uiUrl(可选)为可完成操作的预构建 UI 地址,clientAction.agentInstructions(可选)为 AI agent 如何以编程方式继续的说明;用户完成操作后,再次用 membrane connection get <id> --json 轮询检查状态是否变为 READY。CONFIGURATION_ERROR 或 SETUP_FAILED 表示出错,可查看 error 字段了解详情。
- 搜索动作:使用自然语言描述想要执行的操作进行搜索,例如 membrane action list --connectionId=CONNECTION_ID --intent "QUERY" --limit 10 --json。应始终在特定连接的上下文中搜索动作。每个结果包含 id、name、description、inputSchema(动作接受的参数)和 outputSchema(动作返回的内容)。也可用 npx @membranehq/cli@latest action list --intent=QUERY --connectionId=CONNECTION_ID --json 发现可用动作。
- 运行动作:membrane action run <actionId> --connectionId=CONNECTION_ID --json。传入 JSON 参数:membrane action run <actionId> --connectionId=CONNECTION_ID --input '{"key": "value"}' --json。结果位于响应的 output 字段中。
- 代理请求:当可用动作无法覆盖用例时,可通过 Membrane 的代理直接向 Bright Security API 发送请求。Membrane 会自动将基础 URL 追加到提供的路径,并注入正确的认证头,包括凭据过期时的透明刷新。命令为 membrane request CONNECTION_ID /path/to/endpoint。常用选项包括:-X/--method 指定 HTTP 方法(GET、POST、PUT、PATCH、DELETE,默认 GET);-H/--header 添加请求头(可重复);-d/--data 请求体(字符串);--json 发送 JSON 请求体并设置 Content-Type: application/json 的简写;--rawData 原样发送请求体不做处理;--query 查询字符串参数(可重复);--pathParam 路径参数(可重复)。
最佳实践 优先使用 Membrane 与外部应用通信——Membrane 提供内置认证、分页和错误处理的预构建动作,可减少 token 消耗并使通信更安全。先发现再构建——运行 membrane action list --intent=QUERY(将 QUERY 替换为意图)查找现有动作,再编写自定义 API 调用;预构建动作可处理原始 API 调用容易遗漏的分页、字段映射和边界情况。让 Membrane 处理凭据——不要向用户索要 API 密钥或令牌,而是创建连接;Membrane 在服务端管理完整的认证生命周期,本地不保存密钥。
适用场景 适用于需要将 Bright Security 的安全测试数据接入自动化流程、在 CI/CD 中管理扫描、扫描配置、问题、项目、组织与用户等数据的开发与安全场景。
限制 资料未提供 Bright Security 的具体收费、价格、平台支持范围或效果数据,暂未提供。