Horizon-Studio-LTDA/horizon-security-skills

GitHub: Horizon-Studio-LTDA/horizon-security-skills

Horizon Security Skills是一个基于OWASP标准的防御性安全工具包,用于Django/DRF和Next.js/React项目的审计、修复和回归测试。

Stars: 2 | Forks: 0

Horizon Studio

Horizon Studio 安全技能,适用于
Django 和 React/NextJs

Horizon Security Skills 是一套仅用于防御的安全工作流集合,符合 OWASP 标准,专为 opencode 和 Codex 辅助项目设计。它提供了可安装的 `SKILL.md` 文件,用于审查、修复和回归测试具有明确授权边界的 Django/DRF 和 Next.js/React 应用程序。 仓库: `Horizon-Studio-LTDA/horizon-security-skills` 包: `horizon-security-skills@0.2.0` ## 项目提供的内容 - 六套完整的防御性安全技能,用于后端和前端应用审查。 - 一个 Node.js CLI,可将选定的技能安装到 `.opencode/skills/` 目录下。 - 共享的防御方法、授权规则、证据规则、严重程度指导和报告格式。 - 用于安全报告、发现、修复计划、安全测试计划、执行摘要和工具结果的模板。 - 针对 OWASP、Django/DRF、Next.js/React、SAST、SCA、安全 DAST、密钥、Docker 和 CI/CD 审查的检查清单。 - 关于常见防御性扫描仪和项目命令的安全使用说明。 ## 可用技能 ### 后端 Django/DRF - `backend-django-drf-security-audit` - `backend-django-drf-security-fix` - `backend-django-drf-security-fix-and-tests` ### 前端 Next.js/React - `frontend-nextjs-react-security-audit` - `frontend-nextjs-react-security-fix` - `frontend-nextjs-react-security-fix-and-tests` ### 技能模式 - `audit`:分析项目并生成报告;不得修改源代码、配置、依赖项、迁移、测试、Docker/CI/CD 或凭据。仅当用户明确请求或授权生成报告文件时,才可创建 Markdown 报告文件。 - `fix`:仅当获得明确授权时,才分析和修复问题。 - `fix-and-tests`:仅当获得明确授权时,才进行分析、修复并创建或更新回归测试。 ## 何时使用 - 将此项目用于对拥有或已批准的代码库进行授权的防御性安全审查。 - 当您需要一份带有证据的、符合 OWASP 标准的只读报告时,使用 `audit` 技能。 - 当当前范围内的修复获得明确授权时,使用 `fix` 技能。 - 当修复和回归测试均获得明确授权时,使用 `fix-and-tests` 技能。 - 当发现结果需要一致的严重程度、证据、修复和验证说明时,使用共享模板。 ## 何时不使用 - 请勿在未获授权的情况下对系统、存储库、环境或数据使用此项目。 - 请勿将其用作攻击性工具或替代专业安全授权和范围界定。 - 请勿在未经明确生产批准的情况下对生产环境运行 DAST。 - 请勿在提示、问题、报告或示例中包含密钥、令牌、密码、私钥、个人数据或敏感的客户数据。 - 请勿在没有人工证据审查的情况下将扫描仪输出视为最终结论。 ## 安装 直接从 GitHub 列出可用技能: ``` npx github:Horizon-Studio-LTDA/horizon-security-skills list ``` 打开交互式安装模式: ``` npx github:Horizon-Studio-LTDA/horizon-security-skills install ``` 安装所有技能: ``` npx github:Horizon-Studio-LTDA/horizon-security-skills install all ``` 安装后端审计技能: ``` npx github:Horizon-Studio-LTDA/horizon-security-skills install backend-django-drf-security-audit ``` 安装前端审计技能: ``` npx github:Horizon-Studio-LTDA/horizon-security-skills install frontend-nextjs-react-security-audit ``` 覆盖已安装的技能: ``` npx github:Horizon-Studio-LTDA/horizon-security-skills install all --force ``` 不带技能名称的 `install` 命令将打开交互模式。CLI 会询问要安装哪些技能,并将选定的技能目录复制到 `.opencode/skills/`。默认情况下,安装程序不会覆盖现有的技能目录。仅当您有意替换已安装的技能时才使用 `--force`。 更多安装说明请参见 [docs/installation.md](docs/installation.md)。 ## CLI 用法 ``` horizon-security-skills list horizon-security-skills install horizon-security-skills install horizon-security-skills install all horizon-security-skills install --force horizon-security-skills install all --force horizon-security-skills --help horizon-security-skills --version ``` 安装程序仅写入当前目标项目的 `.opencode/skills/` 目录。它会拒绝无效的技能标识符,并且除非使用 `--force` 或确认交互式覆盖提示,否则会拒绝覆盖现有技能。 详细用法请参见 [docs/usage.md](docs/usage.md)。 ## 手动安装 手动安装一个技能: ``` mkdir -p .opencode/skills cp -r skills/backend-django-drf-security-audit .opencode/skills/ ``` 手动安装所有技能: ``` mkdir -p .opencode/skills cp -r skills/* .opencode/skills/ ``` 预期的安装路径是 `.opencode/skills//SKILL.md`。 ## 安装示例 仅安装后端审计指南: ``` npx github:Horizon-Studio-LTDA/horizon-security-skills install backend-django-drf-security-audit ``` 仅安装前端审计指南: ``` npx github:Horizon-Studio-LTDA/horizon-security-skills install frontend-nextjs-react-security-audit ``` 刷新项目中所有已安装的技能: ``` npx github:Horizon-Studio-LTDA/horizon-security-skills install all --force ``` ## 与 opencode 和 Codex 配合使用 对于 opencode,请将技能安装到目标项目的 `.opencode/skills/` 目录中。然后通过名称请求相关技能,或描述防御任务、授权、框架和范围。如果正在运行的 opencode 会话未检测到新安装的技能,请重启会话。 对于 Codex 辅助的工作流,请将此存储库用作防御性项目指令的来源。引用相关的技能名称、目标框架、授权范围以及任务是 `audit`、`fix` 还是 `fix-and-tests`。 ## 仓库结构 ``` bin/ lib/ skills/ shared/ templates/ checklists/ tools/ docs/ ``` - `bin/`:CLI 入口点。 - `lib/`:用于技能、安装、日志记录和横幅输出的 CLI 支持模块。 - `skills/`:可安装的 opencode 技能目录。 - `shared/`:通用方法、策略、安全边界、严重程度模型和证据规则。 - `templates/`:报告、发现、修复、测试计划、执行摘要和工具结果模板。 - `checklists/`:框架、OWASP、SAST、SCA、安全 DAST、密钥、Docker 和 CI/CD 检查清单。 - `tools/`:防御性工具使用说明。 - `docs/`:安装、使用和安全边界文档。 有用的内部参考: - [shared/methodology.md](shared/methodology.md) - [templates/security-report-template.md](templates/security-report-template.md) - [checklists/django-drf-security-checklist.md](checklists/django-drf-security-checklist.md) - [checklists/nextjs-react-security-checklist.md](checklists/nextjs-react-security-checklist.md) ## 安全与限制 此项目纯属防御性。它不是攻击性安全工具包,不得在未经授权的情况下对目标使用。 - DAST 需要明确授权。 - 生产测试需要明确的生产授权。 - 密钥、凭据、令牌、私钥、个人数据和敏感客户数据必须进行脱敏处理。 - 扫描仪输出是分析的输入,而非最终结论。 - 发现应基于证据、有范围界定,并经过误报审查。 - 修复必须在授权的代码和测试范围内进行。 项目安全边界请参见 [docs/security-boundaries.md](docs/security-boundaries.md)。 ## SAST、SCA 和 DAST - 当项目有合适的工具可用时,SAST 是核心且必须的。 - 当存在依赖项清单或锁文件时,SCA 是核心且必须的。 - 当存储库历史记录、配置或环境示例在范围内时,密钥扫描是预期的。 - DAST 是可选的、安全的、非破坏性的,并且仅在获得授权时进行。 - 攻击性 DAST、暴力破解、重型模糊测试、主动利用、破坏性测试、未经授权的目标测试以及未经明确批准的生产测试均不在范围内。 - 推荐的外部工具有帮助但不是必须的。缺少的工具在任何安装尝试之前需要用户授权。 ## 报告产物与语言 在请求或授权时,报告可以保存为 Markdown 文件。默认位置是: ``` security-reports/YYYY-MM-DD/-HHMMSS.md ``` 示例: ``` security-reports/2026-05-17/backend-django-drf-security-audit-183012.md ``` 如果审计技能未授权生成报告文件,则报告仅在助手回复中提供。当请求或授权时,fix 和 fix-and-tests 技能可以在 `security-reports/` 内保存报告文件,但报告生成不会扩展修复范围。 用户可以选择报告语言:英语或巴西葡萄牙语。如果用户未指定语言并且技能可以询问,则应在生成报告前进行询问。如果询问不可行,技能应从请求或对话中推断语言,并将该决定记录在报告中。 ## 缺少的外部工具 推荐的工具可能包括 semgrep、bandit、pip-audit、gitleaks、detect-secrets、trivy、项目审计命令、存在时的 Docker/Docker Compose,以及用于明确授权的安全 DAST 的 OWASP ZAP Baseline。 技能不得自动安装缺失的外部工具。如果推荐的工具缺失,技能应记录该工具,解释覆盖范围影响,询问是否授权安装,如果未获授权则继续进行有限分析,并记录该限制。 ## 报告与证据 报告应清楚区分已确认的发现、疑似发现、误报和信息性说明。每个发现应包括受影响的文件或路径、证据、影响、严重程度、置信度、推荐的修复措施和验证状态。 使用 [templates/security-report-template.md](templates/security-report-template.md) 作为主要报告格式。在包含命令输出、日志、屏幕截图或扫描仪结果之前,对敏感值进行脱敏。 ## 开发 本地设置、验证命令、临时安装测试、Markdown 检查和发布安全审查指南,请参见 [DEVELOPMENT.md](DEVELOPMENT.md)。 ## 安全 支持的版本、漏洞报告指南、敏感信息泄露处理和不安全技能报告,请参见 [SECURITY.md](SECURITY.md)。 行为准则请参见 [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md)。 ## 许可证 MIT 根据 [LICENSE.md](LICENSE.md) 中的条款获得许可。
标签:CI/CD安全, DAST扫描, Django安全, Docker安全, Llama, MITM代理, Next.js安全, Node.js CLI, OWASP标准, React安全, SAST扫描, SCA扫描, Web框架安全, 前端安全, 后端安全, 回归测试, 安全修复, 安全工作流, 安全报告模板, 安全检查清单, 数据可视化, 源代码审查, 网络安全, 自定义脚本, 逆向工具, 防御性安全, 隐私保护