Skip to content

Commit

Permalink
Feat/add ebios help texts (#1249)
Browse files Browse the repository at this point in the history
  • Loading branch information
Mohamed-Hacene authored Dec 24, 2024
1 parent 2f3b693 commit 24cb967
Show file tree
Hide file tree
Showing 9 changed files with 111 additions and 7 deletions.
30 changes: 29 additions & 1 deletion frontend/messages/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -1032,5 +1032,33 @@
"ebiosWs3_2_tooltip": "You need at least one selected RO/TO couple to elaborate a strategic scenario",
"ebiosWs3_3_tooltip": "You need at least one Stakeholder to define associated security measures",
"ebiosWs4_1_tooltip": "You need at least one selected Attack Path from a Strategic Scenario to elaborate an operational scenario",
"ebiosWs4_2_tooltip": "You need at least one Operational Scenario to evaluate its likelihood"
"ebiosWs4_2_tooltip": "You need at least one Operational Scenario to evaluate its likelihood",
"gravityHelpText": "Estimating the level and intensity of the effects of a risk",
"likelihoodHelpText": "Estimate of the feasibility or probability of a risk occurring",
"studyAssetHelpText": "Primary (business asset) and supporting assets relating to the object under study",
"fearedEventHelpText": "The feared events must express/translate the fears of the business",
"fearedEventAssetHelpText": "Primary asset (business value) affected by the feared event",
"fearedEventQualificationHelpText": "Possible impact categories",
"fearedEventIsSelectedHelpText": "Selection of the feared event for the study",
"riskOriginHelpText": "Element, person, group of persons or organisation likely to generate a risk",
"targetObjectiveHelpText": "Purpose of a source of risk, depending on its motivations",
"resourcesHelpText": "Including financial resources, level of cyber skills, tools, time available to the attacker to carry out the attack, etc.",
"motivationHelpText": "Interests, factors that drive the source of risk to achieve its objective",
"activityHelpText": "What is the level of activity of the source of risk within the scope of the study? ",
"pertinenceHelpText": "The relevance of the source of risk to the target objective",
"roToIsSelectedHelpText": "Selection of the RO/TO couple for the study",
"roToFearedEventHelpText": "Confronting the most serious feared events",
"stakeholderEntityHelpText": "Stakeholder in the ecosystem",
"stakeholderCategoryHelpText": "Relationship with the stakeholder",
"dependencyHelpText": "Is the relationship with this stakeholder vital to my business?",
"penetrationHelpText": "To what extent does the stakeholder have access to my internal resources?",
"maturityHelpText": "What are the stakeholder's safety capabilities?",
"trustHelpText": "Could the stakeholder's intentions or interests be contrary to my own?",
"stakeholderIsSelectedHelpText": "Selection of the stakeholder for the study",
"strategicScenarioHelpText": "Sets of attack paths from a source of risk to an intended target",
"operatingModesDescriptionHelpText": "Description of a series of basic actions that the source of risk is likely to have to carry out in order to achieve its objective",
"operationalScenarioThreatsHelpText": "Unitary actions carried out by a risk source on a critical support asset as part of an operational scenario",
"operationalScenarioIsSelectedHelpText": "Selection of the operational scenario for the study",
"attackPathStakeholdersHelpText": "Stakeholders involved in the attack path",
"attackPathIsSelectedHelpText": "Selection of the attack path for the study"
}
31 changes: 30 additions & 1 deletion frontend/messages/fr.json
Original file line number Diff line number Diff line change
Expand Up @@ -1017,6 +1017,7 @@
"addStrategicScenario": "Ajouter un scénario stratégique",
"markAsDone": "C'est fait",
"markAsInProgress": "Reprendre",
"riskAnalyses": "Analyses de risques",
"client": "Client",
"partner": "Partenaire",
"supplier": "Fournisseur",
Expand All @@ -1031,5 +1032,33 @@
"ebiosWs3_2_tooltip": "Vous avez besoin d'au moins un couple SR/OV sélectionné pour élaborer un scénario stratégique",
"ebiosWs3_3_tooltip": "Vous avez besoin d'au moins une Partie Prenante pour définir les mesures de sécurité associées",
"ebiosWs4_1_tooltip": "Vous avez besoin d'au moins un Chemin d'Attaque sélectionné à partir d'un Scénario Stratégique pour élaborer un scénario opérationnel",
"ebiosWs4_2_tooltip": "Vous avez besoin d'au moins un Scénario Opérationnel pour évaluer sa probabilité"
"ebiosWs4_2_tooltip": "Vous avez besoin d'au moins un Scénario Opérationnel pour évaluer sa vraisemblance",
"gravityHelpText": "Estimation du niveau et de l’intensité des effets d’un risque",
"likelihoodHelpText": "Estimation de la faisabilité ou de la probabilité qu’un risque se réalise",
"studyAssetHelpText": "Biens primaires (valeur métier) et supports relatifs à l'objet étudié",
"fearedEventHelpText": "Les événements redoutés doivent formuler / traduire les craintes des métiers",
"fearedEventAssetHelpText": "Biens primaires (valeur métier) affectés par l'évènement redouté",
"fearedEventQualificationHelpText": "Catégories d'impacts possibles",
"fearedEventIsSelectedHelpText": "Sélection de l'événement redouté pour l'étude",
"riskOriginHelpText": "Élément, personne, groupe de personnes ou organisation susceptible de générer un risque",
"targetObjectiveHelpText": "Finalité visée par une source de risque, selon ses motivations",
"resourcesHelpText": "Incluant les ressources financières, le niveau de compétences cyber, l’outillage, le temps dont l’attaquant dispose pour réaliser l’attaque, etc.",
"motivationHelpText": "Intérêts, éléments qui poussent la source de risque à atteindre son objectif",
"activityHelpText": "Quel est le niveau d'activité de la source de risque dans le périmètre de l'étude ?",
"pertinenceHelpText": "La pertinence de la source de risque par rapport à l'objectif visé",
"roToIsSelectedHelpText": "Sélection du couple SR/OV pour l'étude",
"roToFearedEventHelpText": "Confronter les événements redoutés les plus graves",
"stakeholderEntityHelpText": "Partie prenante de l'écosystème",
"stakeholderCategoryHelpText": "Relation avec la partie prenante",
"dependencyHelpText": "La relation avec cette partie prenante est-elle vitale pour mon entreprise ?",
"penetrationHelpText": "Dans quelle mesure la partie prenante a-t-elle accès à mes ressources internes ?",
"maturityHelpText": "Quelles sont les capacités de sécurité des parties prenantes ?",
"trustHelpText": "Les intentions ou les intérêts de la partie prenante pourraient-ils être contraires aux miens ?",
"stakeholderIsSelectedHelpText": "Sélection des parties prenantes pour l'étude",
"strategicScenarioHelpText": "Ensembles de chemins d'attaque d'une source de risque vers une cible visée",
"operatingModesDescriptionHelpText": "Description d'une série d'actions élémentaires que la source du risque est susceptible de devoir réaliser pour atteindre son objectif",
"operationalScenarioThreatsHelpText": "Actions élémentaires réalisées par une source de risque sur un bien support critique dans le cadre d'un scénario opérationnel",
"operationalScenarioIsSelectedHelpText": "Sélection du scénario opérationnel pour l'étude",
"attackPathStakeholdersHelpText": "Parties prenantes impactées par le chemin d'attaque",
"attackPathIsSelectedHelpText": "Sélection du chemin d'attaque pour l'étude"
}
Original file line number Diff line number Diff line change
Expand Up @@ -36,9 +36,15 @@
cacheLock={cacheLocks['stakeholders']}
bind:cachedValue={formDataCache['stakeholders']}
label={m.stakeholders()}
helpText={m.attackPathStakeholdersHelpText()}
/>

