diff --git a/monkey/monkey_island/cc/services/config_schema/ransomware.py b/monkey/monkey_island/cc/services/config_schema/ransomware.py index 116a6ca70..9c445a833 100644 --- a/monkey/monkey_island/cc/services/config_schema/ransomware.py +++ b/monkey/monkey_island/cc/services/config_schema/ransomware.py @@ -1,6 +1,13 @@ RANSOMWARE = { "title": "Ransomware", "type": "object", + "description": "This page allows you to configure the Infection Monkey to execute a ransomware " + "simulation. The Infection Monkey is capable of simulating a ransomware attack on your network " + "using a set of configurable behaviors. A number of precautions have been taken to ensure that " + "this ransomware simulation is safe for production environments.\n\nFor more information about " + "configuring the ransomware simulation, see " + ' the documentation.', "properties": { "encryption": { "title": "Encryption", diff --git a/monkey/monkey_island/cc/ui/src/components/configuration-components/HtmlFieldDescription.js b/monkey/monkey_island/cc/ui/src/components/configuration-components/HtmlFieldDescription.js new file mode 100644 index 000000000..2d8df9020 --- /dev/null +++ b/monkey/monkey_island/cc/ui/src/components/configuration-components/HtmlFieldDescription.js @@ -0,0 +1,8 @@ +import React from 'react'; + +function HtmlFieldDescription(props) { + var content_obj = {__html: props.description}; + return

; +} + +export default HtmlFieldDescription; diff --git a/monkey/monkey_island/cc/ui/src/components/pages/ConfigurePage.js b/monkey/monkey_island/cc/ui/src/components/pages/ConfigurePage.js index 310555408..a5ea68107 100644 --- a/monkey/monkey_island/cc/ui/src/components/pages/ConfigurePage.js +++ b/monkey/monkey_island/cc/ui/src/components/pages/ConfigurePage.js @@ -17,6 +17,7 @@ import isUnsafeOptionSelected from '../utils/SafeOptionValidator.js'; import ConfigExportModal from '../configuration-components/ExportConfigModal'; import ConfigImportModal from '../configuration-components/ImportConfigModal'; import applyUiSchemaManipulators from '../configuration-components/UISchemaManipulators.tsx'; +import HtmlFieldDescription from '../configuration-components/HtmlFieldDescription.js'; const ATTACK_URL = '/api/attack'; const CONFIG_URL = '/api/configuration/island'; @@ -411,6 +412,7 @@ class ConfigurePageComponent extends AuthComponent { setPbaFilenameLinux: this.setPbaFilenameLinux, selectedSection: this.state.selectedSection }) + formProperties['fields'] = {DescriptionField: HtmlFieldDescription}; formProperties['formData'] = this.state.currentFormData; formProperties['onChange'] = this.onChange; formProperties['customFormats'] = formValidationFormats;