logo
34
11
WeChat Login

知识库被覆盖问题讨论#28

Open
created 2025-08-19
Edit

在一个仓库中使用知识库,如果从保护分支临时创建一个新的分支,在新的分支中,修改 .cnb.yml ,增加下面的内容:

mybranch:
  push:
    knowledge_base:
      stages:
      - name: build knowledge base
        image: cnbcool/knowledge-base
        settings:
          include: "**/**.md"

那么只需要在临时分支上提交代码,就会覆盖整个仓库的知识库。

如果是恶意修改文档内容,会造成知识库使用混乱。

是否可以在知识库中做下限制,仅在 pull_request 等事件中生效?

changed title
知识库安全性问题讨论
知识库被覆盖问题讨论
  1. 不存在越权覆盖知识库的情况的。 现在要能写入知识库,需要有仓库的写权限。意味着必须有写权限的用户触发流水线,才能更新知识库。
  2. 如果要担心被其他仓库成员不小心写入知识库,应该编写好流水线,比如仅在main分支的push事件,才触发插件更新知识库,然后把main分支设置成保护分支,必须走查后才能合入。
Creator
  1. 不存在越权覆盖知识库的情况的。 现在要能写入知识库,需要有仓库的写权限。意味着必须有写权限的用户触发流水线,才能更新知识库。
  2. 如果要担心被其他仓库成员不小心写入知识库,应该编写好流水线,比如仅在main分支的push事件,才触发插件更新知识库,然后把main分支设置成保护分支,必须走查后才能合入。

@loviselu(卢嘉辉) 明白,但如果一个拥有仓库写权限的用户,恶意在自己临时分支上添加 .cnb.yml 的上述内容,是否也可以实现覆盖仓库的知识库

mybranch:
  push:
    # 构建知识库

为啥要给恶意用户,仓库写权限?

Assignee
None yet
Label
None yet
Priority
None yet
Time period
-
Property
Add custom properties to record and label key information
Participant