Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Replace ERD (Haskell) with erd-go #343

Closed
barthel opened this issue Mar 23, 2023 · 6 comments · Fixed by #344
Closed

Replace ERD (Haskell) with erd-go #343

barthel opened this issue Mar 23, 2023 · 6 comments · Fixed by #344

Comments

@barthel
Copy link
Contributor

barthel commented Mar 23, 2023

This is a follow-up of #51 .

With asciidoctor/asciidoctor-diagram#402, the Asciidoctor Diagrams team accepted the support/replacement of the Haskell-based erd (https://github.com/BurntSushi/erd) in favor of Go-based erd-go (https://github.com/kaishuu0123/erd-go/).

This step is necessary to provide Asciidoctor Docker Images in a multi-platform way (especially non x86 platforms).

barthel added a commit to barthel/docker-asciidoctor-fork that referenced this issue Mar 23, 2023
@dduportal
Copy link
Contributor

Juste checking erdgoand it seems that it receieved no commits since february 2021. I'm sorry I did not caught that earlier, bu it is annoying, compareed toerd` which receieved updates in november 2022.

Not a blocker, but can be an issue.

@dduportal
Copy link
Contributor

Here is why it is worrying: https://arstechnica.com/information-technology/2021/09/travis-ci-flaw-exposed-secrets-for-thousands-of-open-source-projects/

=> We cannot guarantee the security of erd-go unless we send a PR to switch to GitHub actions and publish a new release

@pepijnve
Copy link
Member

@dduportal are you concerned the repo may have been tainted? If so, switching to GH actions will not make much of a difference. If that's not a concern, isn't go install sufficient? AFAIK that doesn't download a precompiled binary; it compiles from source for the local target.

@barthel
Copy link
Contributor Author

barthel commented Mar 24, 2023

As @pepijnve mentioned, erd-go is compiled for each platform and no precompiled executables are used.

It is similar to the current integration of erd.

If you are unsure if the source code could be compromised, we can't rule that out for erd either.

Since there was no commit in the repository after the vulnerability, the risk is actually even lower here.

@dduportal
Copy link
Contributor

As @pepijnve mentioned, erd-go is compiled for each platform and no precompiled executables are used.

It is similar to the current integration of erd.

If you are unsure if the source code could be compromised, we can't rule that out for erd either.

Since there was no commit in the repository after the vulnerability, the risk is actually even lower here.

That make absolut sense in regard of the security risk: I commented before looking at your PR's content and assumed we were using the binary.

Given that it is source code related, is that ok to pin to the version though (instead of latest) to add another layer of safety?

In term of sustainability, though, we'll have to consider helping the maintainer of erd-go in their effort to modernize. I'm ok to help but not alone: would that be ok for you ?

Thanks @pepijnve @barthel for these precious work, contributions and help!

@barthel
Copy link
Contributor Author

barthel commented Mar 24, 2023

Given that it is source code related, is that ok to pin to the version though (instead of latest) to add another layer of safety?

That makes perfect sense. I have changed the PR.

dduportal added a commit that referenced this issue Mar 26, 2023
Replace ERD (Haskell) with erd-go #343
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants