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

OvermindDL1
I created a new library (rather I pulled out a couple files from my big project), it manages an operating system PID file for the BEAM. ...
New
tmbb
PhoenixWS - Websockets over Phoenix Channels Source code on Github here: GitHub - tmbb/phoenix_ws: Websockets implemented over Phoenix Ch...
New
sorentwo
Hello! tl;dr Announcing Oban, an Ecto based job processing library with a focus on reliability and historical observability. After spen...
985 43487 311
New
tmbb
I’ve been working on two packages (not on hex.pm yet) to build admin interfaces for phoenix apps: bureaucrat - which contains a bunch ...
New
wojtekmach
Hey everyone! Req is an HTTP client for Elixir that I’ve been working on for quite some time. There is already a lot of HTTP clients out...
New
KronicDeth
Elixir plugin for JetBrain’s IntelliJ Platform (including Rubymine) This is a plugin that adds support for Elixir to JetBrains IntelliJ...
289 36352 110
New
Azolo
Hey everyone, I just released WebSockex which is a Elixir WebSocket client. WebSockex strives to work as a OTP special process, be RFC6...
New
achempion
Hi, I would like to tell about my initiative to further maintain and develop Waffle project which is the fork of Arc library. The progre...
New
zachdaniel
Ash Framework What is Ash? Ash Framework is a declarative, resource-oriented application development framework for Elixir. A resource can...
New
wfgilman
I’ve cleaned up and open sourced three financial libraries I was using for my company. They are bindings for the APIs of these three comp...
New

Other popular topics Top

malloryerik
Hi, this is for people who, like me, have had some friction using .html.heex templates in VSCode. The solution seems to be, in a hyphena...
New
marius95
Hello everyone, I try to use an Javascript Event Handler in my root.html.leex file. Therefore I created a function in the app.js file: ...
New
Darmani72
If I have a post route which an argument: post /my_post_route/:my_param1, MyController.my_post_handler How would get the post params ...
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
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
SoCreat
i’m a new one to elixir which editor can i use vs code? or atom? Thanks! :smiley:
New
Emily
I have VueJS GUIs with the project generated using Webpack. I have Elixir modules that will need to be used by the VueJS GUIs. I forese...
New
Qqwy
Update: How to use the Blogs & Podcasts section You can post links to your blog posts or podcasts either in one of the Official Blog...
3271 127089 1222
New
AstonJ
Seen any cool LiveView demos, sample apps or examples? Please post them here! :003:
New
lanycrost
Hi everyone! I need implement if…else if…else condition from my elixir code, and anymore of this control flow structures not work proper...
New

Latest on Elixir Forum

Elixir Forum

We're in Beta

About us Mission Statement