Commit d91630c2 authored by Richard Glosner's avatar Richard Glosner
Browse files

Merge branch 'add-formatter' into 'dux'

Add formatter

See merge request inject/inject-docs!110
parents a60e1d47 71e0cb38
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -6,6 +6,7 @@ variables:
  MAIN_BRANCH: "main"

stages:
  - format
  - build
  - deploy
  - copy_to_main
@@ -14,6 +15,13 @@ default:
  tags:
    - inject

format:
  stage: format
  script:
    - find ./docs -type f -name "*.md" -exec sed -i 's/^---$/______________________________________________________________________/' {} +
    - poetry run mdformat README.md ./docs --check --number --wrap 100
    - find ./docs -type f -name "*.md" -exec sed -i 's/^______________________________________________________________________$/---/' {} +

build:
  stage: build
  script:
@@ -21,6 +29,8 @@ build:
  artifacts:
    paths:
      - public
  needs:
    - format

pages:
  pages:
+3 −1
Original line number Diff line number Diff line
FROM python:3.10-slim
FROM python:3.10-bullseye

WORKDIR /app

RUN apt-get update && apt-get install -y git curl && rm -rf /var/lib/apt/lists/*

RUN pip install poetry==1.8.2

COPY pyproject.toml poetry.lock ./
+265 −198

File changed.

Preview size limit exceeded, changes collapsed.

+34 −35
Original line number Diff line number Diff line
@@ -3,7 +3,8 @@
## In a nutshell

- This is the fourth phase of the INJECT process dedicated to managing and conducting the exercise.
- It includes facilitating the exercise, providing initial briefings, and conducting the final hot wash.
- It includes facilitating the exercise, providing initial briefings, and conducting the final hot
    wash.
- Uses the INJECT Exercise Platform to ensure efficient execution and data collection.

---
@@ -22,53 +23,51 @@

## Tasks for instructors

As an exercise instructor, your role is crucial in ensuring the smooth execution of the tabletop exercise.
Here are some key tasks to keep in mind:
As an exercise instructor, your role is crucial in ensuring the smooth execution of the tabletop
exercise. Here are some key tasks to keep in mind:

- **Provide Initial Exercise Brief**:
  Start by providing trainees with an initial exercise brief, outlining the context, rules, and expectations for the exercise.
- **Provide Initial Exercise Brief**: Start by providing trainees with an initial exercise brief,
    outlining the context, rules, and expectations for the exercise.

- **Consider Platform Intro Tutorial**:
  Since the IXP may be new to many trainees, it makes sense to **let them to complete the introductory tutorial first**. Although the platform’s user interface is intuitive, having a structured      
     overview is more beneficial than letting trainees figure it out during the actual exercise. We have created a short introduction that will take no more than 15 minutes to help enhance their 
- **Consider Platform Intro Tutorial**: Since the IXP may be new to many trainees, it makes sense to
    **let them to complete the introductory tutorial first**. Although the platform’s user interface
    is intuitive, having a structured\
    overview is more beneficial than letting trainees figure it out during the actual exercise. We
    have created a short introduction that will take no more than 15 minutes to help enhance their
    experience.

    
    <div class="navigation" markdown>
    [Intro Definition](https://gitlab.fi.muni.cz/inject/inject-docs/-/raw/dux/files-from-repos/intro-definition.zip?ref_type=heads&inline=false){ .md-button }
    </div>

- **Monitor Trainee Activities**: Keep a close eye on the activities of trainees throughout the
    exercise. Ensure that they are engaged and progressing appropriately.

- **Monitor Trainee Activities**:
  Keep a close eye on the activities of trainees throughout the exercise.
  Ensure that they are engaged and progressing appropriately.

- **Choose Appropriate Responses**:
  One of the most important tasks is to choose appropriate responses to the actions of trainees.
  For example, emails may have different response templates prepared for different situations.
  It's essential to select the most suitable response to ensure that trainees do not get stuck.
- **Choose Appropriate Responses**: One of the most important tasks is to choose appropriate
    responses to the actions of trainees. For example, emails may have different response templates
    prepared for different situations. It's essential to select the most suitable response to ensure
    that trainees do not get stuck.

- **Utilize Role Play in Story**:
  When nudging trainees, consider using role play within the story context.
  Clever hints that suit the scenario context are often more effective than using your authority as an instructor.
- **Utilize Role Play in Story**: When nudging trainees, consider using role play within the story
    context. Clever hints that suit the scenario context are often more effective than using your
    authority as an instructor.

- **Be Prepared to Improvise**:
  While much of your knowledge is embodied in response templates,
  be prepared to improvise if the trainees' reactions are unexpected or deviate from the planned scenario.
- **Be Prepared to Improvise**: While much of your knowledge is embodied in response templates, be
    prepared to improvise if the trainees' reactions are unexpected or deviate from the planned
    scenario.

- **Provide Hot Wash**:
  Finally, conduct a hot wash session after the exercise to
  debrief trainees, discuss key learnings, and provide feedback on their performance.
  Also ask for their feedback on the scenario.
- **Provide Hot Wash**: Finally, conduct a hot wash session after the exercise to debrief trainees,
    discuss key learnings, and provide feedback on their performance. Also ask for their feedback on
    the scenario.

- **Interview Instructors**:
  After the hot wash session, conduct a group interview with the exercise instructors to gather their immediate feedback.
- **Interview Instructors**: After the hot wash session, conduct a group interview with the exercise
    instructors to gather their immediate feedback.

!!! Disclaimer
    In this part of the documentation, we will provide a guide for the Instructor View.
    Nevertheless, it's important to note that
    the complete user guide for the Instructor View is currently undergoing significant iteration.
    Therefore, this section is not included at this time.

    In this part of the documentation, we will provide a guide for the Instructor View. Nevertheless,
    it's important to note that the complete user guide for the Instructor View is currently undergoing
    significant iteration. Therefore, this section is not included at this time.

<div class="navigation" markdown>
  [&larr; 3 Preparation phase](../prepare/overview.md){ .md-button }
+84 −72
Original line number Diff line number Diff line
@@ -2,9 +2,10 @@

## In a nutshell

- The INJECT process is a way to design tabletop security exercises with the INJECT Exercise Platform.
- It consists of five interconnected phases inspired by design thinking:
  understand, specify, prepare, execute, and reflect.
- The INJECT process is a way to design tabletop security exercises with the INJECT Exercise
    Platform.
- It consists of five interconnected phases inspired by design thinking: understand, specify,
    prepare, execute, and reflect.
- The main advantage is that it incorporates the platform into the whole process.

---
@@ -15,120 +16,129 @@

### 01 Understanding phase

The goal of the Understanding phase is to gather all the necessary information to prepare for the exercise.
This includes identifying the objectives, the scope, and the resources required.
During this phase, you will ensure that you have a comprehensive understanding of the context and goals of the exercise.
The goal of the Understanding phase is to gather all the necessary information to prepare for the
exercise. This includes identifying the objectives, the scope, and the resources required. During
this phase, you will ensure that you have a comprehensive understanding of the context and goals of
the exercise.

### 02 Specification phase

In the Specification phase, you will clearly define the exercise objectives, aligning them with the needs identified in the previous phase.
This involves breaking down these objectives into specific learning activities and creating the main and parallel inject lines that form the scenario.
The primary outcome of this phase is a well-structured specification that will guide the exercise preparation.
In the Specification phase, you will clearly define the exercise objectives, aligning them with the
needs identified in the previous phase. This involves breaking down these objectives into specific
learning activities and creating the main and parallel inject lines that form the scenario. The
primary outcome of this phase is a well-structured specification that will guide the exercise
preparation.

### 03 Preparation phase

The Preparation phase focuses on getting everything ready for the exercise.
This includes preparing the content, setting up logistics, and ensuring that all materials and resources are in place.
The aim is to be fully prepared for a smooth and successful execution of the exercise.
The Preparation phase focuses on getting everything ready for the exercise. This includes preparing
the content, setting up logistics, and ensuring that all materials and resources are in place. The
aim is to be fully prepared for a smooth and successful execution of the exercise.

### 04 Execution phase

The Execution phase is about managing the exercise day.
This includes facilitating the exercise, conducting initial briefings, and performing the final hot wash.
The INJECT Exercise Platform will be used extensively to support these activities, ensuring that the exercise runs efficiently.
The Execution phase is about managing the exercise day. This includes facilitating the exercise,
conducting initial briefings, and performing the final hot wash. The INJECT Exercise Platform will
be used extensively to support these activities, ensuring that the exercise runs efficiently.

### 05 Reflection phase

The Reflection phase is dedicated to evaluating the exercise on multiple levels.
This includes
The Reflection phase is dedicated to evaluating the exercise on multiple levels. This includes

* assessing trainee performance and providing specific recommendations,
* reviewing the scenario for potential improvements, and
* reflecting on the overall organization and execution of the exercise.
- assessing trainee performance and providing specific recommendations,
- reviewing the scenario for potential improvements, and
- reflecting on the overall organization and execution of the exercise.

This phase aims to identify strengths and areas for improvement, helping to enhance future exercises.
This phase aims to identify strengths and areas for improvement, helping to enhance future
exercises.

??? "Relation to INJECT Exercise Platform Components:"

    ### Editor

    The Editor is a versatile tool used during the **Specification and Preparation phases** of the INJECT Process.
    It allows exercise designers to specify exercise objectives, create scenarios, and prepare exercise content.
    With its user-friendly interface, the Editor enables efficient scenario development and content organization.
    The Editor is a versatile tool used during the **Specification and Preparation phases** of the
    INJECT Process. It allows exercise designers to specify exercise objectives, create scenarios, and
    prepare exercise content. With its user-friendly interface, the Editor enables efficient scenario
    development and content organization.

    ### Trainee View

    The Trainee View is designed for use during the **Execution phase** of the exercise.
    It provides trainees with access to the exercise scenario and injects, facilitating their participation and engagement.
    Through the Trainee View, trainees can navigate the exercise, respond to injects, and collaborate with teammates in a simulated environment.
    The Trainee View is designed for use during the **Execution phase** of the exercise. It provides
    trainees with access to the exercise scenario and injects, facilitating their participation and
    engagement. Through the Trainee View, trainees can navigate the exercise, respond to injects, and
    collaborate with teammates in a simulated environment.

    ### Instructor View

    The Instructor View is a comprehensive tool used by exercise instructors during the **Execution phase** of the exercise.
    It allows instructors to manage the entire exercise, from overseeing trainees interactions to facilitating discussions and providing guidance.
    With features for real-time monitoring and intervention, the Instructor View ensures smooth exercise execution and effective facilitation.
    The Instructor View is a comprehensive tool used by exercise instructors during the **Execution
    phase** of the exercise. It allows instructors to manage the entire exercise, from overseeing
    trainees interactions to facilitating discussions and providing guidance. With features for
    real-time monitoring and intervention, the Instructor View ensures smooth exercise execution and
    effective facilitation.

    ### Analyst View

    The Analyst View serves multiple purposes throughout the INJECT Process.
    During the **Reflection phase**, it is utilized for evaluation and data analysis, providing insights into trainees performance and exercise outcomes.
    Additionally, the Analyst View serves as a source of information during the **Understanding phase**, offering valuable data and feedback to inform exercise preparation.
    Its intuitive interface enables thorough evaluation and informed decision-making for future exercises.
    The Analyst View serves multiple purposes throughout the INJECT Process. During the **Reflection
    phase**, it is utilized for evaluation and data analysis, providing insights into trainees
    performance and exercise outcomes. Additionally, the Analyst View serves as a source of information
    during the **Understanding phase**, offering valuable data and feedback to inform exercise
    preparation. Its intuitive interface enables thorough evaluation and informed decision-making for
    future exercises.

## Subjects in the INJECT Process

**In organizing a tabletop exercise, various functions are crucial to ensure its success.
Depending on the context, these functions may overlap, with some individuals taking on multiple responsibilities.**
**In organizing a tabletop exercise, various functions are crucial to ensure its success. Depending
on the context, these functions may overlap, with some individuals taking on multiple
responsibilities.**

- **Client**:
  The client is the organization or part of the organization for which the exercise is prepared and executed.
  Ideally, the client understands the purpose and need for the exercise.
- **Client**: The client is the organization or part of the organization for which the exercise is
    prepared and executed. Ideally, the client understands the purpose and need for the exercise.

- **Exercise Provider**:
  This is the organization or department that oversees the entire process and appoints the exercise organizers.
- **Exercise Provider**: This is the organization or department that oversees the entire process and
    appoints the exercise organizers.

- **Exercise Organizers**:
  These individuals are responsible for all aspects of preparation, including managing logistics and content preparation.
  They act as the project managers of the exercise.
- **Exercise Organizers**: These individuals are responsible for all aspects of preparation,
    including managing logistics and content preparation. They act as the project managers of the
    exercise.

- **Exercise Designers**:
  Their main role is to develop the exercise scenario.
  This includes defining the entire scenario and preparing the content for the platform.
  They are the authors of the exercise concept.
- **Exercise Designers**: Their main role is to develop the exercise scenario. This includes
    defining the entire scenario and preparing the content for the platform. They are the authors of
    the exercise concept.

- **Exercise Instructors**:
  These individuals execute the exercise via the platform, provide briefings, and conduct the final hot wash.
  Unless specified otherwise, they also analyze the final data from the exercise.
- **Exercise Instructors**: These individuals execute the exercise via the platform, provide
    briefings, and conduct the final hot wash. Unless specified otherwise, they also analyze the
    final data from the exercise.

- **Trainees**
  These are the individuals who take part in the exercise.
  Their primary objective is to learn and gain experience from the exercise.
- **Trainees** These are the individuals who take part in the exercise. Their primary objective is
    to learn and gain experience from the exercise.

!!! NOTE
    We distinguish between the subjects of the exercise (organizations, designers, instructors) and
    the exercise roles intended for the scenario (e.g., CSIRT, lawyer, PR specialist, national authority).

## Types of exercises
    We distinguish between the subjects of the exercise (organizations, designers, instructors) and the
    exercise roles intended for the scenario (e.g., CSIRT, lawyer, PR specialist, national authority).

**The INJECT process is designed to guide you through organizing a successful tabletop exercise using the INJECT Exercise Platform.
There are two primary types of exercises you can consider:**
## Types of exercises

- **Strategic decision-making exercises**:
  These exercises emphasize decision-making, evaluation, and high-level planning.
  They are suited for testing strategic thinking and the ability to manage and respond to complex scenarios.
**The INJECT process is designed to guide you through organizing a successful tabletop exercise
using the INJECT Exercise Platform. There are two primary types of exercises you can consider:**

- **Process-Technical Exercises**:
  These exercises focus on simulating specific processes using designated tools.
  They are ideal for honing technical skills and ensuring that trainees are proficient in particular procedures and systems.
- **Strategic decision-making exercises**: These exercises emphasize decision-making, evaluation,
    and high-level planning. They are suited for testing strategic thinking and the ability to
    manage and respond to complex scenarios.

- **Process-Technical Exercises**: These exercises focus on simulating specific processes using
    designated tools. They are ideal for honing technical skills and ensuring that trainees are
    proficient in particular procedures and systems.

While these categories provide a useful framework, it is not necessary to adhere strictly to one type.
In fact, exercise designers are encouraged to blend both approaches.
By combining process-technical elements with strategic decision-making components,
you can create a more comprehensive and effective exercise tailored to your specific goals.
While these categories provide a useful framework, it is not necessary to adhere strictly to one
type. In fact, exercise designers are encouraged to blend both approaches. By combining
process-technical elements with strategic decision-making components, you can create a more
comprehensive and effective exercise tailored to your specific goals.

!!! Glossary
    We use several terms in the INJECT process that may be unfamiliar, but you can always find their definitions in our [glossary](../../glossary-of-terms.md).

    We use several terms in the INJECT process that may be unfamiliar, but you can always find their
    definitions in our [glossary](../../glossary-of-terms.md).

## Start now

@@ -145,8 +155,10 @@ you can create a more comprehensive and effective exercise tailored to your spec
</div>

!!! Disclaimer
    This is the initial version of the documentation describing the INJECT process from a broad perspective.
    As we continue to develop the platform, we will expand each section with specific information and examples.

    This is the initial version of the documentation describing the INJECT process from a broad
    perspective. As we continue to develop the platform, we will expand each section with specific
    information and examples.

<div class="navigation" markdown>
  [Home](../../index.md){ .md-button }
Loading