To address these issues, we introduce the SHILL programming
language. SHILL is a secure shell scripting language
with features that help apply POLP in commodity
operating systems.1 At the core of SHILL are declarative
security policies that describe and limit the effects of
script execution, including effects of arbitrary programs
invoked by the script.
These declarative security policies can be used by producers
of software to provide fine-grained descriptions of
the authority the software needs to execute. This, in turn,
allows consumers of software to inspect the software’s
required authority, and make an informed decision to execute
the software, reject the software, or apply a more
restrictive policy on the software. The SHILL runtime system
ensures that script execution adheres to the declared
security policy, providing a simple mechanism to restrict
the authority of software.