Skip to content

GHCi by default opens .ghci files in local directories.

During a discussion on IRC I learned that ghci still opens .ghci in local directories by default (I think I raised this issue before). This means that if I'm looking through the source of an untrusted Haskell repo I can get my machine owned by simply running ghci. Now for simple shell use I could get solve this by aliasing ghci to ghci -ignore-dot-files -ghci-script ~/.ghci, but there are a lot of editor/IDE tools that also run ghci that wouldn't use this alias.

Some sensible solutions that spring to mind are:

  1. Only load ~/.ghci by default and add a flag that enables scanning local files.
  2. Adding ghci commands to enable/disable loading local .ghci files in the ghci prompt and change the load order of .ghci files so that ~/.ghci loads first and can enable/disable loading local files.
Trac metadata
Trac field Value
Version 8.2.1
Type Bug
TypeOfFailure OtherFailure
Priority normal
Resolution Unresolved
Component GHCi
Test case
Differential revisions
BlockedBy
Related
Blocking
CC
Operating system
Architecture
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information