tomekowal

tomekowal

How do you use mix hex.audit in your CIs?

I am using mix hex.audit to make my CI pipeline red when I am using packages that are retired or have CVEs.

Today I encoutered an issue where cowlib package in its newest version 2.17.1 has low severity CVEs Security Advisories for cowlib | Hex

I don’t really want to make this check optional. If it is red for longer period of time, I will stop noticing new reports. What I would like is an allowlist mechanism where I can have an .hex_audit_ignore file where I can comment that I am aware of this low severity stuff and I am choosing to wait for the new version.

I know there is mix_audit. This one has a config. However, to run a mix task from a dependency, I need to compile that dep first. If a package was compromised, it is too late. mix hex.audit docs say to run it before any compilation.

I can also run mix_audit as an escript, but then it doesn’t read the config.

How do you deal with audits in CI? Do you work around it? Would you like to have an allowlist/ignorelist for mix hex.audit task?

Most Liked

Lucassifoni

Lucassifoni

Currently my CI becomes red and blocking when mix hex.audit runs and has reports, but I added an ignore list in a text file specifically for the recent cowlib CVEs since there was a slight delay. I am not very satisfied with that, but have a cron that deletes the ignorelist weekly so there is no excessive “rot” and I get automatically reminded to check if cowlib updated, by the CI re-breaking soon later.

tomekowal

tomekowal

Thanks for your response. I am considering creating a feature request to hex team. The mix hex.audit is clearly meant for CI, but its output depends on library maintainers, so we need a way to unblock the CI.

Where Next?

Popular in Discussions Top

vans163
So useless benchmarks aside, Its possible to write a webserver that can serve 300k requests per second (perhaps more with optimizations)....
New
Jayshua
I recently came across the javascript library htmx. It reminded me a lot of liveview so I thought the community here might be interested....
New
gausby
I asked this very same question on twitter and got some interesting feedback, but I thought it would be a good question to ask here as we...
1207 39467 209
New
WolfDan
After doing a port from a c++ library to my project in phoenix I’ve seen that I need a faster way to run this algorithm and I found this ...
New
tmbb
This is a post to discuss the new Phoenix LiveView functionality. From Chris’s talk, it appears that they generate all HTML on the serve...
342 18243 126
New
mbenatti
Following https://github.com/tbrand/which_is_the_fastest |> https://raw.githubusercontent.com/tbrand/which_is_the_fastest/master/imgs...
New
eteeselink
Hi all, In the last days, two things happened: A blog post titled “They might never tell you it’s broken” made the rounds. It’s about ...
New
chulkilee
Here are the list of HTTP client libraries/wrappers, and some thoughts on HTTP client in general. I’d like to hear from others how they w...
New
pdgonzalez872
If this has been asked here before, please point me to where it was asked as I didn’t find it when I searched the forum. Maybe a mailing ...
New
MarioFlach
Hello, I want to share a project I’ve been working on for a while: https://github.com/almightycouch/gitgud Background Some time ago I ...
New

Other popular topics Top

senggen
Erlang/OTP 25 [erts-13.2.2] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] 15:22:35.803 [error] gen_event {lager_file_backend...
New
mcarvalho
What is the difference between System.get_env and Application.get_env? For example, what are best practices to use one versus another.
New
Patoshizzle
After calling mix ecto.create I get this error: 17:00:32.162 [error] GenServer #PID<0.412.0> terminating ** (Postgrex.Error) FATAL...
New
pmjoe
I have a relationship of love and hate with Elixir. Lots of things are just absolutely right, but there are some things that are kind of ...
New
jerry
Good day to you all. I have been struggling to get a query involving like and ilike to work. Can anyone assist me on this, please? pro...
New
Lily
In templates/appointment/index.html.eex: <%= for appointment <- @appointments do %> <tr> <td><%= appoi...
New
saif
Hello everyone, Long time lurker first time poster here. I’ve recently begun working on Elixir full-time again! :raised_hands: It’s been...
New
klo
Got a question about when to concat vs. prepending items to list then reversing to achieve appending. So i know lists boil down to [1 | ...
New
joaquinalcerro
Hi there, I am working with Ecto-Postgresql and I need to call all of the records from a specific table but the table has 40,000 records...
New
jononomo
For some reason my phoenix channels are working for me in my local dev environment, but as soon as I deploy via Docker, I get a 403 error...
New

Latest on Elixir Forum

We're in Beta

About us Mission Statement