# Vault 7: Projects

This publication series is about specific projects related to the Vault 7 main publication.

### Grasshopper

# Grasshopper-v1_1-UserGuide

1 December, 2013

- 1
- 2
…
- 18
- 19
- 20
- 21
- 22
…
- 52
- 53

SECRET//ORCON//NOFORN
2.3.1 Algorithm
The decision engine is configured by defining an ordered list of payloads and, for
each payload, an ordered list of persistence modules. Both the payload list and
persistence module lists are ordered based on preference.
During operation, the decision engine evaluates the global rule, along with each
payload in the payload list with each module in the payload-specific persistence
module list. If the decision engine positively evaluates the combination of
payload and module, it will attempt to install the payload using the persistence
module.
If the installation attempt fails, the decision engine resumes evaluating payload-
module pairs where it left off until no pairs remain.
Pseudo Code
ifrule_fails( global.rule ): return Failed
for each payload in payload_list:
for each module in payload.module_list:
if evaluate( payload.rule ) is True and evaluate( module.rule ) is
True:
ifmodule.install( payload ) is Successful:
return Done
return Failed
20
SECRET//ORCON//NOFORN

- 1
- 2
…
- 18
- 19
- 20
- 21
- 22
…
- 52
- 53