ATTRS{idProduct} should be replaced by ATTR{idProduct}

The ATTRS match is more expensive than ATTR (man 7 udev):

ATTRS{filename} Search the devpath upwards for a device with matching sysfs attribute values. If multiple ATTRS matches are specified, all of them must match on the same device. Trailing whitespace in the attribute values is ignored unless the specified match value itself contains trailing whitespace.

I.e. for each USB device added, not only the vendor/product of the device will be checked, but also the ones of the hubs above etc.

For USB devices, the ATTR match is sufficient (for SCSI devices, ATTRS has to be kept).

https://gitlab.com/sane-project/backends/-/blob/master/tools/sane-desc.c#L3549 and similar.