jtesta / ssh-audit

SSH server & client security auditing (banner, key exchange, encryption, mac, compression, compatibility, security, etc)
MIT License
3.42k stars 177 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 1 year 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.

jtesta commented 1 month ago

I looked around to see if anything changed on this front in the last year. I found that Windows support is listed on their roadmap page (https://docs.exaloop.io/codon/general/roadmap), implying that it is not yet supported. Furthermore, the project has a windows branch, though it has had no activity in the last 13 months.

I will continue to keep an eye on it.