Когда мы в команде решили защитить наш Go-код от реверс-инжиниринга, выбор пал на garble — и тут же начался квест с падающими паниками, сломанным reflection и необъяснимыми ошибками. Чтобы разобраться, мы залезли во внутренности AST и cmd/compile и поняли, почему обфускация в Go упирается в фундаментальные ограничения языка. В докладе покажем реальные кейсы: как garble модифицирует синтаксическое дерево, где именно он ломает интерфейсы, и что делать с трассировками паник. Поделимся бенчмарками накладных расходов и граблями, которые собрали в продакшене. Вы уйдёте с чётким чеклистом: когда garble надёжно защитит ваш код, а когда принесёт больше боли, чем пользы.