博客

在团队内共享 Cookbook

November 23, 2020
Alan Richardson
白色桌面上堆叠着色彩鲜艳的杂志或小册子的特写镜头。

在团队内共享食谱

当团队成员创建 Sensei 配方以提升代码质量或工作效率时,通过共享食谱,团队中的每个人都能从中受益。

Sensei 提供了多种共享食谱的机制:

  • 将食谱存储在版本控制下的项目中
  • 将食谱存储在共享文件夹中
  • 将食谱存储在 Github 中
  • 通过 HTTP(s) 传输压缩文件

通过共享食谱,Sensei 能够帮助团队协作共享知识。这种协作有助于加强沟通,并落实团队商定的代码质量标准。

例如,共享食谱可以:

  • 帮助团队成员相互分享实用的配方。
  • 支持团队负责人将商定的编码规范标准化,帮助初级员工识别常见违规行为,并提供针对性的快速修复方案。
  • 促进跨团队合作,例如应用安全团队可以创建配方来突出代码中的问题,而开发团队则可以编写相应的快速修复程序。

接下来的几个部分将介绍如何实现每种共享机制。

将食谱存储在版本控制下的项目中

创建食谱文件时,项目中的 .sensei 文件夹是默认选项。

  • `project://.sensei`

所有食谱和配方都将存储在项目中的 .sensei 文件夹内。

最简单的共享方法是将项目中的 .sensei 文件夹添加到版本控制中。

这样,.sensei 文件夹就可以像项目中任何其他共享代码工件一样进行管理。食谱以 YAML 配置格式存储,便于在提交和审查过程中进行合并。

公开的 sensei-blog-examples 项目就采用了这种方法。

.sensei 文件夹中包含了带有所有配方的食谱,任何克隆该仓库的人都可以使用它们。

将 Cookbook 存储在任意文件夹中

团队也可以使用存储在中央位置的 Cookbook。

将 Cookbook 保存到具有共享写入权限的任意文件夹中,整个团队便可以更新其中的方案,并将其导入到他们正在处理的任何项目中。

该位置应设置为目录路径。

将方案存储在 Github 中

Sensei 还可以访问存储在 Github 仓库中的方案。支持私有和公共仓库。

通过 SSH 使用 Github

SSH 仓库访问权限通过以下“位置”语法进行配置

git@github.com:SecureCodeWarrior/acookbook.git

要使其生效,仓库中必须包含 Cookbook 文件夹的内容。

也可以为 Cookbook 配置分支和子文件夹,例如在 master 分支的 cookbook 子文件夹中

例如:

  • git@github.com:SecureCodeWarrior/sensei-blog-examples.git|master|.sensei

私有仓库需要配置 SSH 密钥。

且该密钥不应设置密码短语。

通过 HTTPS 使用 Github

也可以通过 HTTPS 访问公共仓库,并使用相同的 repo.git|branch|folder 语法,例如:

对于我们的博客示例项目:

  • https://github.com/SecureCodeWarrior/sensei-blog-examples.git|master|.sensei

对于我们的基础保护示例集,我们可以忽略分支和子文件夹,因为默认会获取 master 分支,且 `rules.sensei` 文件位于根文件夹中:



通过 HTTP(s) 传输的压缩包

Sensei 也可以访问通过 HTTP 或 HTTPS 传输的压缩格式的 cookbook。

例如,如果我在本地 8000 端口运行了一个 HTTP 服务器

  • http://localhost:8000/rules.sensei.zip

压缩后的 cookbook 文件应包含 cookbook 文件夹的内容,例如 rules.sensei 文件。

共享总结

Sensei 支持使用多个 cookbook,以便程序员能够拥有辅助个人学习和提升工作效率的配方。

更重要的是,我们深知团队在知识共享时效率最高。拥有共享的团队存储库(例如针对特定项目、特定库或一组共享的迁移模式)有助于提高团队生产力并固化团队经验。

当共享 cookbook 时,多个团队可以使用同一个 cookbook,这也有助于改善不同职能部门(如应用安全团队与开发团队)之间的协作。

Sensei 提供了四种核心共享机制,希望能为您提供至少一种能够加强知识共享协作的方法。


---

您可以在 IntelliJ 中安装 Sensei:Mac 用户请进入“Preferences \ Plugins”,Windows 用户请进入“Settings \ Plugins”,然后搜索“sensei secure code”即可。

所有 Sensei 博客文章的代码和配方均可在 Github 上找到:


标语

在 AI 驱动的开发成果发布前实现有效治理

评估 AI 辅助风险,在提交代码时强制执行安全编码策略,并加速整个软件开发生命周期的安全交付。

预约演示
资源库

探索更多博客

获取有关安全编码、人工智能治理和软件风险管理的专家内容。

浏览全部
案例研究
筛选标签
这是 div 块中的一段文本。

Supercharged Security Awareness: How Tournaments are Inspiring Developers at Erste Group

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

了解更多
案例研究
筛选标签
这是 div 块中的一段文本。

Security as culture: How Blue Prism cultivates world-class secure developers

Learn how Blue Prism, the global leader in intelligent automation for the enterprise, used Secure Code Warrior's agile learning platform to create a security-first culture with their developers, achieve their business goals, and ship secure code at speed

了解更多
案例研究
筛选标签
这是 div 块中的一段文本。

统一的安全文化:Sage 如何打造其安全倡导者项目

了解 Sage 如何通过灵活且以关系为导向的方法提升安全性,成功培养了 200 多名安全倡导者,并实现了显著的风险降低。

了解更多
博客
筛选标签
这是 div 块中的一段文本。

2026年网络安全意识月:理解人工智能安全对企业防御至关重要

目前,大多数顶级人工智能公司已公开呼吁全球放缓人工智能的发展速度,以便安全防护措施能够跟上步伐。然而事实是,严重的安全问题已经显现。随着人工智能实施带来的经济成本和风险不断累积,无数安全领导者和高管团队正处于紧迫的境地。

了解更多
博客
筛选标签
这是 div 块中的一段文本。

赋能要素 8:打造项目品牌

成功的安全编码项目不仅需要优质的内容。赋能要素 8 展示了如何通过品牌化将参与过程转变为一种令人向往、以地位为驱动的体验。

了解更多
博客
筛选标签
这是 div 块中的一段文本。

每一位员工现在都处于 AI 网络安全的最前线

企业技术格局正以一种鲜有人预料到的速度发生剧变,直到为时已晚。我们已正式跨越了从人工编写代码和基础辅助编程,进入“智能体开发生命周期”(ADLC)的时代。虽然自主 AI 智能体有望在多个职能领域实现前所未有的效率,但它们也带来了全新的安全和监管风险。

了解更多

在产品发布前确保 AI 驱动的开发安全

洞察开发风险,执行安全策略,并在整个软件开发生命周期中预防漏洞。

预约演示
未找到相关项目。