<Checkbox {form} field="is_selected" label={m.selected()} />
<Checkbox
{form}
field="is_selected"
label={m.selected()}
helpText={m.attackPathIsSelectedHelpText()}
/>
<TextArea
{form}
field="justification"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -145,6 +145,7 @@
})}
field="assets"
label={m.assets()}
helpText={m.studyAssetHelpText()}
/>
</div>
<TextArea
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
export let initialData: Record<string, any> = {};
</script>

<p class="text-sm text-gray-500">{m.fearedEventHelpText()}</p>
<AutocompleteSelect
{form}
options={getOptions({ objects: model.foreignKeys['ebios_rm_study'] })}
Expand All @@ -39,6 +40,7 @@
label={m.gravity()}
cacheLock={cacheLocks['gravity']}
bind:cachedValue={formDataCache['gravity']}
helpText={m.gravityHelpText()}
/>
<TextArea
{form}
Expand All @@ -57,6 +59,7 @@
})}
field="assets"
label={m.assets()}
helpText={m.fearedEventAssetHelpText()}
/>
<AutocompleteSelect
multiple
Expand All @@ -66,5 +69,11 @@
})}
field="qualifications"
label={m.qualifications()}
helpText={m.fearedEventQualificationHelpText()}
/>
<Checkbox
{form}
field="is_selected"
label={m.isSelected()}
helpText={m.fearedEventIsSelectedHelpText()}
/>
<Checkbox {form} field="is_selected" label={m.isSelected()} />
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@
cacheLock={cacheLocks['operating_modes_description']}
bind:cachedValue={formDataCache['operating_modes_description']}
data-focusindex="1"
helpText={m.operatingModesDescriptionHelpText()}
/>
<AutocompleteSelect
{form}
Expand All @@ -71,6 +72,7 @@
cacheLock={cacheLocks['threats']}
bind:cachedValue={formDataCache['threats']}
label={m.threats()}
helpText={m.operationalScenarioThreatsHelpText()}
/>
{#if context !== 'edit'}
<AutocompleteSelect
Expand Down Expand Up @@ -102,6 +104,7 @@
label={m.likelihood()}
cacheLock={cacheLocks['likelihood']}
bind:cachedValue={formDataCache['likelihood']}
helpText={m.likelihoodHelpText()}
/>
<TextArea
{form}
Expand All @@ -111,4 +114,9 @@
bind:cachedValue={formDataCache['justification']}
/>
</div>
<Checkbox {form} field="is_selected" label={m.isSelected()} />
<Checkbox
{form}
field="is_selected"
label={m.isSelected()}
helpText={m.operationalScenarioIsSelectedHelpText()}
/>
13 changes: 12 additions & 1 deletion frontend/src/lib/components/Forms/ModelForm/RoToForm.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -59,13 +59,15 @@
label={m.riskOrigin()}
cacheLock={cacheLocks['risk_origin']}
bind:cachedValue={formDataCache['risk_origin']}
helpText={m.riskOriginHelpText()}
/>
<TextArea
{form}
field="target_objective"
label={m.targetObjective()}
cacheLock={cacheLocks['target_objective']}
bind:cachedValue={formDataCache['target_objective']}
helpText={m.targetObjectiveHelpText()}
/>
</div>
<div
Expand All @@ -87,6 +89,7 @@
label={m.motivation()}
cacheLock={cacheLocks['motivation']}
bind:cachedValue={formDataCache['motivation']}
helpText={m.motivationHelpText()}
/>
<Select
{form}
Expand All @@ -95,6 +98,7 @@
label={m.resources()}
cacheLock={cacheLocks['resources']}
bind:cachedValue={formDataCache['resources']}
helpText={m.resourcesHelpText()}
/>
<Select
{form}
Expand All @@ -103,6 +107,7 @@
label={m.activity()}
cacheLock={cacheLocks['activity']}
bind:cachedValue={formDataCache['activity']}
helpText={m.activityHelpText()}
/>
</div>
<div
Expand All @@ -117,7 +122,12 @@
>
{m.activityThree()}
</p>
<Checkbox {form} field="is_selected" label={m.isSelected()} />
<Checkbox
{form}
field="is_selected"
label={m.isSelected()}
helpText={m.roToIsSelectedHelpText()}
/>
<AutocompleteSelect
multiple
{form}
Expand All @@ -128,6 +138,7 @@
})}
field="feared_events"
label={m.fearedEvents()}
helpText={m.roToFearedEventHelpText()}
/>
<TextArea
{form}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,7 @@
label={m.category()}
cacheLock={cacheLocks['category']}
bind:cachedValue={formDataCache['category']}
helpText={m.stakeholderCategoryHelpText()}
/>
<AutocompleteSelect
{form}
Expand All @@ -104,6 +105,7 @@
bind:cachedValue={formDataCache['entity']}
label={m.entity()}
hidden={initialData.entity}
helpText={m.stakeholderEntityHelpText()}
/>
</span>

