PIRATE: Partitioning Information via Resource-Aware Transformations for Everyone
Pirate aims to build a set of technologies for making it easier to develop, configure, and maintain real-time secure interconnected applications.
Pirate is under active development. The main features we aim to build are:
- Tools for building real-time distributed microservices and composing them together to get efficient partitioned executables with a reduced and well-understood attack surface.
- VSCode extensions to support analyzing and refactoring PIRATE applications.
- Modifications to the LLVM toolsuite to support building multiple-enclave partitioned applications out of a single source file. The extensions include a capability model for ensuring code runs in the correct operating environment.
- A low-level communication channel library that abstracts over a variety of different hardware communication channels.
- Tools for debugging and profiling PIRATE applications across the different system interconnects.
We are releasing all artifacts as we develop them on Github (https://github.com/GaloisInc/pirate), and will be making regular updates as they are developed.
The material is based upon work supported by Defense Advanced Research Projects Agency (DARPA) under Contract No. HR0011-19-C-0103. Any opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the Defense Advanced Research Projects Agency (DARPA).