ml-archive / bitrise-step-nodes-custom-script

Custom Bitrise step for the iOS CI system
MIT License
2 stars 6 forks source link

iOS Add code obfuscation step in CI #14

Closed pbodsk closed 5 years ago

pbodsk commented 5 years ago

Originally created by @kjoneandrei in a different project and now migrated here.

History

original description by @kjoneandrei on 25.03.2019 Implement obfuscation via https://github.com/rockbruno/swiftshield in CI

comment by @nickskull on 26.03.2019 @kjoneandrei could you please add some more information to the issue? I think we need to setup some rules about titles, body, labels.

comment by @kjoneandrei on 26.03.2019 @nickskull Of course, here it is.

The Problem and the Solution:

So we have a client security requirement that requires source code obfuscation. To do so we have found the SwiftShield framework that can perform the obfuscation for us before archive step. By doing so it will rename classes, variables etc to something random so that it will deter attackers from trying to reverse engineer the app and/or try to access API keys from the project.

Risks:

After the obfuscation step the code might not be archivable if there were errors with obfuscating the code. The framework's github page contains a lists of do and don't to help with the headaches. I would recommend though that the obfuscation is done locally first so we can spot the possible errors before they reach our CI.

Alternatives:

https://github.com/Polidea/SiriusObfuscator

Next Step:

Research and implement