Oscilloscope "noise"?
Look at it this way:

All signals in reality have noise. The oscilloscope samples a signal, with its inherent noise, and converts it to a digital number that has a minimum resolution. It rounds values to their nearest discrete digital representation. The green lines are spaced at the scope's sample rate. The red line is a central value, with ± 1 bit of noise. This is normal--there is always noise in the signal you're measuring and in the conversion process. The sequence of digital numbers is eventually turned into an image, and that process can exaggerate this small noise depending on how the waveform is scaled and positioned. Your square wave looks about as good as as square ever looks on a digital scope. The tiny bit of noise does not indicate any problems with your circuit.
For reference, here is a typical screenshot from a Rigol DS1054Z. There's always a little fuzz on the waveforms.

You can try decreasing the oscilloscope's bandwidth to reduce the amount of high frequency noise in the signal or increasing the sample memory depth. If you want a nice image of a periodic signal, Averaging mode is your friend.
Dave Jones from the EEVBlog has a video explaining why digital scopes appear noisy that explains this in much greater detail: https://www.youtube.com/watch?v=Znwp0pK8Tzk