Expand All @@ -124,6 +126,7 @@
field="current_dependency"
cacheLock={cacheLocks['current_dependency']}
bind:cachedValue={formDataCache['current_dependency']}
helpText={m.dependencyHelpText()}
/>
<i class="fa-solid fa-times" />
<RadioGroupInput
Expand All @@ -139,6 +142,7 @@
label={m.penetration()}
cacheLock={cacheLocks['current_penetration']}
bind:cachedValue={formDataCache['current_penetration']}
helpText={m.penetrationHelpText()}
/>
</span>

Expand All @@ -157,6 +161,7 @@
label={m.maturity()}
cacheLock={cacheLocks['current_maturity']}
bind:cachedValue={formDataCache['current_maturity']}
helpText={m.maturityHelpText()}
/>
<i class="fa-solid fa-times" />
<RadioGroupInput
Expand All @@ -171,6 +176,7 @@
label={m.trust()}
cacheLock={cacheLocks['current_trust']}
bind:cachedValue={formDataCache['current_trust']}
helpText={m.trustHelpText()}
/></span
>
</div>
Expand All @@ -186,7 +192,12 @@
</div>
</div>
<div class="flex flex-col flex-grow">
<Checkbox {form} field="is_selected" label={m.selected()} />
<Checkbox
{form}
field="is_selected"
label={m.selected()}
helpText={m.stakeholderIsSelectedHelpText()}
/>
<TextArea
{form}
field="justification"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
export let context: string;
</script>

<p class="text-sm text-gray-500">{m.strategicScenarioHelpText()}</p>
{#if context !== 'edit'}
<AutocompleteSelect
{form}
Expand Down

0 comments on commit 24cb967

Please sign in to comment.