This is a common issue with Shade Smooth. The normals on the sides are being interpolated to the face on the non-camera-facing side, and so the rendering engine is reporting it as a lost ray because it reflects into the background or otherwise runs out of light bounces before it can find a light.
You can see a recreation of the issue in this example scene.
Two simple ways to fix:
- Enable Auto Smooth in Object Data Properties -> Normals.
- Create some supporting loops on the ends to decrease the area over which the interpolation happens.