Skip to content

Latest commit

 

History

History
17 lines (13 loc) · 860 Bytes

README.md

File metadata and controls

17 lines (13 loc) · 860 Bytes

Nefarious

Package demonstrating why julia --project in a directory you don't trust can be dangerous, which is why Julia doesn't do julia --project automatically, instead requiring you to explicitly add the flag, which constitutes a conscious indication that you trust the project you are in.

Try it out (if you dare!):

$ git clone https://github.com/StefanKarpinski/Nefarious.jl.git
$ cd Nefarious.jl
$ julia -q --project
julia> using JSON
Haha, gotcha!

The same attack could easily be expanded to all common package names by just replicating what has been done here for JSON. If you start a julia process in this directory with --project you cannot safely load any packages. If you have a ~/.julia/config/startup.jl file and it loads any packages, then just starting julia --project in this directory could execute arbitrary code.