找出CSP nonce里的bug

来自安全响应头
Node 24 进阶 4分钟 找出1处问题

找出这段生成的CSP nonce中间件中的安全缺陷。

JavaScript
import { randomBytes } from 'node:crypto';

const nonce = randomBytes(16).toString('base64');

function addCsp(request, response, next) {
  response.locals.nonce = nonce;
  response.setHeader(
    'Content-Security-Policy',
    `default-src 'self'; script-src 'nonce-${nonce}'`,
  );
  next();
}
在试验场中打开
报告错误