返回更新列表
新发布Aug 8, 2026

FIASSE v1.1

一个用于将应用程序安全集成到软件工程中的框架(FIASSE),基于可安全软件工程模型(SSEM)实现。

分享

将应用安全集成到软件工程中的框架(FIASSE)

License: CC BY-SA 4.0

注意: 本仓库是一项持续进行的工作。欢迎贡献!

概述

TL;DR:请阅读 DOC。探索 FIASSE 网站。访问 GitHub Discussions 参与贡献。

本仓库包含 OWASP 将应用安全集成到软件工程中的框架(FIASSE)的资源和材料。FIASSE(发音为 /feiz/,类似 'phase')提倡一种以开发者为中心、基于原则的方法来构建可安全化的软件——认识到安全是一个动态的、持续的过程,就像开发一样。它引入了可安全化软件工程模型(SSEM)作为一种通用设计语言,使用既定的软件工程术语将安全集成到软件架构、设计和工程中。将安全集成到塑造代码本身的原则中。该框架旨在构建能够随时间抵御威胁的弹性应用程序。

目的

提供实用指南,赋能开发者无需深厚的安全专业知识即可创建可安全化的软件,并指导安全专业人员将其安全经验有效地集成到软件工程中。FIASSE 通过软件工程视角实现这一目标,降低认知负荷并促进开发团队与安全团队之间的协作。

有何不同?

虽然像 OWASP Top 10 这样的以保障为重点的项目强调要避免什么(黑名单),但 OWASP FIASSE 提供了一套要遵循的积极属性和实践(白名单)。这种方法利用现有的软件工程技能来构建可安全化的软件,而不是要求开发者学习利用技术或采用以漏洞为中心的思维方式。重点是通过熟悉的工程原则实现实用的安全编码。

通过明确定义安全在开发过程中的实际角色,该框架确保业务价值被有效捕获。通过这种方式设定期望,显著降低了安全缺陷被发现并需要后期修复的可能性。

关键原则

  • 可安全化范式:承认软件安全是一个动态的、持续的过程,而不是静态的"安全"状态。它侧重于将固有品质构建到软件中,以适应不断演变的威胁。
  • 以开发者为中心的安全:赋能软件工程师使用熟悉的软件工程原则自主构建可安全化的系统,而不是要求他们采用渗透测试人员的思维方式。
  • SSEM 作为通用设计语言:利用可安全化软件工程模型(SSEM),该模型采用既定的软件工程术语(例如,可分析性、可修改性、可测试性)来定义和讨论安全属性,使安全对开发者更易理解。
  • 使安全与开发及业务目标保持一致:将安全考虑无缝集成到 SDLC 中,并确保安全工作支持总体业务目标和风险偏好。
  • 弹性地增加计算价值:确保软件不仅满足功能需求,还具备可安全化的品质,使其能够随时间并在压力下适应、持续并保持完整性。
  • 需求作为 AppSec 中的一等公民:从一开始就将安全软件工程建立在明确定义的安全期望和需求之上。

仓库内容

快速开始

  1. 查看 /docs 目录中的文档
  2. 与您的团队以及在 GitHub Discussions 中讨论这些概念和原则
  3. 开始在您的软件工程实践中应用这些原则,例如合并审查和提示工程。
  • 额外奖励:安装与您的 IDE 或所选 AI 驱动的命令行代理(例如 GitHub Copilot、Claude Code、OpenCode 等)匹配的插件,并使用提供的提示生成可安全化的代码。在提示库中查找"Securability Engineering"或"FIASSE"。
  • FIASSE 也作为 OWASP Secure Agent Playbook 的一部分包含在内。

摘要

本仓库将可安全化软件定义为可靠、有弹性且可适应的系统。它强调真正的安全是一个持续的过程,而不是静态的成就。它引入了可安全化软件工程模型(SSEM),该模型将安全视为精心设计的软件的一组固有品质。为此,它提出了可维护性、可信赖性和可靠性(包括弹性)等属性类别。FIASSE 倡导将安全实践集成到开发工作流中影响最大的地方。这从"安全作为事后考虑"或"左移"方法转变为主动的、协作的模型。其理念是产品负责人、开发者和安全专业人员从设计的最早阶段就共同协作,特别是通过安全需求定义、协作威胁建模和验收标准等活动。这为代码活动和测试设定了明确的期望。软件工程师获得关于平衡灵活性和控制的指导。他们还获得了一个用于做出安全决策的明确模型。最终,这赋能所有利益相关者为构建更健壮、更可靠且本质上可安全化的系统做出贡献。

FIASSE 与现有方法的不同之处在于,它不要求开发者成为安全专家或采用对抗性思维方式。这种方法旨在降低开发者的认知负荷,同时确保安全团队能够确信其关注点通过代码和软件工程流程的特定属性得到解决。

FIASSE 旨在保持开放、平易近人和协作性。

路线图

FIASSE 项目的初始里程碑:

  • 项目基础
    • 建立项目治理、贡献指南和沟通渠道。
  • 核心规范
    • 正式发布 FIASSE 框架和 SSEM 规范,详细说明核心属性和集成策略。
  • 采用与教育资源
    • 一份 SSEM 入门指南,介绍该模型及其应用。
    • 一系列初始用例和采用模式,以说明实际收益。
    • 持续开发实施指南、示例和其他教育材料。

进一步的里程碑将与项目团队共同制定。欢迎通过 GitHub Discussions 提供社区意见。

补充资源

本仓库是对 FIASSE 网站 的补充。

OWASP FIASSE 项目是 OWASP 基金会 的一部分,该基金会是一个致力于消除不安全软件使命的非营利组织。OWASP 基金会提供了大量与 FIASSE 原则一致的资源和框架。

本框架专注于可安全化软件工程,并得到其他 OWASP 项目的补充:

OWASP 还托管了许多记录安全需求和功能的项目,例如 OWASP 移动应用安全OWASP 开发者指南 是各种其他 OWASP 资源的综合参考。

另一个用于参考需求和保障实践的优秀资源是 OpenCRE,它汇集并映射了各种安全框架。

NIST 安全软件开发框架(SSDF) 定义了代表实施安全软件开发实践不同方面的四个阶段。它通过强调将安全集成到软件开发生命周期中,与 FIASSE 的原则保持一致。

NCSC 的 软件安全实践守则 定义了期望结果和一些关键策略。而 FIASSE 框架侧重于实现可安全化结果的第一级后续原则和策略,旨在让开发和保障团队与业务战略保持一致。SSEM 指定了用于产生期望结果的属性,FIASSE 方法论则为在软件工程实践中实施这些属性提供了实用指导。

卡内基梅隆大学的 CERT 是一套语言级规则,既提供"不该做什么"的示例(展示易受攻击的代码模式),也提供"该做什么"的示例。FIASSE 通过提供一种基于原则的方法来补充这些规则,帮助程序员理解可安全化代码背后的"为什么"。

软件工厂安全框架(SF2)"为安全领导者提供了一种在改善业务成果的同时扩展安全能力的战略方法。"它是一个组织级框架,补充了 FIASSE 对软件工程实践的关注。

贡献

欢迎为改进文档和示例做出贡献。请参阅我们的贡献指南了解详情。

许可证

知识共享署名-相同方式共享 4.0 国际(CC BY-SA 4.0)——详情请参阅 LICENSE 文件。

致谢

本项目是 OWASP 社区的协作成果。我们感谢所有贡献者的宝贵投入和对改进软件安全的奉献。

这里有一份参与本项目的贡献者列表。一些早期贡献者帮助塑造了初始概念并对想法进行了红队测试。

分类