jtesta / ssh-audit

SSH server & client security auditing (banner, key exchange, encryption, mac, compression, compatibility, security, etc)
MIT License
3.23k stars 165 forks source link

Experiment with Codon compiler #180

Open jtesta opened 1 year ago

jtesta commented 1 year ago

Codon (https://github.com/exaloop/codon) aims to be "a high-performance and zero-overhead" Python compiler. Currently, we use PyInstaller (https://pyinstaller.org/) to create Windows builds, which adds noticeable sluggishness, as well as occasional anti-virus false positives. Additionally, Codon could enable us to ship much smaller Docker packages, since the entire Python interpreter & libraries wouldn't need to be included.

We should experiment with Codon to see if:

  1. Windows EXEs can be built with it, and
  2. What kind of changes to the ssh-audit codebase would be needed to successfully compile it.

Note that this is only a research task to determine if Codon support makes sense and/or is possible.

jtesta commented 10 months ago

As of this writing, it does not appear that Windows executables can be generated. Furthermore, Codon doesn't seem to be able to understand the module structure we use. Nor does the documentation give any hints on how to resolve these errors.

Seems like Codon is not yet ready for this project to use. Perhaps in a year it can be revisited.