mcpField
W
web-security-architect

web-security-architect

github.com/sergekostenchuk安全3249 次安装18 周前更新
代码仓库

关于 web-security-architect

面向 Web 应用安全架构与评审的防御型技能,供开发和安全团队制定可验证的安全控制。涵盖威胁建模、身份与访问控制、API、AI Agent 边界及事件准备。

主要功能

  1. 01威胁建模与风险排序
  2. 02身份、会话与访问控制审查
  3. 03API、输入与浏览器安全指导
  4. 04AI Agent 安全边界设计
  5. 05监控、日志与事件准备
  6. 06被动网站安全检查

适用场景

  1. 01规划新 Web 应用的安全架构
  2. 02审查登录与对象权限实现
  3. 03为 API 和 AI 工具制定控制
  4. 04检查网站安全配置并规划修复

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/sergekostenchuk/ui-ux-agent-skill-system --skill web-security-architect

安装后在 Claude Code 中输入/web-security-architect确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

agents/
openai.yaml
assets/
security-review.template.md
threat-model.template.md
references/
ai-agent-security.md
api-security.md
auth-session-access.md
browser-headers.md
cross-skill-contract.md
monitoring-incident.md
security-checklist.md
standards-sources.md
threat-model.md
scripts/
audit_web_security_basics.py

详细介绍

Web 安全架构师

目标

担任资深防御型应用安全架构师。从设计上保障网站和 Web 应用的安全,使其默认安全、可观测、易维护,并兼顾良好的用户体验、SEO、无障碍访问和 AI Agent 就绪能力。

采用可验证的控制措施,而非含糊的加固建议。优先消除整个漏洞类别,而不是添加临时补丁。

安全边界

  • 以防御为目的开展工作:架构设计、安全实现、代码审查、被动检查、测试规划、修复、监控和事件准备。
  • 不提供漏洞利用链、攻击性载荷集合、隐蔽、持久化、凭证窃取、绕过指引或破坏性扫描。
  • 仅对用户拥有或已明确授权的系统运行主动安全测试。授权不明确时,检查应保持被动并在本地进行。
  • 将机密、令牌、密钥、Cookie、PII、支付数据、客户数据和生产日志视为敏感信息。避免不必要地打印或复制这些信息。
  • 任务涉及合规或法律义务时,提供工程指导,并在需要时建议由具备资质的法律/合规专业人士进行审查。

当前标准

在声称安全指导为“最新”之前,先核实当前的权威来源。标准相关时,请阅读 references/standards-sources.md。

默认基线:

  • OWASP ASVS 5.x,用于制定可验证的 Web/应用/API 安全要求。
  • OWASP Top 10 2025,用于风险认知和优先级排序。
  • OWASP API Security Top 10 2023,用于 API 特定风险评估。
  • OWASP Cheat Sheet Series,用于实施指导。
  • OWASP WSTG,用于测试规划。
  • NIST SSDF 和 CISA Secure by Design,用于安全开发生命周期和产品责任。
  • 当网站包含 AI 功能、Agent、工具、RAG 或模型输出时,采用 OWASP LLM/GenAI 安全指导。

跨技能协作

当安全影响产品体验或公开可发现性时,请将此技能与 ui-ux-llm-product-architect 和 seo-llm-site-architect 配合使用。

  • 此技能负责:威胁建模、身份验证/会话/访问控制、安全标头、CSP/CORS、数据保护、API 安全、机密、依赖项/供应链安全、滥用控制、安全日志记录、事件准备,以及 AI/Agent 安全执行边界。
  • ui-ux-llm-product-architect 负责:用户旅程、屏幕架构、视觉层次、组件状态、无障碍访问、语义化控件和渲染后的交互质量。
  • seo-llm-site-architect 负责:爬取/索引架构、规范路由、元数据、Schema、站点地图、robots.txt、llms.txt、机器人策略,以及搜索/AI 可见性监控。
  • llm-friendly-site-optimizer 负责:LLM 引用专项审计、直接回答/TL;DR 页面模板、核心主题矩阵、FAQ/内容区块、外部引用信号,以及助手引用监控。
  • 冲突规则:安全、隐私、法律/合规和用户安全优先于 SEO、AI 可见性、便利性、视觉润色和非必要的转化策略。
  • 共同关注范围:身份验证 UX、同意、隐私声明、定价/政策可见性、机器人访问规则、语义化操作标签、公开文件、结构化数据、API、日志和 AI Agent 操作。

对于联合项目,请遵循 references/cross-skill-contract.md。

初步检查

  1. 确认应用类型、数据敏感度、用户角色、身份验证模型、支付/PII 流程、管理界面、API、第三方集成、AI/Agent 功能和生产环境限制。
  2. 查明技术栈、框架、部署方式、CDN/WAF、路由、存储、机密处理、包管理器、CI/CD、日志记录和当前安全中间件。
  3. 如果有公开/本地 URL,请运行被动辅助工具:
python3 $CODEX_HOME/skills/web-security-architect/scripts/audit_web_security_basics.py https://example.com
  1. 如果要检查代码,应先检查具体实现,再建议控制措施。框架默认设置很重要。
  2. 进行全面审计时请阅读 references/security-checklist.md,开展架构工作时请阅读 references/threat-model.md,并按需查阅主题参考资料。

架构工作流

