Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feat/add ebios help texts #1249

Merged
merged 5 commits into from
Dec 24, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Loading