Skill flagged — suspicious patterns detected
ClawHub Security flagged this skill as suspicious. Review the scan results before using.
多agent协同执行
v1.0.1七阶段(含阶段0任务澄清)多角色工作坊;角色种类与人数均由任务决定。触发词:"多角色研讨"、"需求工作坊"、"需求评审"、"圆桌"、"定方案再执行"。
⭐ 0· 82·0 current·0 all-time
MIT-0
Download zip
LicenseMIT-0 · Free to use, modify, and redistribute. No attribution required.
Security Scan
OpenClaw
Suspicious
high confidencePurpose & Capability
技能的名称/描述与大部分文件(SKILL.md、orchestrator.py、阶段模板等)是一致的:它实现了一个七阶段多角色工作坊流程并提供本地 orchestrator 与脚本,功能与用途相符。但有不一致之处:README 和脚本实现表明可从招聘平台(通过 Serper API)抓取 JD 以生成角色卡,而技能清单/registry metadata 声明“Required env vars: none”。实际代码(scripts/jd_to_role_card.py)会尝试读取 ~/.openclaw/.env 并依赖 SERPER_API_KEY。这是功能上合理(JD→角色卡属于本技能目的),但元数据/声明未反映该外部凭据需求,造成不一致。
Instruction Scope
SKILL.md 明确指示在本地工作区写入 workshops/<session_id>/、使用 orchestrator.py 管理阶段并在阶段 6 按工作区内其他 skills/ 的 SKILL.md 执行外部技能。实现代码符合这些指示,但有几点超出普通“文档/流程”范围:1) scripts/jd_to_role_card.py 会进行网络 POST 调用到 https://google.serper.dev/search 并发送 X-API-KEY;2) 脚本会读取用户主目录下的 ~/.openclaw/.env 来设置环境变量(未在元数据中声明);3) 若缺少 certifi,脚本会回退到 ssl._create_unverified_context()(禁用 SSL 验证);4) openclaw-subagents-parallel.sh 会在默认情况下备份并修改全局 openclaw.json(对宿主配置文件的写权限和修改)。这些操作都与 SKILL.md 的核心目的有关系,但会触及网络、凭据和宿主配置,应在元数据和文档中明确并要求用户确认。
Install Mechanism
技能为 instruction-only(无安装 spec),包含本地 Python / Bash 脚本;这降低了第三方下载风险。没有远程下载或 extract 步骤,所有代码都随技能包提供。不过两点需注意:scripts/jd_to_role_card.py 可选依赖 certifi;若 certifi 不可用,脚本会降级为不验证 SSL 的网络请求,这在网络安全上是显著风险。总体安装风险低,但运行时行为(网络请求、可能的 SSL 验证禁用)需要额外注意。
Credentials
Registry metadata declares no required env vars, yet代码和 README 暗示/使用如下外部配置:1) scripts/jd_to_role_card.py 要求 SERPER_API_KEY(脚本会在无 key 时直接退出),并通过 load_env() 读取 ~/.openclaw/.env 来注入该键;2) openclaw-subagents-parallel.sh 支持通过 OPENCLAW_JSON 环境变量覆盖目标文件路径。这些环境/凭据访问没有在技能元数据的 requires.env 中列出,导致权限与声明不匹配。此外,脚本会将用户输入(role/task)发送到第三方 API,可能把敏感需求文本暴露给外部服务。
Persistence & Privilege
技能不会自动设置 always:true 或自动提升自身权限。它会在本地写入/更新:workshops/<session_id>/ 文件夹(state.md、plan.md、deliverables 等)和技能内的 SQLite DB(data/orchestrator.db);这与其目的相符. 需要注意的是 openclaw-subagents-parallel.sh(可执行)会修改全局 openclaw.json(脚本会先备份,但仍会写入宿主配置),这赋予了该脚本对宿主 agent 配置的写权限——用户应在理解后才运行该脚本。总体持久化行为是合理但需用户确认。
What to consider before installing
要点与建议(给非技术用户的普通说法):
- 主要结论:这个技能总体目的和实现是合理的(它确实实现了一个分阶段的“多角色工作坊”流程并包含本地 orchestrator),但有几个不一致和潜在风险,建议在把它放进生产环境或给敏感会话使用前处理这些问题。
- 你该关心的具体问题:
1) 未声明但存在的 API 密钥:一个脚本(scripts/jd_to_role_card.py)会尝试使用 SERPER_API_KEY(从 ~/.openclaw/.env 或环境变量读取)。如果你打算使用“从 JD 构建角色卡”功能,需要为脚本提供该密钥;否则脚本会直接退出。Registry/元数据没有列出这个需求——这意味着在安装或审阅权限时很容易被遗漏。
2) 网络与隐私:JD 脚本会把你提供的角色/任务关键词发送给第三方服务 (google.serper.dev)。如果你的会话包含敏感或专有信息,这些文本可能会被发送到外部服务。仅在你信任该服务或在隔离环境下运行时启用该功能。
3) 不安全的 SSL 回退:脚本试图导入 certifi;如果 certifi 不在环境中,脚本会使用不验证证书的 SSL 上下文。这会增加中间人攻击 (MITM) 风险。建议在运行前安装 certifi 或修改脚本以确保始终验证证书。
4) 修改宿主配置的脚本:openclaw-subagents-parallel.sh 会编辑 openclaw.json(默认路径为工作区上一级),虽然脚本会先备份文件,但运行该脚本将改变全局 agent 的并行策略。只有在你知道要改变并发行为并接受该修改时才运行它。
5) 本地写入与 DB:orchestrator.py 会在技能目录下写 SQLite 数据库并在工作区写 workshops/<session_id>/ 的文件;这是正常且必要的,但请确认你的执行环境有权限写入这些位置并且这些文件的内容不会泄露敏感信息。
- 推荐的安全/审核步骤(实际可执行的操作):
• 在安装或启用前,查看并修改脚本:打开 scripts/jd_to_role_card.py,确认 API 调用地址与返回处理,并决定是否允许该网络调用。若不需要 JD 功能,可删除或禁用该脚本。
• 如果需要 JD 功能:为网络安全,先在你的环境中安装 certifi(pip install certifi)或修改脚本强制使用受信任 CA。不要依赖脚本的“不验证”回退。将 SERPER_API_KEY 放在只对必要进程可读的安全位置,并在技能元数据中记录该依赖。
• 控制 openclaw.json 修改:不要随意运行 openclaw-subagents-parallel.sh,除非你明确要改变全局并发设置;如果要运行,先检查备份并验证修改结果。你可以在运行前用 OPENCLAW_JSON 环境变量指定确切要修改的文件以避免意外修改系统级配置。
• 若会话/交付物包含敏感业务或法律内容,避免自动把这些文本发给第三方搜索/检索 API;优先使用人工或受控的内部检索。
• 要求技能作者/发布者在 claw.json 或 SKILL.md frontmatter 中显式列出 SERPER_API_KEY(或其它凭据)为可选/建议依赖,避免信息隐瞒。
• 若你没有能力检查代码,建议在隔离环境(容器或虚拟机)中先运行并测试,或请求安全/运维同事做审计。
- 总体建议:若你只需要本技能的“本地工作坊编排”能力(阶段管理、模版、orchestrator),可在不启用 jd_to_role_card.py(或把其网络部分禁用)的情况下使用大部分功能;如果需要 JD 搜索功能,请先处理 API key 与证书问题并明确接受网络与外部服务带来的隐私影响。Like a lobster shell, security has layers — review code before you run it.
latestvk978rpy3dymhn0kdxafqe5nmk983n8dg
License
MIT-0
Free to use, modify, and redistribute. No attribution required.
