feishu-pcec

💬 内部飞书自动化报告助手

autogame-17团队内部飞书报告扩展,自动将capability-evolver结果推送至飞书卡片,专为内部定时任务优化。

收藏
2.9k
安装
586
版本
latest
CLS 安全性认证2026-05-17
点击查看完整报告 >

使用说明

PCEC Feishu Extension 是专为内部自动化流程设计的轻量级 Node.js 工具,作为 capability-evolver 的专用包装器,强制将执行结果通过飞书 Interactive Cards 进行可视化报告。该技能通过简单的命令行调用(node skills/pcec-feishu/index.js)即可触发,主要服务于内部定时任务(如 openclaw.json 配置的自动化流程),实现能力评估结果到飞书工作通知的无缝推送。

该工具的核心优势在于深度集成飞书生态,利用交互卡片提供结构化的数据展示,相比传统文本通知具有更好的可读性和交互性。代码结构简洁,无外部网络依赖,所有功能均通过本地相对路径引用的模块完成,避免了供应链攻击风险。对于已使用 capability-evolver 的团队而言,该扩展提供零成本的报告通道升级,无需修改核心逻辑即可实现通知自动化。

然而,该技能存在明显的局限性。首先,依赖管理极不规范,package.json 中未声明任何依赖项,实际通过相对路径(../capability-evolver/evolve../feishu-card/send.js)硬编码引用外部模块,这导致项目可移植性差,且无法通过 npm 进行依赖版本锁定,存在版本漂移风险。其次,使用 execSync 同步执行子进程虽路径固定,但在异常情况下仍可能引发阻塞或命令注入风险(尽管当前实现已做边界控制)。此外,错误日志记录包含完整堆栈跟踪,可能泄露服务器文件系统路径结构。

该技能明确面向内部使用场景,适合已具备 capability-evolver 和飞书机器人基础设施的技术团队,特别是需要定时任务自动化报告的开发运维人员。对于需要严格依赖版本控制、合规审计或面向外部服务的场景则不适用。

使用风险主要包括:1)依赖项版本不一致导致功能异常;2)相对路径依赖要求严格的目录结构,迁移成本高;3)同步执行模式在高并发定时任务下可能成为性能瓶颈;4)日志文件权限配置不当可能导致敏感路径信息泄露。建议在受控的内部 CI/CD 环境中使用,并定期审查外部依赖模块的完整性。

安全解读

核心用法

PCEC Feishu Extension 是 capability-evolver 任务的内部包装器,核心功能是将进化任务的执行结果(成功或失败)通过飞书 Interactive Cards 推送到指定频道。该工具设计用于 openclaw.json 定义的定时调度任务,实现自动化运维通知。

显著优点

  • 即时通知能力:失败时自动捕获异常并格式化推送,缩短故障感知时间
  • 零配置集成:作为内部基础设施组件,开箱即用接入现有飞书工作流
  • Markdown 富文本支持:错误堆栈以代码块形式展示,便于技术排查

潜在缺点与局限性

安全风险突出

  • 使用 execSync 执行 shell 命令,存在命令注入攻击面
  • 依赖上级目录 (../) 的外部模块动态加载,缺乏完整性校验
  • 错误堆栈未经脱敏直接外发至飞书 Webhook,可能泄露系统路径、内部 IP 等敏感信息
  • 无输入验证机制,完全信任上游模块返回值

架构脆弱性

  • 硬编码相对路径,目录结构变更即失效
  • 无依赖版本锁定,上游模块更新可能引入破坏性变更
  • stdio: 'inherit' 导致子进程 IO 与父进程耦合

适合人群

仅限 内部受控环境 使用:已建立代码审计流程的组织、拥有私有 GitHub 组织 (clawdbot) 权限的开发者、以及配置了网络隔离和 Webhook 签名验证的飞书企业租户。不适合直接暴露于公网或处理用户生成内容。

常规风险

1. 供应链攻击:若 capability-evolverfeishu-card 模块被篡改,恶意代码将在下次调度时自动执行
2. 信息泄露:生产环境错误堆栈可能包含数据库连接串、API 密钥等硬编码敏感数据

3. 权限滥用:以 Node.js 进程权限执行任意 shell 命令,若宿主环境权限过高后果严重

4. 合规违规:未满足 GDPR/CCPA 数据最小化原则,日志外发缺乏用户授权机制

建议立即实施的安全措施:替换 execSyncspawn、引入依赖签名验证、部署错误信息脱敏中间件、添加 Webhook URL 签名校验。

feishu-pcec 内容

手动下载zip · 1.5 kB
index.jstext/javascript
请选择文件