Skip to content

Everything Claude Code 的 Laravel Security Skill 是一套专为 AI 编程助手(如 Claude Code、Cursor 等)设计的 Laravel 安全最佳实践自动化方案。它覆盖认证(authn)、授权(authz)、CSRF 防护、Mass Assignment 防御、文件上传、密钥管理、安全头、CORS、日志脱敏、依赖安全、签名 URL 等关键环节,帮助开发者在实际项目中系统性防御常见漏洞,提升生产环境的安全基线。

Everything Claude Code Laravel Security Skill:authn/authz、CSRF、Mass Assignment 与安全部署配置

在现代 Laravel 项目开发中,安全始终是不可忽视的底线。传统做法往往依赖人工查漏补缺,容易遗漏细节,尤其在团队协作和自动化生成代码(如通过 Claude Code、Codex、Cursor 等 AI 编程助手)时更易暴露风险。Everything Claude Code 的 laravel-security Skill 正是为此而生——它将 Laravel 安全最佳实践固化为可复用、可自动触发的 Skill,贯穿从开发到部署的全流程,极大降低因配置疏漏或实现不当导致的安全事故。

1. 适用场景与自动激活时机

laravel-security Skill 会在以下场景自动检测并建议或直接应用安全措施:

  • 新增认证(authn)或授权(authz)流程时
  • 设计/修改 API 端点、表单、文件上传、用户输入处理时
  • 配置或调整环境变量、密钥、Session、Cookie、CORS、日志等安全相关参数时
  • 生产环境部署、CI/CD Pipeline、依赖升级或安全审计时

开发者也可通过 Everything Claude Code 快速上手指南 配置自动化 Hook,让 Skill 在关键代码变更、合并请求、发布前自动触发。

2. 实战操作流程 Step by Step

Step 1:认证与授权(authn/authz)安全加固

  • API 认证:Skill 自动建议使用 Laravel Sanctum/Passport,推荐短时 token+refresh 流程,并在路由中加上 auth:sanctum 中间件。
php
Route::middleware('auth:sanctum')->get('/me', function (Request $request) {
    return $request->user();
});
  • 授权策略:Skill 检查控制器和服务层是否调用 $this->authorize() 或使用 policy middleware,防止越权访问。
php
$this->authorize('update', $project);
php
Route::put('/projects/{project}', [ProjectController::class, 'update'])
    ->middleware(['auth:sanctum', 'can:update,project']);

Step 2:CSRF 防护与输入校验

  • Skill 强制检查 VerifyCsrfToken 中间件是否启用,表单是否包含 @csrf,SPA 场景下是否正确配置 XSRF token。
  • 自动生成/修正 Form Request 验证器,确保所有输入都经过严格校验与类型检查。
php
final class UploadInvoiceRequest extends FormRequest
{
    public function authorize(): bool
    {
        return (bool) $this->user()?->can('upload-invoice');
    }

    public function rules(): array
    {
        return [
            'invoice' => ['required', 'file', 'mimes:pdf', 'max:5120'],
        ];
    }
}

Step 3:Mass Assignment 防御与数据安全

  • Skill 检查模型是否正确设置 $fillable$guarded,禁止使用 Model::unguard(),建议采用 DTO 或显式属性赋值。
  • 对敏感字段自动建议加密 cast:
php
protected $casts = [
    'api_token' => 'encrypted',
];

Step 4:文件上传、依赖安全与密钥管理

  • Skill 自动检测上传接口,强制校验文件类型、大小、扩展名,并建议将上传存储于非公开路径。
  • 检查 .envconfig 是否泄露密钥,建议使用环境变量和密钥管理工具。
  • 自动集成 composer audit,定期扫描依赖安全。

Step 5:安全部署配置与生产环境加固

  • Skill 检查并修正如下关键配置:
    • APP_DEBUG=false(生产环境禁用调试)
    • APP_KEY 设置与轮换
    • SESSION_SECURE_COOKIE=trueSESSION_HTTP_ONLY=trueSESSION_SAME_SITE=strict
    • 可信代理配置,强制 HTTPS 检测
  • 自动生成安全头部中间件(CSP、HSTS、X-Frame-Options 等):
php
final class SecurityHeaders
{
    public function handle(Request $request, \Closure $next): Response
    {
        $response = $next($request);

        $response->headers->add([
            'Content-Security-Policy' => "default-src 'self'",
            'Strict-Transport-Security' => 'max-age=31536000',
            'X-Frame-Options' => 'DENY',
            'X-Content-Type-Options' => 'nosniff',
            'Referrer-Policy' => 'no-referrer',
        ]);

        return $response;
    }
}
  • CORS 配置自动收敛到最小可信域,避免通配符暴露:
php
return [
    'allowed_origins' => ['https://app.example.com'],
    // ...
];

Step 6:日志脱敏与敏感信息保护

  • Skill 自动检测日志输出,防止记录密码、token、卡号等敏感信息,建议使用 [REDACTED] 标记。
php
Log::info('User updated profile', [
    'user_id' => $user->id,
    'email' => '[REDACTED]',
    'token' => '[REDACTED]',
]);

Step 7:签名 URL 与临时访问控制

  • Skill 建议使用签名路由生成临时、防篡改下载/操作链接,并自动加上 signed 中间件。
php
$url = URL::temporarySignedRoute(
    'downloads.invoice',
    now()->addMinutes(15),
    ['invoice' => $invoice->id]
);

3. 输出示例

  • 自动修复未加密的敏感字段,生成加密 cast
  • 检测到表单缺失 @csrf,自动补全
  • 发现 API 路由未加 auth:sanctum,自动插入中间件
  • 生产环境自动检查并修正 APP_DEBUGSESSION_* 配置
  • 检测到日志输出敏感字段,建议脱敏处理

4. 常见配套 Agent 与 Skill 协作

更多 Skill 协作模式详见 Everything Claude Code 完全指南


FAQ

Q: 这个 Skill 能自动修复哪些安全问题?
A: 能自动检测并修复认证/授权配置、CSRF 漏洞、Mass Assignment、敏感字段未加密、文件上传不安全、日志泄露、依赖漏洞等常见问题。

Q: Skill 会影响开发效率吗?
A: 不会。Skill 以建议和自动修复为主,减少人工排查和重复劳动,提升安全基线的同时保障开发节奏。

Q: 如何与团队协作或 CI/CD 集成?
A: 可通过 Hooks、Agent 配置在 PR、合并、发布等关键节点自动触发 Skill,实现团队级安全自动化。