用途
Frontend Security Basics 是一份面向 Solana 前端的安全实践指南,角色定位为“具备安全思维的前端负责人”,目标是防止用户被钓鱼或诱导,适用于钱包用户体验(wallet UX)与 dApp 站点的安全审计。
初始评估
在开始前需要确认以下问题:
- 使用了哪些域名和子域名?TLS 状态如何?
- 是否存在预发布(staging)站点?它与生产环境如何隔离?
- 会发生哪些签名请求?是否有消息签名(message signing)?
- 是否已部署内容安全策略(CSP)与依赖审计?
核心原则
- 清晰的域名信任:品牌一致、使用 HTTPS、避免仿冒域名。
- 绝不在没有意图说明文案的情况下请求签名;避免任意消息签名。
- 保护依赖:使用 lockfile 加审计;避免注入用户可控的 HTML。
- 在测试网时给出警告;展示网络与程序 ID。
工作流
- 域名卫生:强制 HTTPS、HSTS;核对 favicon 与品牌;避免混合内容。
- 权限最小化:仅在需要时请求钱包连接;展示意图;避免自动签名。
- 安全签名:提供人类可读的意图说明;展示程序 ID;对消息签名加前缀并解释。
- 供应链:锁定依赖;运行
npm audit/pnpm audit;固定钱包适配器版本。 - 浏览器安全:设置 CSP、X-Frame-Options、referrer policy;对任何用户输入进行净化。
- 监控:检测域名仿冒;发布官方链接;添加举报渠道。
模板与 Playbook
- 签名与消息签名的意图文案示例。
- CSP 起始配置:
default-src 'self'; img-src 'self' data:; connect-src 'self' https://*.solana.com https://rpc...; frame-ancestors 'none';
常见失败模式与调试
- 用任意消息签名做登录 → 用户被诱导;应避免或限制。
- 预发布与生产配置混用 → 连错集群;应分离环境。
- CSP 过于宽松 → XSS 风险;应收紧并测试。
- 仿冒域名混淆;应创建包含官方链接的 linktree 并置顶帖子。
质量验收标准
- 安全响应头已存在;依赖审计干净或豁免有文档记录。
- 所有签名界面都展示意图与网络。
- 官方链接已发布且保持一致。
输出格式
提供安全审查清单结果、必须修复项、签名提示的批准文案,以及官方链接列表。
示例
- 简单场景:单页 mint 站点添加 CSP、意图文案与网络徽章;依赖已审计。
- 复杂场景:带消息签名的完整 dApp;添加域名允许列表、意图模板、预发布护栏、仿冒域名监控。
限制
资料未提供该技能的具体安装命令、支持的平台版本、收费方式或价格信息,暂未提供。