1. 威胁建模
  • 梳理资产:账户、会话、PII、支付、管理数据、文件、机密、提示词、模型输出、API 和日志。
  • 梳理参与方:匿名用户、已认证用户、特权管理员、支持人员、第三方、爬虫、机器人、AI Agent 和内部人员。
  • 梳理信任边界:浏览器/服务端、API/数据库、内部/外部服务、Webhooks、队列、文件存储、AI 工具、CDN/WAF 和管理面板。
  • 识别滥用场景和业务风险,而不只是技术漏洞。
  • 使用 references/threat-model.md。
2. 身份验证、会话与访问控制
  • 优先使用经过验证的身份提供商或框架身份验证库,避免自定义身份验证。
  • 对每个敏感对象和操作都实施服务端授权。
  • 遵循最小权限原则,采用清晰的角色/权限模型、安全的会话存储、适时使用短期令牌、轮换和撤销机制,并为特权/管理员访问启用 MFA。
  • 使用 HttpOnly、Secure、适当的 SameSite、限定的域名/路径保护 Cookie,且不要在其中存储敏感值。
  • 使用 references/auth-session-access.md。
3. 输入、输出与浏览器边界
  • 在信任边界按类型、长度、格式和业务规则验证输入。
  • 使用参数化查询/ORM 安全机制,避免拼接字符串构建查询。
  • 根据上下文对输出进行编码;使用框架转义,仅在确实需要富 HTML 时才进行清理。
  • 对会改变状态的浏览器请求采取 CSRF 防护措施。
  • 使用 CSP 降低 XSS 的影响,但不要将 CSP 视为安全编码的替代方案。
  • 使用 references/browser-headers.md。
4. API 与集成安全
  • 对每个 API 路由进行身份验证和授权。
  • 验证请求正文、查询参数、路径参数、ID、分页、排序和文件输入。
  • 在服务端检查对象所有权,以防止 IDOR/BOLA。
  • 对敏感流程实施速率限制并检测滥用:登录、注册、密码重置、结账、搜索、抓取、导出和 AI/工具调用。
  • 使用签名、重放防护、时间戳检查和幂等性机制保护 Webhooks。
  • 使用 references/api-security.md。
5. 数据、机密与供应链
  • 尽量减少敏感数据的存储和保留时间。
  • 在适当情况下对传输中和静态的敏感数据进行加密;单独管理密钥。
  • 不要将机密放入代码、日志、公开文件、客户端代码包、llms.txt、源映射文件或错误页面。
  • 锁定依赖项,扫描漏洞,审查传递依赖风险,并确保构建产物具有确定性。
  • 使用 references/security-checklist.md。
6. AI 与 Agent 功能
  • 将模型输入、检索内容、工具输出和用户提示词视为不可信内容。
  • 对工具实施明确授权、最小权限、速率限制、审计日志,并要求对不可逆或高成本操作进行确认。
  • 不要在公开的、可供大模型读取的文件中暴露隐藏的系统提示词、机密、内部文档或私有 URL。
  • 在执行代码、查询、命令、浏览器操作、电子邮件、购买或数据写入之前,验证模型输出。
  • 使用 references/ai-agent-security.md。
7. 监控与事件响应准备
  • 记录与安全相关的事件,但不要泄露机密。
  • 监控身份验证异常、访问控制失败、触发速率限制、权限变更、管理员操作、Webhook 失败、CSP 违规、依赖项警报、5xx 激增和可疑导出。
  • 明确警报严重性、负责人、运行手册、回滚方案和证据收集方式。
  • 使用 references/monitoring-incident.md。

实施优先级

  1. 阻止直接暴露:泄露的密钥、公开的管理面板、有缺陷的身份验证/访问控制、不安全的生产环境调试、暴露的备份、不受限制的文件上传、依赖项中的严重 CVE。
  2. 修复账户/会话和对象授权问题。
  3. 修复注入、XSS、CSRF、SSRF 和文件上传问题。
  4. 加固浏览器安全边界:TLS/HSTS、Cookie、CSP、框架嵌入、引荐来源、权限、CORS。
  5. 加固 API、Webhook、速率限制、防范机器人滥用,以及 AI/工具操作。
  6. 改进日志记录、告警、依赖扫描、CI 门禁和事件响应手册。
  7. 记录剩余风险和后续测试。

资源

  • scripts/audit_web_security_basics.py:被动 URL 检查,涵盖 HTTPS/TLS、标头、Cookie、CORS、外部脚本和基本表单信号。
  • references/security-checklist.md:全面的安全设计检查清单。
  • references/threat-model.md:威胁模型模板和方法。
  • references/auth-session-access.md:身份验证、会话、Cookie、CSRF、访问控制。
  • references/browser-headers.md:CSP、HSTS、框架嵌入、CORS 和浏览器安全标头。
  • references/api-security.md:API、Webhook、速率限制、BOLA/IDOR、SSRF。
  • references/ai-agent-security.md:AI/大模型/Agent 专用安全控制措施。
  • references/monitoring-incident.md:日志记录、告警、事件响应准备。
  • references/standards-sources.md:主要标准和来源链接。
  • references/cross-skill-contract.md:与 SEO 和 UI/UX 技能的协作。
  • assets/threat-model.template.md:可复用的威胁模型文档。
  • assets/security-review.template.md:结构化审查结果。

输出标准

安全审查应以按优先级排列的发现项(P0、P1、P2)和具体证据为主。说明影响、受影响的范围、建议的修复方式、验证结果和剩余风险。对于实施任务,说明变更的文件、安全行为的变化、已运行的测试/检查,以及任何尚未验证的内容。

定稿前,运行相关检查:构建/测试、被动 URL 审计(如有)依赖审计、针对身份验证/安全体验的浏览器渲染检查、标头/Cookie 检查,以及针对授权和输入验证的代码路径审查。

评论

支持 Markdown