Is there a Modifier that "Keep(s) Tangent"?

I’m Shrink wrapping simple greebles onto a cylindrical object, and wonder if there is a way to keep them tangent to the surface of the cylinder?

Ideally this would act on a polygon level, with each polygon’s area maintained as it was rotated to remain tangent to the target. In the Modifier stack, you’d place this modifier before/above Shrinkwrap.

(Optionally this could act on a object level, or even on a “group of connected polys”/“island” to act on multiple polys at once.)

Does that exist?