nietaki

nietaki

Hoplon - screening your hex dependencies for hidden code

A while back, inspired by the “I’m harvesting credit card numbers and passwords from your site - here’s how” article, I started working on a tool that addresses the problem highlighted in the article, but for the Elixir ecosystem - hoplon. This Wednesday I presented the for the first time at the Elixir London Meetup and figured it was ready to be shared on the Elixir Forum :wink:

The basic idea is that when using external libraries we usually assume their hex packages contain exactly the code that is in their Github repos, while there’s no real guarantees that that would be the case. While that’s not necessarily a problem with hobby projects, it becomes a real vulnerability if you use third-party libraries in production projects that handle user data - we’re adopting it where I work as we speak :slight_smile:

Take a look at the project and suffixer - the example project that uses it. I’d love to know your feedback. If you prefer to talk in real-time, I created hoplon on the Elixir Slack, but the turnaround from my end might still be a bit slow on weekdays.

The slides from the presentation are available HERE, the recording should be available within a week or 2 as well.

Disclaimer: while I am planning to implement the missing features rather sooner than later, I think I’m going to take the next couple of weeks to tidy up the code - I’ve been rushing to get it ready for the meetup and it isn’t really up to my usual standards. Feel free to report issues/suggestions regardless.

Where Next?

Popular in Announcing Top

Hal9000
Here is my first stab at this. README pasted below. https://github.com/Hal9000/elixir_random Comments and critiques are welcome. Thank...
New
handnot2
Samly can be used to enable SAML 2.0 Single Sign On in a Plug/Phoenix application. This library uses Erlang esaml to provide plug enabl...
New
bryanjos
Hi, I wanted share a small library we at Revelry Labs made for rendering react components from the server side. There are instructions fo...
New
kip
ex_cldr provides localisation and internationalisation support based upon the data from the Unicode CLDR project. Unicode released CLDR ...
407 13366 120
New
tmbb
PhoenixWS - Websockets over Phoenix Channels Source code on Github here: GitHub - tmbb/phoenix_ws: Websockets implemented over Phoenix Ch...
New
kevinlang
Hey all, We have made an Ecto3 Adapter for SQLite3, ecto_sqlite3! We have successfully on-boarded the full suite of integration tests (...
New
Flo0807
Hello everyone! I am excited to share our heart project Backpex with you. After building several Phoenix applications, we realized that...
New

Other popular topics Top

KronicDeth
Elixir plugin for JetBrain’s IntelliJ Platform (including Rubymine) This is a plugin that adds support for Elixir to JetBrains IntelliJ...
289 36820 110
New
New
Brian
What is the proper way to load a module from a file in to IEX? In the python world, doing something like this pretty standard: from ....
New
gshaw
What is the idiomatic way of matching for not nil in Elixir? E.g., First way: defp halt_if_not_signed_in(conn, signed_in_account) when...
New
sen
Hi All, I set a environment variables in dev.exs , like below code. when i start server, how can i set the ${enable} value? thanks. d...
New
Harrisonl
We have an ECS cluster with 4 services, where each task joins a single cluster, via discovery ECS discovery service. Currently when I de...
New

We're in Beta

About us Mission Statement