审查生成的发票更新器

来自 Web 安全基础
Node 24 高级 10分钟 找出 4处问题

按照任务要求审查这个 AI 生成的发票更新处理器,并找出四类不同的问题。

为已认证主体更新发票总额,只允许操作该主体所在租户,并返回更新后的发票。

JavaScript
async function updateInvoice(req, db, audit) {
  const principal = req.body.principal;
  const invoiceId = req.params.id;
  const totalCents = Number(req.body.totalCents);

  const lookup = await db.query(
    'SELECT id, total_cents FROM invoices WHERE id = $1 AND tenant_id = $2',
    [invoiceId, principal.tenantId],
  );
  if (lookup.rows.length === 0) return { status: 404 };

  await db.query(
    'UPDATE invoices SET total_cents = $1 WHERE id = $2',
    [totalCents, invoiceId],
  );
  audit.write({ actor: principal.id, invoiceId });

  return { status: 200, body: lookup.rows[0] };
}

生成代码仅作示例,不代表任何特定模型

在试验场中打开
报告错误