It’s actually pretty easy to create an invalid SGF file.
There are several pitfalls that many SGF editors have fallen into, for example:
- https://github.com/jkk/eidogo/issues/22
- https://github.com/IlyaKirillov/GoProject/issues/1
- https://github.com/SabakiHQ/Sabaki/issues/69 (this is actually a parsing issue, but a related bug often happens due to not properly escaping “]” in comments when generating the SGF file)
- OGS has even had some SGF generation bugs: SGF download bugs